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

來源:互聯網
上載者:User

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 }

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.