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;
 
 }
 }
 }
}

更多有趣的经典小游戏实现专题,分享给大家:

C++经典小游戏汇总

python经典小游戏汇总

python俄罗斯方块游戏集合

JavaScript经典游戏 玩不停

java经典小游戏汇总

javascript经典小游戏汇总

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 关于Java中你所不知道的Integer详解

    关于Java中你所不知道的Integer详解

    这篇文章主要给大家介绍了关于Java中你所不知道的一些关于Integer的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-12-12
  • Java异步编程工具Twitter Future详解

    Java异步编程工具Twitter Future详解

    这篇文章主要介绍了Java异步编程工具Twitter Future详解,包括基本用法示例代码,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • java线程池参数位置导致的夺命故障宿主机打不开

    java线程池参数位置导致的夺命故障宿主机打不开

    这篇文章主要为大家介绍了java线程池参数位置导致的夺命故障宿主机打不开的问题解决,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • java生成xml格式文件的方法

    java生成xml格式文件的方法

    这篇文章主要介绍了java生成xml格式文件的方法,涉及java节点遍历与属性操作的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2016-07-07
  • Java中Map的九种遍历方式总结

    Java中Map的九种遍历方式总结

    日常工作中 Map 绝对是我们 Java 程序员高频使用的一种数据结构,那 Map 都有哪些遍历方式呢?这篇文章就带大家看一下,看看你经常使用的是哪一种
    2022-11-11
  • Java自定义映射resultMap定义及用法

    Java自定义映射resultMap定义及用法

    MyBatis的每一个查询映射的返回类型都是ResultMap,当我们提供返回类型属性是resultType时,MyBatis会自动给我们把对应值赋给resultType所指定对象的属性,当我们提供返回类型是resultMap时,将数据库中列数据复制到对象的相应属性上,可以用于复制查询,两者不能同时用
    2022-11-11
  • java的时间类汇总(齐全)

    java的时间类汇总(齐全)

    这篇文章主要介绍了java的时间类汇总(齐全),文章围绕主题展开详细的内容介绍,具有一定的参考价值,感兴趣的小伙伴可以参考一下
    2022-09-09
  • javaWeb 四大域对象详细介绍

    javaWeb 四大域对象详细介绍

    这篇文章主要介绍了javaWeb 四大域对象详细介绍的相关资料,需要的朋友可以参考下
    2016-11-11
  • springcloud LogBack日志使用详解

    springcloud LogBack日志使用详解

    这篇文章主要介绍了springcloud LogBack日志使用,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10
  • Spring Boot整合QueryDSL的实现示例

    Spring Boot整合QueryDSL的实现示例

    这篇文章主要介绍了Spring Boot整合QueryDSL的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09

最新评论