程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> Java控制台版推箱子,java控制台推箱子

Java控制台版推箱子,java控制台推箱子

編輯:JAVA綜合教程

Java控制台版推箱子,java控制台推箱子


  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 }

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved