欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java二維數(shù)組實(shí)現(xiàn)推箱子小游戲

 更新時(shí)間:2020年11月16日 10:57:21   作者:weixin_44752188  
這篇文章主要為大家詳細(xì)介紹了java二維數(shù)組實(shí)現(xiàn)推箱子小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(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)專題,分享給大家:

C++經(jīng)典小游戲匯總

python經(jīng)典小游戲匯總

python俄羅斯方塊游戲集合

JavaScript經(jīng)典游戲 玩不停

java經(jīng)典小游戲匯總

javascript經(jīng)典小游戲匯總

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • SpringBoot如何優(yōu)雅的處理校驗(yàn)參數(shù)的方法

    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-12
  • Java Swing null絕對(duì)布局的實(shí)現(xiàn)示例

    Java 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-12
  • Java equals()方法使用詳解及總結(jié)

    Java equals()方法使用詳解及總結(jié)

    這篇文章主要介紹了Java equals()方法使用詳解及總結(jié)的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • 一文帶你全面了解Java?Properties類

    一文帶你全面了解Java?Properties類

    Properties是JDK1.0中引入的java類,目前也在項(xiàng)目中大量使用,主要用來(lái)讀取外部的配置,那除了這個(gè),你對(duì)它其他的一些api也了解嗎??你了解它是怎么實(shí)現(xiàn)的嗎??如果不清楚的話,就通過(guò)本篇文章帶你一探究竟
    2022-09-09
  • jpa異常No entity found for query問(wèn)題解決

    jpa異常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ì)干貨)

    這篇文章主要介紹了超全MyBatis動(dòng)態(tài)代理詳解(絕對(duì)干貨),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • pageHelper一對(duì)多分頁(yè)解決方案示例

    pageHelper一對(duì)多分頁(yè)解決方案示例

    這篇文章主要為大家介紹了pageHelper一對(duì)多分頁(yè)解決方案示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • springboot+redis實(shí)現(xiàn)微博熱搜排行榜的示例代碼

    springboot+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-05
  • Java?-jar參數(shù)詳解之掌握J(rèn)ava可執(zhí)行JAR文件的運(yùn)行技巧

    Java?-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
  • maven?傳遞依賴的實(shí)現(xiàn)

    maven?傳遞依賴的實(shí)現(xiàn)

    本文主要介紹了Maven中傳遞依賴的處理方式,如scope=compile影響依賴傳遞,使用排除不需要的依賴,以及如何通過(guò)查看依賴樹解決運(yùn)行時(shí)錯(cuò)誤,特別是在依賴排除后可能導(dǎo)致的運(yùn)行時(shí)缺少必需包的問(wèn)題,感興趣的可以了解一下
    2024-10-10

最新評(píng)論