java二維數(shù)組實(shí)現(xiàn)推箱子小游戲
本文實(shí)例為大家分享了java實(shí)現(xiàn)推箱子小游戲的具體代碼,供大家參考,具體內(nèi)容如下
二維數(shù)組
二維數(shù)組:類似于二維表格(有很多層,每一層有多個(gè)房間的樓房)
數(shù)組聲明:
數(shù)據(jù)類型[][]數(shù)據(jù)名 = new 數(shù)據(jù)類型[行數(shù)][列數(shù)];
獲取二維數(shù)組的長(zhǎng)度:數(shù)組名.lengt 得到的是行數(shù)
數(shù)組名[行下標(biāo)].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]; //隨機(jī)箱子,人和終點(diǎn)位置 0代表沒(méi)有東西,1代表人 2代表箱子 3代表終點(diǎn) int xh = r.nextInt(8)+1;//隨機(jī)箱子坐標(biāo) int xl = r.nextInt(8)+1; dt[xl][xh] = 2; int rh = 8;//確定人的坐標(biāo) int rl = 8; dt[rh][rl] = 1; int zh = r.nextInt(10);//隨機(jī)終點(diǎn)的坐標(biāo) 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();//打印完一行換行 } //如果箱子坐標(biāo)和終點(diǎn)坐標(biāo)重合,提示游戲完成,結(jié)束循環(huán) if (xl==zl&&xh==zh) { System.out.println("恭喜,過(guò)關(guān)"); break; } System.out.println("操作規(guī)則:a代表左移,s代表下移,d代表右移,w代表上移"); System.out.println("請(qǐng)操作"); String c = sc.next(); switch(c){ case "a": if (rl>0) { //如果箱子和人在同一行,并且箱子在人的左側(cè),則可以推動(dòng)箱子 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è),則可以推動(dòng)箱子 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è),則可以推動(dòng)箱子 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è),則可以推動(dòng)箱子 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("你會(huì)玩嗎?請(qǐng)繼續(xù)"); break; } } } }
更多有趣的經(jīng)典小游戲?qū)崿F(xiàn)專題,分享給大家:
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Java二維數(shù)組與稀疏數(shù)組相互轉(zhuǎn)換實(shí)現(xiàn)詳解
- Java二維數(shù)組實(shí)現(xiàn)數(shù)字拼圖效果
- java二維數(shù)組指定不同長(zhǎng)度實(shí)例方法
- Java二維數(shù)組與動(dòng)態(tài)數(shù)組ArrayList類詳解
- Java二維數(shù)組查找功能代碼實(shí)現(xiàn)
- Java二維數(shù)組實(shí)戰(zhàn)案例
- java二維數(shù)組遍歷的2種代碼
- Java二維數(shù)組計(jì)算集合總結(jié)
- Java二維數(shù)組簡(jiǎn)單定義與使用方法示例
- java二維數(shù)組基礎(chǔ)知識(shí)詳解
相關(guān)文章
SpringBoot如何優(yōu)雅的處理校驗(yàn)參數(shù)的方法
這篇文章主要介紹了SpringBoot如何優(yōu)雅的處理校驗(yàn)參數(shù)的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12Java Swing null絕對(duì)布局的實(shí)現(xiàn)示例
這篇文章主要介紹了Java Swing null絕對(duì)布局的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12jpa異常No entity found for query問(wèn)題解決
這篇文章主要為大家介紹了jpa異常之No entity found for query的異常問(wèn)題解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2022-03-03超全MyBatis動(dòng)態(tài)代理詳解(絕對(duì)干貨)
這篇文章主要介紹了超全MyBatis動(dòng)態(tài)代理詳解(絕對(duì)干貨),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02pageHelper一對(duì)多分頁(yè)解決方案示例
這篇文章主要為大家介紹了pageHelper一對(duì)多分頁(yè)解決方案示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04springboot+redis實(shí)現(xiàn)微博熱搜排行榜的示例代碼
本文主要介紹了springboot+redis實(shí)現(xiàn)微博熱搜排行榜的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05Java?-jar參數(shù)詳解之掌握J(rèn)ava可執(zhí)行JAR文件的運(yùn)行技巧
做項(xiàng)目的時(shí)候我們肯定接觸過(guò)很多jar包,下面這篇文章主要給大家介紹了關(guān)于Java?-jar參數(shù)詳解之掌握J(rèn)ava可執(zhí)行JAR文件的運(yùn)行技巧,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-11-11