码迷,mamicode.com
首页 > 编程语言 > 详细

Java控制台版推箱子

时间:2016-08-23 01:12:43      阅读:211      评论:0      收藏:0      [点我收藏+]

标签:

  1 import java.util.Scanner;
  2 public class b {
  3 
  4     public static void main(String[] args) {
  5         Scanner input = new Scanner(System.in);
  6         int[][] map = new int[15][15]; //地图
  7         int rx = 1;
  8         int ry = 2;//人的坐标
  9         int xx = 13;
 10         int xy = 12;//箱子的坐标
 11         int mx = 10;
 12         int my = 3;//目的地坐标
 13         
 14         map[rx][ry] = 1; // 设置人的坐标位置为1
 15         map[xx][xy] = 2; // 设置箱子的坐标位置为2
 16         map[mx][my] = 3; // 设置目的地的坐标位置为3
 17         boolean tt = false;
 18         
 19         while(true){
 20             for(int i=0;i<15;i++){ 
 21                 for(int j=0;j<15;j++){
 22                     if(map[i][j] == 1){
 23                         System.out.print("囚"); // 人物
 24                     }else if(map[i][j] == 2){
 25                         System.out.print("▲"); // 箱子
 26                     }else if(map[i][j] == 3){
 27                         System.out.print("★"); // 目的地
 28                     }else{
 29                         System.out.print("□"); // 地图
 30                     }
 31                 }
 32                 System.out.println(); // 换行
 33             }
 34             if(tt){ // 判断
 35                 System.out.print("成功将箱子推到终点!");
 36                 break; // 跳出循环
 37             }
 38             System.out.print("要往哪走(w上,s下,a左,d右):"); // 用户输入
 39             String f = input.next(); // 只接收一个字符
 40             
 41             if(f.equals("w")){ // 42                 // 判断人是否走到边上
 43                 if(rx-1<0){
 44                     continue;
 45                 }
 46                 // 判断人是否推着箱子
 47                 if(map[rx-1][ry]==2){
 48                     //判断箱子是否在边上
 49                     if(rx-2<0){
 50                         continue;
 51                     }
 52                     // 判断箱子是否进入目的地
 53                     if(map[rx-2][ry] == 3){
 54                         tt=true;
 55                     }
 56                     // 箱子走一步
 57                     map[rx-2][ry]=2;
 58                 }
 59                 // 判断人是否走到目的地里
 60                 if(map[rx-1][ry]==3){
 61                     map[rx][ry]=0;
 62                     rx--;
 63                     continue;
 64                 }else if(map[rx][ry]==3){// 判断人是否走出目的地
 65                     map[rx][ry]=3;
 66                     rx--;
 67                     map[rx][ry]=1;
 68                     continue;
 69                 }
 70                 map[rx][ry]=0;
 71                 rx--;
 72                 map[rx][ry]=1;
 73                 
 74             }else if(f.equals("s")){ // 75                 // 判断人是否走到边上
 76                 if(rx+1>14){
 77                     continue;
 78                 }
 79                 // 判断人是否推着箱子
 80                 if(map[rx+1][ry]==2){
 81                     //判断箱子是否在边上
 82                     if(rx+2>14){
 83                         continue;
 84                     }
 85                     // 判断箱子是否进入目的地
 86                     if(map[rx+2][ry] == 3){
 87                         tt=true;
 88                     }
 89                     // 箱子走一步
 90                     map[rx+2][ry]=2;
 91                 }
 92                 // 判断人是否走到目的地里
 93                 if(map[rx+1][ry]==3){
 94                     map[rx][ry]=0;
 95                     rx++;
 96                     continue;
 97                 }else if(map[rx][ry]==3){// 判断人是否走出目的地
 98                     map[rx][ry]=3;
 99                     rx++;
100                     map[rx][ry]=1;
101                     continue;
102                 }
103                 map[rx][ry]=0;
104                 rx++;
105                 map[rx][ry]=1;
106                 
107             }else if(f.equals("a")){ //108                 // 判断人是否走到边上
109                 if(ry-1<0){
110                     continue;
111                 }
112                 // 判断人是否推着箱子
113                 if(map[rx][ry-1]==2){
114                     //判断箱子是否在边上
115                     if(ry-2<0){
116                         continue;
117                     }
118                     // 判断箱子是否进入目的地
119                     if(map[rx][ry-2] == 3){
120                         tt=true;
121                     }
122                     // 箱子走一步
123                     map[rx][ry-2]=2;
124                 }
125                 // 判断人是否走到目的地里
126                 if(map[rx][ry-1]==3){
127                     map[rx][ry]=0;
128                     ry--;
129                     continue;
130                 }else if(map[rx][ry]==3){// 判断人是否走出目的地
131                     map[rx][ry]=3;
132                     ry--;
133                     map[rx][ry]=1;
134                     continue;
135                 }
136                 map[rx][ry]=0;
137                 ry--;
138                 map[rx][ry]=1;
139             }else if(f.equals("d")){ //140                 // 判断人是否走到边上
141                 if(ry+1>14){
142                     continue;
143                 }
144                 // 判断人是否推着箱子
145                 if(map[rx][ry+1]==2){
146                     //判断箱子是否在边上
147                     if(ry+2>14){
148                         continue;
149                     }
150                     // 判断箱子是否进入目的地
151                     if(map[rx][ry+2] == 3){
152                         tt=true;
153                     }
154                     // 箱子走一步
155                     map[rx][ry+2]=2;
156                 }
157                 // 判断人是否走到目的地里
158                 if(map[rx][ry+1]==3){
159                     map[rx][ry]=0;
160                     ry++;
161                     continue;
162                 }else if(map[rx][ry]==3){// 判断人是否走出目的地
163                     map[rx][ry]=3;
164                     ry++;
165                     map[rx][ry]=1;
166                     continue;
167                 }
168                 map[rx][ry]=0;
169                 ry++;
170                 map[rx][ry]=1;
171             }
172 
173         }
174     }
175 }

 

Java控制台版推箱子

标签:

原文地址:http://www.cnblogs.com/deemo/p/5797571.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!