java二维数组实现推箱子小游戏
更新时间:2020年11月16日 10:57:21 作者:weixin_44752188
这篇文章主要为大家详细介绍了java二维数组实现推箱子小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文实例为大家分享了java实现推箱子小游戏的具体代码,供大家参考,具体内容如下
二维数组
二维数组:类似于二维表格(有很多层,每一层有多个房间的楼房)
数组声明:
数据类型[][]数据名 = new 数据类型[行数][列数];
获取二维数组的长度:数组名.lengt 得到的是行数
数组名[行下标].length 得到的是列数
推箱子小游戏
import java.util.Random; import java.util.Scanner; /* * 推箱子的小游戏 */ public class Test02 { public static void main(String[] args) { Random r = new Random(); Scanner sc = new Scanner(System.in); int[][]dt = new int[10][10]; //随机箱子,人和终点位置 0代表没有东西,1代表人 2代表箱子 3代表终点 int xh = r.nextInt(8)+1;//随机箱子坐标 int xl = r.nextInt(8)+1; dt[xl][xh] = 2; int rh = 8;//确定人的坐标 int rl = 8; dt[rh][rl] = 1; int zh = r.nextInt(10);//随机终点的坐标 int zl = r.nextInt(10); dt[zh][zl] = 3; //画地图 while (true) { for (int i = 0; i < dt.length; i++) { for (int j = 0; j < dt.length; j++) { if (dt[i][j]==1) { System.out.print("╋"); }else if (dt[i][j]==2) { System.out.print("■"); }else if (dt[i][j]==3) { System.out.print("▲"); }else{ System.out.print("◻"); } } System.out.println();//打印完一行换行 } //如果箱子坐标和终点坐标重合,提示游戏完成,结束循环 if (xl==zl&&xh==zh) { System.out.println("恭喜,过关"); break; } System.out.println("操作规则:a代表左移,s代表下移,d代表右移,w代表上移"); System.out.println("请操作"); String c = sc.next(); switch(c){ case "a": if (rl>0) { //如果箱子和人在同一行,并且箱子在人的左侧,则可以推动箱子 if (rh==xh&&rl==xl+1) { if (xl>0) {//箱子和人相邻 xl--; dt[xh][xl] = 2; dt[rh][rl] = 0; rl--; dt[rh][rl] = 1; } }else{//箱子和人不相邻 dt[rh][rl]=0; rl--; dt[rh][rl]=1; } } break; case "d": if (rl<9) { //如果箱子和人在同一行,并且箱子在人的右侧,则可以推动箱子 if (rh==xh&&rl==xl-1) { if (xl<9) { xl++; dt[xh][xl] = 2; dt[rh][rl] = 0; rl++; dt[rh][rl] = 1; } }else{ dt[rh][rl]=0; rl++; dt[rh][rl]=1; } } break; case "w": if (rh>0) { //如果箱子和人在同一列,并且箱子在人的上侧,则可以推动箱子 if (rl==xl&&rh==xh+1) { if(xh>0){ xh--; dt[xh][xl] = 2; dt[rh][rl] = 0; rh--; dt[rh][rl] = 1; } }else{ dt[rh][rl]=0; rh--; dt[rh][rl]=1; } } break; case "s": if (rh<9) { //如果箱子和人在同一列,并且箱子在人的下侧,则可以推动箱子 if (rl==xl&&rh==xh-1) { if(xh>0){ xh++; dt[xh][xl] = 2; dt[rh][rl] = 0; rh++; dt[rh][rl] = 1; } }else{ dt[rh][rl]=0; rh++; dt[rh][rl]=1; } } break; default: System.out.println("你会玩吗?请继续"); break; } } } }
更多有趣的经典小游戏实现专题,分享给大家:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
jpa异常No entity found for query问题解决
这篇文章主要为大家介绍了jpa异常之No entity found for query的异常问题解决,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步2022-03-03springboot+redis实现微博热搜排行榜的示例代码
本文主要介绍了springboot+redis实现微博热搜排行榜的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2022-05-05Java -jar参数详解之掌握Java可执行JAR文件的运行技巧
做项目的时候我们肯定接触过很多jar包,下面这篇文章主要给大家介绍了关于Java -jar参数详解之掌握Java可执行JAR文件的运行技巧,文中通过代码介绍的非常详细,需要的朋友可以参考下2023-11-11
最新评论