news 2026/9/11 13:53:06

手机端AIDE编译器安卓版3×3数字拼图游戏代码

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
手机端AIDE编译器安卓版3×3数字拼图游戏代码

java代码

packagecom.szpt.app;/* 手机编程王APP & AIDE编译器联合出品 官方微信2133688724 微信公众号:手机编程APP 官网:www.shoujibiancheng.com */importandroid.os.Bundle;importandroid.view.View;importandroid.widget.Button;importandroid.widget.GridLayout;importandroid.widget.TextView;importandroidx.appcompat.app.AppCompatActivity;importjava.util.ArrayList;importjava.util.Collections;importjava.util.List;publicclassMainActivityextendsAppCompatActivityimplementsView.OnClickListener{privateGridLayoutgridLayout;privateTextViewtvStatus;privateButtonbtnReset;privatefinalintSIZE=3;privateButton[][]buttons=newButton[SIZE][SIZE];privateintemptyX=2,emptyY=2;privateint[]nums={1,2,3,4,5,6,7,8,0};@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);gridLayout=findViewById(R.id.grid_layout);tvStatus=findViewById(R.id.tv_status);btnReset=findViewById(R.id.btn_reset);initGrid();btnReset.setOnClickListener(v->resetGame());}privatevoidinitGrid(){gridLayout.removeAllViews();for(inti=0;i<SIZE;i++){for(intj=0;j<SIZE;j++){Buttonbtn=newButton(this);btn.setText(nums[i*SIZE+j]==0?"":String.valueOf(nums[i*SIZE+j]));btn.setTextSize(28);btn.setPadding(0,0,0,0);btn.setOnClickListener(this);buttons[i][j]=btn;GridLayout.LayoutParamsparams=newGridLayout.LayoutParams();params.width=100;params.height=100;params.setMargins(2,2,2,2);gridLayout.addView(btn,params);}}}privatevoidresetGame(){List<Integer>numList=newArrayList<>();for(intnum:nums)numList.add(num);do{Collections.shuffle(numList);for(inti=0;i<numList.size();i++){nums[i]=numList.get(i);if(nums[i]==0){emptyX=i/SIZE;emptyY=i%SIZE;}}}while(!isSolvable());updateGrid();tvStatus.setText("3×3 数字拼图");}privatevoidupdateGrid(){for(inti=0;i<SIZE;i++){for(intj=0;j<SIZE;j++){intnum=nums[i*SIZE+j];buttons[i][j].setText(num==0?"":String.valueOf(num));}}}privatebooleanisSolvable(){intinversion=0;for(inti=0;i<nums.length-1;i++){for(intj=i+1;j<nums.length;j++){if(nums[i]!=0&&nums[j]!=0&&nums[i]>nums[j]){inversion++;}}}returninversion%2==0;}@OverridepublicvoidonClick(Viewv){for(inti=0;i<SIZE;i++){for(intj=0;j<SIZE;j++){if(v==buttons[i][j]){if((Math.abs(i-emptyX)==1&&j==emptyY)||(Math.abs(j-emptyY)==1&&i==emptyX)){inttemp=nums[i*SIZE+j];nums[i*SIZE+j]=nums[emptyX*SIZE+emptyY];nums[emptyX*SIZE+emptyY]=temp;emptyX=i;emptyY=j;updateGrid();checkWin();}return;}}}}privatevoidcheckWin(){booleanisWin=true;for(inti=0;i<nums.length-1;i++){if(nums[i]!=i+1){isWin=false;break;}}if(isWin){tvStatus.setText("恭喜!拼图完成!");}}}activity_main.xml代码<?xml version="1.0"encoding="utf-8"?><LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:gravity="center"android:orientation="vertical"android:background="#f5f5f5"><TextViewandroid:id="@+id/tv_status"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="3×3 数字拼图"android:textSize="24sp"android:layout_marginBottom="20dp"/><GridLayoutandroid:id="@+id/grid_layout"android:layout_width="300dp"android:layout_height="300dp"android:columnCount="3"android:rowCount="3"></GridLayout><Buttonandroid:id="@+id/btn_reset"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="重新开始"android:layout_marginTop="20dp"android:textSize="18sp"/></LinearLayout>

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/10 16:43:33

ArcGIS大师之路500技---034重采样算法选择

文章目录前言1. 最邻近分配法&#xff08;Nearest Neighbor Assignment&#xff09;2. 双线性插值法&#xff08;Bilinear Interpolation&#xff09;3. 三次卷积插值法&#xff08;Cubic Convolution Interpolation&#xff09;4. 众数重采样法&#xff08;Mode Resampling / …

作者头像 李华
网站建设 2026/9/10 10:24:47

ArcGIS大师之路500技---035拉伸类型详解

文章目录前言1. 无&#xff08;无拉伸&#xff09;2. 自定义拉伸3. 标准差拉伸4. 直方图均衡化5. 最值拉伸&#xff08;最小-最大拉伸&#xff09;6. 直方图规定化&#xff08;匹配&#xff09;7. 百分比截断拉伸8. Esri&#xff08;ESRI风格拉伸&#xff09;总结前言 在遥感影…

作者头像 李华
网站建设 2026/9/10 4:26:15

《c++小程序编写系列》(第一部)c++前言及有关知识

一、前言&#xff1a;为什么从 “小程序” 开始学 C&#xff1f; C 是一门兼顾性能与灵活性的编程语言&#xff0c;广泛应用于游戏开发、系统编程、嵌入式等领域&#xff0c;但它的语法规则相对严谨&#xff0c;直接学习复杂项目容易产生挫败感。而小程序编写&#xff08;指功…

作者头像 李华
网站建设 2026/9/10 21:43:30

python-flask-django光雾山景区购物商城系统 小程序的设计与实现_2103p0gh

文章目录 系统截图项目技术简介可行性分析主要运用技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01; 系统截图 python-flask-django小程序的设计与实现_2103pgh 光雾山景区购物商城系统 项目技术简介 Py…

作者头像 李华
网站建设 2026/9/11 6:57:40

python-flask-django海盾公司项目需求采购管理系统的设计与实现_vnrzk3s6

文章目录系统截图项目技术简介可行性分析主要运用技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 &#xff1a;文章底部获取博主联系方式&#xff01;系统截图 python-flask-django_vnrzks6 海盾公司项目需求采购管理系统的设计与实现 项目技术简介 Pyth…

作者头像 李华