news 2026/6/10 10:47:46

手机端AIDE编译器安卓推箱子游戏代码

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
手机端AIDE编译器安卓推箱子游戏代码

java代码

packagecom.example.boxpush;importandroid.app.Activity;importandroid.os.Bundle;importandroid.view.Window;importandroid.view.WindowManager;publicclassMainActivityextendsActivity{@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);// 隐藏标题栏和状态栏,全屏显示游戏requestWindowFeature(Window.FEATURE_NO_TITLE);getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);// 直接创建GameView并设置为界面,无需布局文件GameViewgameView=newGameView(this);setContentView(gameView);}}GameView.java代码packagecom.example.boxpush;importandroid.content.Context;importandroid.graphics.Canvas;importandroid.graphics.Paint;importandroid.graphics.Rect;importandroid.view.MotionEvent;importandroid.view.View;publicclassGameViewextendsView{// 游戏元素:0=空地,1=墙,2=箱子,3=目标点,4=玩家privateint[][]map={{1,1,1,1,1},{1,3,2,0,1},{1,0,0,4,1},{1,0,2,3,1},{1,1,1,1,1}};privateint[][]originalMap;// 保存初始地图,用于重新开始privateintplayerX=3,playerY=2;privateintcellSize;privatePaintpaint;privatebooleanisWin=false;// 重新开始按钮privateRectrestartBtn;privatefinalintbtnW=300,btnH=100;publicGameView(Contextcontext){super(context);paint=newPaint();paint.setAntiAlias(true);paint.setTextAlign(Paint.Align.CENTER);originalMap=copyMap(map);// 保存初始地图}// 复制地图数组(用于重新开始)privateint[][]copyMap(int[][]src){int[][]dst=newint[src.length][src[0].length];for(inty=0;y<src.length;y++){System.arraycopy(src[y],0,dst[y],0,src[y].length);}returndst;}@OverrideprotectedvoidonSizeChanged(intw,inth,intoldw,intoldh){super.onSizeChanged(w,h,oldw,oldh);cellSize=Math.max(Math.min(w/5,h/5),60);// 按钮位置:屏幕底部中间restartBtn=newRect(w/2-btnW/2,h-btnH-50,w/2+btnW/2,h-50);}@OverrideprotectedvoidonDraw(Canvascanvas){super.onDraw(canvas);// 黑色背景paint.setColor(getResources().getColor(R.color.black));canvas.drawRect(0,0,getWidth(),getHeight(),paint);// 绘制游戏元素intoffsetX=(getWidth()-cellSize*5)/2;intoffsetY=(getHeight()-cellSize*5)/2;for(inty=0;y<5;y++){for(intx=0;x<5;x++){intl=offsetX+x*cellSize;intt=offsetY+y*cellSize;intr=l+cellSize;intb=t+cellSize;intcx=(l+r)/2,cy=(t+b)/2;switch(map[y][x]){case1:paint.setColor(getResources().getColor(R.color.wall));canvas.drawRect(l,t,r,b,paint);break;case2:paint.setColor(getResources().getColor(R.color.box));canvas.drawCircle(cx,cy,cellSize*4/9,paint);break;case3:paint.setColor(getResources().getColor(R.color.target));canvas.drawCircle(cx,cy,cellSize/5,paint);break;case4:paint.setColor(getResources().getColor(R.color.player));canvas.drawCircle(cx,cy,cellSize*4/9,paint);break;}}}// 通关提示+按钮(强制绘制,优先级最高)if(isWin){// 半透明遮罩paint.setColor(0x99000000);canvas.drawRect(0,0,getWidth(),getHeight(),paint);// 恭喜通关文字paint.setColor(getResources().getColor(R.color.white));paint.setTextSize(100);canvas.drawText("恭喜通关!",getWidth()/2f,getHeight()/2f-50,paint);// 重新开始按钮paint.setColor(getResources().getColor(R.color.box));canvas.drawRoundRect(restartBtn.left,restartBtn.top,restartBtn.right,restartBtn.bottom,20,20,paint);paint.setTextSize(40);paint.setColor(getResources().getColor(R.color.white));canvas.drawText("重新开始",restartBtn.centerX(),restartBtn.centerY()+15,paint);}}@OverridepublicbooleanonTouchEvent(MotionEvente){if(e.getAction()==MotionEvent.ACTION_UP){floatx=e.getX(),y=e.getY();if(isWin){// 点击重新开始按钮if(restartBtn.contains((int)x,(int)y)){map=copyMap(originalMap);playerX=3;playerY=2;isWin=false;invalidate();}returntrue;}// 玩家移动逻辑floatcx=getWidth()/2f,cy=getHeight()/2f;if(Math.abs(x-cx)>Math.abs(y-cy)){move(x>cx?1:-1,0);}else{move(0,y>cy?1:-1);}invalidate();checkWin();// 每次移动后检测通关}returntrue;}privatevoidmove(intdx,intdy){intnx=playerX+dx,ny=playerY+dy;if(nx<0||nx>=5||ny<0||ny>=5||map[ny][nx]==1)return;if(map[ny][nx]==2){intbx=nx+dx,by=ny+dy;if(bx<0||bx>=5||by<0||by>=5||map[by][bx]!=0&&map[by][bx]!=3)return;map[ny][nx]=0;map[by][bx]=2;}map[playerY][playerX]=0;playerX=nx;playerY=ny;map[playerY][playerX]=4;}// 简单通关判定:所有箱子都在目标点上privatevoidcheckWin(){booleanwin=true;for(inty=0;y<5;y++){for(intx=0;x<5;x++){if(map[y][x]==2&&originalMap[y][x]!=3){win=false;break;}}}isWin=win;}}activity_main.xml代码<?xml version="1.0"encoding="utf-8"?><FrameLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:background="@color/black"><com.example.boxpush.GameViewandroid:layout_width="match_parent"android:layout_height="match_parent"/></FrameLayout>color.xml代码<?xml version="1.0"encoding="utf-8"?><resources><color name="black">#FF000000</color><color name="white">#FFFFFFFF</color><color name="wall">#FF7B7B7B</color><color name="box">#FFFFA500</color><color name="target">#FF00FF00</color><color name="player">#FFFF0000</color><color name="purple_200">#FFBB86FC</color><color name="purple_500">#FF6200EE</color><color name="purple_700">#FF3700B3</color><color name="teal_200">#FF03DAC5</color><color name="teal_700">#FF018786</color><!--仅保留这一行teal_700--></resources>AndroidManifest.xml代码<?xml version="1.0"encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.example.boxpush"><application android:label="推箱子"><!--移除android:icon="@drawable/ic_launcher"--><activity android:name=".MainActivity"android:label="推箱子"><intent-filter><action android:name="android.intent.action.MAIN"/><category android:name="android.intent.category.LAUNCHER"/></intent-filter></activity></application></manifest>

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

