簡易版“推箱子”遊戲
簡易版“推箱子”遊戲
此專案適合java初學者練習,需要用到二維陣列,迴圈語句,判斷語句等。
package game;
import java.util.Random;
import java.util.Scanner;
public class txz {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
Random r = new Random();
//定義一個二維陣列表示地圖:十行十列
int [][]a=new int[10][10];
//箱子的隨機座標,箱子初始化不能在邊緣。
int xh=r.nextInt(8)+1;
int xl=r.nextInt(8)+1;
//人的隨機座標
int rh=r.nextInt(10);
int rl=r.nextInt(10);
// 終點的隨機座標
int zh=r.nextInt(10);
int zl=r.nextInt(10);
// 用一個數字代表:箱子:3 人:1 終點:2
a[xh][xl]=3;
a[rh][rl]=1;
a[zh][zl]=2;
//迴圈次數不確定用while迴圈
while(true) {
//保證人走過終點後,終點還在
a[zh][zl]=2;
//將定義好的‘地圖’列印出來
//箱子:■ 人:▲ 終點:●
for(int i=0;i<a.length;i++) {
for(int j=0;j<a[i].length;j++) {
switch(a[i][j]){
case 3://要推動的箱子
System.out.print("■");
break;
case 1://人
System.out.print("▲");
break;
case 2://終點
System.out.print("●");
break;
default://空白
System.out.print("□");
}
}
System.out.println();
}
/*當終點的橫座標和縱座標等於箱子的橫座標和縱座標時
,成功將箱子推向終點,迴圈結束*/
if(xh==zh&&xl==zl) {
System.out.println("恭喜你成功把箱子推到終點");
break;
}
System.out.println("輸入w、s、a、d分別代表人向上、下、左、右移動");
//接收使用者操作資訊
String s=sc.next();
switch(s) {
case "w":
if(rh>0) {//人的橫座標大於0才能向上移動
//遇到箱子是
if(rl==xl&&rh==xh+1) {//人在箱子下方時,才可以向上推箱子
if(xh>0) {
xh--;//箱子上移
a[xh][xl]=3;//箱子圖形也跟著上移
a[rh][rl]=0;//人原來的座標變空白
rh--;//人上移
a[rh][rl]=1;//人圖形也要上移
}
//沒遇到箱子時
}else {
a[rh][rl]=0;//人原來的座標變空白
rh--;//人上移
a[rh][rl]=1;//人圖形也要上移
}
}
break;
//下面操作和向上移動同理,如有疑問私信或評論,我看到會回覆的~
case "s":
if(rh<9) {
if(rl==xl&&rh==xh-1) {
if(xh<9){
xh++;
a[xh][xl]=3;
a[rh][rl]=0;
rh++;
a[rh][rl]=1;
}
}else {
a[rh][rl]=0;
rh++;
a[rh][rl]=1;
}
}
break;
case "a":
if(rl>0) {
if(rh==xh&&rl==xl+1) {
if(xl>0) {
xl--;
a[xh][xl]=3;
a[rh][rl]=0;
rl--;
a[rh][rl]=1;
}
}else {
a[rh][rl]=0;
rl--;
a[rh][rl]=1;
}
}
break;
case "d":
if(rl<9) {
if(rh==xh&&rl==xl-1) {
if(xl<9) {
xl++;
a[xh][xl]=3;
a[rh][rl]=0;
rl++;
a[rh][rl]=1;
}
}else {
a[rh][rl]=0;
rl++;
a[rh][rl]=1;
}
}
break;
default://提示使用者輸入錯誤操作按鈕
System.out.println("會不會玩?");
break;
}
}
}
}
相關文章
- 暢遊無限遊戲盒子(二)--推箱子遊戲
- Canvas悟空推箱子Canvas
- js 簡單的推箱子小遊戲步驟解析–大家都玩過的JS遊戲
- js 簡單的推箱子小遊戲步驟解析--大家都玩過的JS遊戲
- MATLAB 簡易版 你畫我猜小遊戲Matlab遊戲
- 簡易版管道模式模式
- 人人都可以用C語言寫推箱子小遊戲C語言遊戲
- 推箱子V2.5完美破解法
- React簡易版老虎機React
- 簡易版 vue實現Vue
- Google日曆簡易版Go
- 200 行程式碼實現簡易版 2048 遊戲行程遊戲
- 破解《推箱子》Ver:1.6(230關) 註冊版 (1千字)
- c++簡易小遊戲C++遊戲
- C語言實現推箱子游戲C語言
- 簡易版抽獎小程式
- 手寫簡易版React框架React框架
- Laravel 結合 Swoole 簡易版Laravel
- Google日曆簡易版 2.0Go
- HarmonyOS Next 版同屏(web 簡易版)Web
- 實現一個簡易版WebpackWeb
- 簡易版NFT合約程式碼
- Docker簡易版教程——通俗易懂Docker
- 模擬實現簡易版shell
- 動手寫個Retrofit簡易版
- 自制最簡易版vue.jsVue.js
- html+js 實現 推箱子 貪吃蛇和簡單的飛機大戰HTMLJS
- 大學生課程設計 ------ 安卓Android軟體設計(推箱子小遊戲)安卓Android遊戲
- java程式:簡易撲克牌遊戲Java遊戲
- 利用python實現簡易版的貪吃蛇遊戲(面向python小白)Python遊戲
- C#之簡易猜數字遊戲C#遊戲
- 簡易遊戲通訊協議框架1.0遊戲協議框架
- 簡易版的Spring框架之IOC簡單實現Spring框架
- 基於React搭建一個簡易版豆瓣React
- 基於vue搭建一個簡易版豆瓣Vue
- 來實現一個簡易版的 PromisePromise
- 支援向量機python實現(簡易版)Python
- 簡易版Swiper是怎麼煉成的