java二維數(shù)組實現(xiàn)推箱子小游戲
本文實例為大家分享了java實現(xiàn)推箱子小游戲的具體代碼,供大家參考,具體內(nèi)容如下
二維數(shù)組
二維數(shù)組:類似于二維表格(有很多層,每一層有多個房間的樓房)
數(shù)組聲明:數(shù)據(jù)類型[][]數(shù)據(jù)名 = new 數(shù)據(jù)類型[行數(shù)][列數(shù)];獲取二維數(shù)組的長度:數(shù)組名.lengt 得到的是行數(shù)數(shù)組名[行下標].length 得到的是列數(shù)
推箱子小游戲
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();//打印完一行換行 } //如果箱子坐標和終點坐標重合,提示游戲完成,結(jié)束循環(huán) if (xl==zl&&xh==zh) { System.out.println('恭喜,過關(guān)'); break; } System.out.println('操作規(guī)則:a代表左移,s代表下移,d代表右移,w代表上移'); System.out.println('請操作'); String c = sc.next(); switch(c){ case 'a': if (rl>0) { //如果箱子和人在同一行,并且箱子在人的左側(cè),則可以推動箱子 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) { //如果箱子和人在同一行,并且箱子在人的右側(cè),則可以推動箱子 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) { //如果箱子和人在同一列,并且箱子在人的上側(cè),則可以推動箱子 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) { //如果箱子和人在同一列,并且箱子在人的下側(cè),則可以推動箱子 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('你會玩嗎?請繼續(xù)'); break; } } }}
更多有趣的經(jīng)典小游戲?qū)崿F(xiàn)專題,分享給大家:
C++經(jīng)典小游戲匯總
python經(jīng)典小游戲匯總
python俄羅斯方塊游戲集合
JavaScript經(jīng)典游戲 玩不停
java經(jīng)典小游戲匯總
javascript經(jīng)典小游戲匯總
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. html中的form不提交(排除)某些input 原創(chuàng)2. ASP動態(tài)網(wǎng)頁制作技術(shù)經(jīng)驗分享3. vue使用moment如何將時間戳轉(zhuǎn)為標準日期時間格式4. jsp文件下載功能實現(xiàn)代碼5. 開發(fā)效率翻倍的Web API使用技巧6. ASP常用日期格式化函數(shù) FormatDate()7. js select支持手動輸入功能實現(xiàn)代碼8. CSS3中Transition屬性詳解以及示例分享9. asp.net core項目授權(quán)流程詳解10. CSS3實現(xiàn)動態(tài)翻牌效果 仿百度貼吧3D翻牌一次動畫特效