扩散Transformer架构深度解析:三大模型性能对比与技术演进路径

扩散Transformer架构深度解析&#xff1a;三大模型性能对比与技术演进路径 【免费下载链接】minisora 项目地址: https://gitcode.com/GitHub_Trending/mi/minisora 在AI图像生成技术快速发展的浪潮中&#xff0c;扩散Transformer架构凭借其强大的生成能力和灵活的设计…

作者头像 李华
网站建设 2026/6/10 14:09:34

Kotaemon罕见病查询:孤勇者的希望之光

请提供符合以下技术领域的博文内容&#xff1a; 涉及特定芯片&#xff08;如STM32、TPS543x、PCM5102&#xff09; 包含协议标准&#xff08;如IS、SPI、CAN、USB Audio&#xff09; 聚焦电源设计&#xff08;如Buck/Boost转换器、LDO选型&#xff09; 关联音频硬件&#x…

作者头像 李华
网站建设 2026/6/10 14:12:12

零基础玩转I2S:用快马制作你的第一个数字音频项目

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 设计一个入门级I2S音频实验项目&#xff0c;使用Raspberry Pi Pico开发板。要求&#xff1a;1) 通过按钮控制音频录制/播放 2) LED显示工作状态 3) 保存音频到SD卡 4) 提供完整接线…

作者头像 李华
网站建设 2026/6/10 4:20:24

基于深度学习的穿戴识别系统设计与实现

基于深度学习的穿戴识别系统设计与实现 1. 项目概述 本系统是一个基于深度学习&#xff08;YOLOv8&#xff09;与 Web 技术&#xff08;Django Vue3&#xff09;相结合的智能安全检测平台。本项目旨在解决工业现场及特定场所的安全规范管理问题&#xff0c;以帽子&#xff08;…

作者头像 李华
网站建设 2026/6/9 19:06:13

FaceFusion批量处理上万张图片的工程化实践

FaceFusion批量处理上万张图片的工程化实践 在影视修复项目中&#xff0c;团队曾面临一项棘手任务&#xff1a;将一位已故演员的脸部特征逐帧迁移到老电影的高清扫描版中&#xff0c;共涉及2.7万帧图像。原始方案使用单机脚本逐张处理&#xff0c;预估耗时超过80小时——这还只…

作者头像 李华
网站建设 2026/6/10 15:57:37

使用Kotaemon构建垂直领域Chatbot的五大步骤

使用Kotaemon构建垂直领域Chatbot的五大步骤 在企业服务智能化浪潮中&#xff0c;一个共性的挑战浮现&#xff1a;如何让AI真正“懂业务”&#xff1f;通用大模型虽然能对答如流&#xff0c;但在医疗问诊、保险理赔或法律咨询这类专业场景下&#xff0c;常常因缺乏上下文理解与…

作者头像 李华