java二维数组实现推箱子小游戏
#代码知识 发布时间: 2026-01-12
本文实例为大家分享了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;
}
}
}
}
更多有趣的经典小游戏实现专题,分享给大家:
C++经典小游戏汇总
python经典小游戏汇总
python俄罗斯方块游戏集合
JavaScript经典游戏 玩不停
java经典小游戏汇总
javascript经典小游戏汇总
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
代码知识SEO上一篇 : Python 列表反转显示的四种方法
下一篇 : angular8.5集成TinyMce5的使用和详细配置(推荐)
-
SEO外包最佳选择国内专业的白帽SEO机构,熟知搜索算法,各行业企业站优化策略!
SEO公司
-
可定制SEO优化套餐基于整站优化与品牌搜索展现,定制个性化营销推广方案!
SEO套餐
-
SEO入门教程多年积累SEO实战案例,从新手到专家,从入门到精通,海量的SEO学习资料!
SEO教程
-
SEO项目资源高质量SEO项目资源,稀缺性外链,优质文案代写,老域名提权,云主机相关配置折扣!
SEO资源
-
SEO快速建站快速搭建符合搜索引擎友好的企业网站,协助备案,域名选择,服务器配置等相关服务!
SEO建站
-
快速搜索引擎优化建议没有任何SEO机构,可以承诺搜索引擎排名的具体位置,如果有,那么请您多注意!专业的SEO机构,一般情况下只能确保目标关键词进入到首页或者前几页,如果您有相关问题,欢迎咨询!