Java小游戏之推箱子游戏
2017-12-04 21:59
501 查看
实现推箱子操作
由于CSDN无法编辑器无法输出可视化符号,使用文字代替符号,需要源码的朋友私信我符号含义:
篮球:需要占的位置国旗:被推的箱子
肌肉:推动箱子走的人物
黑人脸:一堵墙,不可通行
空白格:可以通行
规则:
需要将两个国旗推至第二列的第二、第三个位置上,即可完成任务思路:
需要使用一个二维数组,按照规则将地图打印出来
需要两个变量存储初始位置,并且调用scanner类
使用while循环,循环中需要有每次都打印地图
定义变量接收用户输入的指令
对用户输入的指令进行判断,执行不同的操作
判断是否满足条件,输出结束语句
switch语句判断条件:
在这里假设用户输入的指令是向左移动,其他指令同理
1、肌肉符号已经处于边界,无法移动
2、肌肉符左边是空白格,直接交换位置
3、肌肉符左边是墙,无法行进
4、肌肉符左边是国旗,分为四种情况
国旗的左边是空白格,直接整体向左移动
国旗的左边是墙,无法移动
国旗的左边是篮球,直接整体向左移动
左边是国旗,无法移动
代码实现:
package com.just.test01; import java.util.Scanner; import org.omg.CORBA.PUBLIC_MEMBER; /** * 推箱子游戏 * @author ning * */ public class jjjj { public static void main(String[] args) { String [][] array= { {" 4000 墙","空白格","肌肉","墙"}, {"空白格","国旗","国旗","墙"}, {"空白格","篮球","空白格","空白格"}, {"空白格","空白格","空白格","空白格"} }; int a=0,b=2; //int x=1,y=1; //int i=1,j=2; print(array); Scanner scanner = new Scanner(System.in); while(!(array[1][1].equals("国旗")&&array[2][1].equals("国旗"))) { System.out.println("请输出您要前进的方向"); String move = scanner.nextLine(); switch(move) { case "a": if(array[a][b-1]=="空白格") { array[a][b-1]="肌肉"; array[a][b]="空白格"; b--; }else if(array[a][b-1]=="篮球") { array[a][b-1]="肌肉"; array[a][b]="篮球"; b--; }else if(array[a][b-1]=="墙") { }else if(array[a][b-1]=="国旗"){ //判断$左边是否是边界 //为边界 if((b-1)==0) { } //$左边有# else if(array[a][b-2]=="墙"){ //$左边有0 }else if(array[a][b-2]=="空白格") { array[a][b-2]="国旗"; array[a][b-1]="肌肉"; array[a][b]="空白格"; b--; } else if(array[a][b-2]=="篮球") { array[a][b-2]="国旗"; array[a][b-1]="肌肉"; array[a][b]="空白格"; b--; }else if(b==0) { }else if(array[a][b-2]=="国旗") { } } break; case "w": if(array[a-1][b]=="空白格") { array[a-1][b]="肌肉"; array[a][b]="空白格"; a--; }else if(array[a-1][b]=="篮球") { array[a-1][b]="肌肉"; array[a][b]="篮球"; a--; }else if(array[a-1][b]=="墙") { }else if(array[a-1][b]=="国旗"){ //判断$左边是否是边界 //为边界 if((a-1)==0) { } //$左边有# else if(array[a-2][b]=="墙"){ //$左边有0 }else if(array[a-2][b]=="空白格") { array[a-2][b]="国旗"; array[a-1][b]="肌肉"; array[a][b]="空白格"; a--; } else if(array[a-2][b]=="篮球") { array[a-2][b]="国旗"; array[a-1][b]="肌肉"; array[a][b]="空白格"; a--; }else if(a==0) { }else if(array[a-2][b]=="国旗") { } } break; case "s": if(array[a+1][b]=="空白格") { array[a+1][b]="肌肉"; array[a][b]="空白格"; a++; }else if(array[a+1][b]=="篮球") { array[a+1][b]="肌肉"; array[a][b]="篮球"; a++; }else if(array[a+1][b]=="墙") { }else if(array[a+1][b]=="国旗"){ //判断$左边是否是边界 //为边界 if((a+1)==3) { } //$左边有# else if(array[a+2][b]=="墙"){ //$左边有0 }else if(array[a+2][b]=="空白格") { array[a+2][b]="国旗"; array[a+1][b]="肌肉"; array[a][b]="空白格"; a++; } else if(array[a+2][b]=="篮球") { array[a+2][b]="国旗"; array[a+1][b]="肌肉"; array[a][b]="空白格"; a++; }else if(a==3) { }else if(array[a+2][b]=="国旗") { } } break; case "d": if(array[a][b+1]=="空白格") { array[a][b+1]="肌肉"; array[a][b]="空白格"; b++; }else if(array[a][b+1]=="篮球") { array[a][b+1]="肌肉"; array[a][b]="篮球"; b++; }else if(array[a][b=1]=="墙") { }else if(array[a][b+1]=="国旗"){ //判断$左边是否是边界 //为边界 if((b+1)==3) { } //$左边有# else if(array[a][b+2]=="墙"){ //$左边有0 }else if(array[a][b+2]=="空白格") { array[a][b+2]="国旗"; array[a][b+1]="肌肉"; array[a][b]="空白格"; b++; }else if(array[a][b+2]=="篮球") { array[a][b+2]="国旗"; array[a][b+1]="肌肉"; array[a][b]="空白格"; b++; }else if(b==3) { }else if(array[a][b+2]=="国旗") { } } break; }//switch print(array); if(array[1][1]=="国旗"&&array[2][1]=="国旗") { System.out.println("你赢了"); break; } }//while scanner.close(); }//main public static void print(String [][]array) { for(int x =0;x<array.length;x++) { for(int y =0;y<array[x].length;y++) { System.out.print(array[x][y]+" "); } System.out.println(); } } }
最终结果:
相关文章推荐
- Java小游戏之猜拳游戏
- 【Java】Java实现推箱子的小游戏
- Java swing实现的小游戏推箱子升级版项目源码
- Java版推箱子(搬箱子)游戏开发入门示例及源码
- Java实现的推箱子游戏,带源码下载地址和地图生成程序
- Java游戏程序 - 推箱子
- Java版推箱子(搬箱子)游戏开发入门示例及源码
- JAVA推箱子游戏(一)
- 【Java】Java小游戏之Shoot游戏源码及详解
- Java控制台小游戏------猜拳游戏
- Java版推箱子(搬箱子)游戏开发入门示例及源码
- Java开发小游戏 用键盘控制精灵在游戏中上下左右跑动 窗体小游戏可打包下载,解压后双击start运行
- JAVA开发的一个推箱子游戏原型
- 从无到有的Java小游戏开发练习(一)---推箱子
- java swing实现喜羊羊与灰太狼推箱子游戏
- Java仿贪吃蛇游戏源码之小游戏吃豆豆源码附带文档
- 从无到有的Java小游戏开发练习(一)---推箱子
- Java推箱子游戏 JSoko,授权协议: GPL 开发语言: Java 操作系统: 跨平台
- java推箱子游戏源代码
- [JAVA]制作推箱子游戏