1. 程式人生 > >Java小遊戲之小迷宮遊戲

Java小遊戲之小迷宮遊戲

遊戲規則

按照位置為0的路線移動,上下左右方向鍵依次為 8、2、4、6

遊戲編碼

編碼思路:

  1.   定義一個二維陣列,七個一維陣列,每個一維陣列七個元素,並且按照遊戲規則設定0,1,初始值位置
  2. 列印陣列,用於開始遊戲
  3. 定義變數x,y。用於位置移動後位置的確定,以及邊界限定
  4. while迴圈,其中獲取使用者輸入數字
  5. 使用switch語句,根據輸入的數字執行相應的操作
  6. for迴圈動態列印陣列
  7. 到達指定位置,結束迴圈

程式碼實現:

程式碼還有很多需要完善的地方,基本功能已經實現,可以放到Eclipse執行實現效果

	public static void main(String[] args) {
		int [][]maze = {
				{1,1,1,1,1,1,1},
				{5,0,1,1,1,1,1},
				{1,0,1,1,1,1,1},
				{1,0,0,1,1,1,1},
				{1,1,0,1,1,1,1},
				{1,1,0,0,1,1,1},
				{1,1,1,0,1,1,1}
		};
		for(int x = 0;x < maze.length;x++) {
			for(int y = 0; y<maze[x].length;y++) {
				System.out.print(maze[x][y]+" ");
			}
			System.out.println();
		}
		int x = 1;
		int y = 0;
		Scanner scanner=new Scanner(System.in);
		wp:while(true) {
			int num=scanner.nextInt();
			switch(num) {
			case 8:
				if(maze[x-1][y] == 0) {
					int c;
					c=maze[x][y];
					maze[x][y]=maze[x-1][y];
					maze[x-1][y]=c;
					--x;
				}
				break;
			case 6:
				if(maze[x][y+1]==0) {
					int c;
					c=maze[x][y];
					maze[x][y]=maze[x][y+1];
					maze[x][y+1]=c;	
					++y;
				}
				break;
			case 2:
				if(maze[x+1][y]==0) {
					int c;
					c=maze[x][y];
					maze[x][y]=maze[x+1][y];
					maze[x+1][y]=c;
					++x;
				}
				break;
			case 4:
				if(maze[x][y-1]==0) {
					int c;
					c=maze[x][y];
					maze[x][y]=maze[x][y-1];
					maze[x][y-1]=c;
					--y;
				}
				break;
				default:
					break;
			}
			for(int x1=0;x1<maze.length;x1++) {
				for(int y1=0;y1<maze[x1].length;y1++) {
					System.out.print(maze[x1][y1]+" ");
				}
				System.out.println();
			}
			if(x==6&&y==3) {
				System.out.println("你贏了");
			}
//			if(y==-1) {
//				System.out.println("不可通行");
//				break wp;
//			}
		}
	}


相關推薦

Java遊戲迷宮遊戲

遊戲規則 按照位置為0的路線移動,上下左右方向鍵依次為 8、2、4、6 遊戲編碼 編碼思路:   定義一個二維陣列,七個一維陣列,每個一維陣列七個元素,並且按照遊戲規則設定0,1,初始值位置列印陣列,

Java遊戲鬥地主遊戲例項Map集合

Map的特點是什麼? 1、Map物件是一個雙列的容器 2、兩列分別對應key和value,二者一一對應,是對映關係 3、Map中的資料以鍵值對的形式儲存 4、鍵值是唯一的,不能重複的 HashSet()和HashMap()之間的關係? HashSet()底層是HashMap

Python程式猜單詞遊戲

計算機隨機產生一個單詞,打亂字母順序,供玩家去猜。(可供猜的單詞自己定義) import random WORDS = ("math","english","china","history") right = 'Y' print("歡迎參加猜單詞遊戲!") while right=='Y' o

小菜Cocos2d-x遊戲開發旅程——Lua打包apk

Lua打包apk 這裡使用Cocos code ide 進行打包 , 後面會將在eclipse上的打包 第一步:環境配置。配置android-sdk,ant,ndk的路徑。 第二步:選中你的工程檔案,右鍵->Cocos工具->新增原生代碼支

java基礎學習知識點篇一

java基礎學習之小知識點 1.程式碼塊 分類 2.super和this的注意點 3.過載(overload)和重寫(override) 4.final修飾符 final指的是**最終的**。 注意點:

java基礎作業猜數字遊戲

 類的成員變數 猜數字遊戲一個類A有一個成員變數v有一個初值100。  定義一個類對A類的成員變數v進行猜。如果大了則提示大了小了則提示小了。等於則提示猜測成功。        packag

微信程式程式稽核

小程式稽核時間慢或是稽核不通過,不要慌!可從以下去找問題:1.帳號基本資訊1.1小程式名稱、簡介、logo、服務範圍、服務標籤、帳號基本資訊文字均不得:​ (1)侵犯他人權益(著作權、商標權、肖像權、名譽權等)。包括但不限於,使用或包含不屬於該小程式主體的品牌或商標、標識等內

微信程式程式上線

在微信開發者工具,選擇專案 點選上傳 用管理員賬戶掃碼   輸入版本號,專案備註 上傳成功後,會出現上傳時間,和編譯包的大小。 注意:編譯包的大小不要超過2M 開啟微信公眾平臺——開發管理 就能看到剛才上傳的專案 右邊的選項中,可以直接提交,也可以選擇體驗

thinkphp開發程式程式發起微信支付

最近在學一套小程式商城,最近做到了小程式支付環節,分享一下我的心得。 首先,你需要有認證的小程式,並且已開通微信支付,我的是服務號,並且早已申請號了微信支付,現在開通小程式,直接申請繫結即可。 首先我們去下載微信支付SDK,微信只有一套支付用的SDK,集成了掃碼,公眾號等。

從騰訊QQ升級遊戲“快速加入遊戲”功能的實現缺陷看C/S之間如何正確分配相關協作

筆者在閒暇時,偶爾會登入騰訊QQGame玩玩升級遊戲。這確實是一款非常優秀的軟體作品,騰訊的開發人員在此展現了極高的技術水準。QQ遊戲同時線上使用者數都在百萬到千萬之數量級以上,可以想象其在效能方面所面臨的挑戰有多高。     QQ升級遊戲有一個“快速加入遊戲”的功能,方便玩家儘快加入目標牌桌。這本身是個非

學以致用——Java原始碼——騎士旅(跳馬)遊戲_優化演算法加彙總分析版(Knight’s Tour - Heuristic plus statistics version)

接上一篇,學以致用——Java原始碼——騎士之旅(跳馬)小遊戲_優化演算法版(Knight’s Tour - Heuristic version), https://blog.csdn.net/hpdlzu80100/article/details/85330188。 本程式加入了統計分

學以致用——Java原始碼——騎士旅(跳馬)遊戲_優化演算法版(Knight’s Tour - Heuristic version)

程式功能: 輸入騎士的起始位置,程式模擬輸出其移動軌跡(本程式採用優化演算法(Heuristic)但未使用蠻力解決法)。相比上一版本騎士“隨意”的選擇路勁,這次,武士受到了啟發,優先選擇靠邊的位置行走,所以可以走的更遠。但有時依然改變不了自己尚未完成使命(走完全部方格),卻被困在棋盤上某個位

學以致用——Java原始碼——騎士旅(跳馬)遊戲_宿命版(Knight’s Tour - Non-heuristic version)

遊戲規則: 一個8*8的棋盤上站著一個騎士(Knight),騎士在棋盤上只能走L形(橫走1步後豎走2步,或橫走2步後豎走1步),要求棋盤上每個方格只能停留一次,請問騎士應該怎麼走才能走完64個方格? 如,當騎士位於下圖中K位置時,其移動方式共有以下0-7共8種。 程式功能:

12、Cocos2dx 3.0遊戲開發找3.0中的生命周期分析

ide () mil and 地理 splay ioe ase ima 重開發人員的勞動成果。轉載的時候請務必註明出處:http://blog.csdn.net/haomengzhu/article/details/27706303 生命周期分析 在前面文章中我

[知了堂學習筆記]_JS遊戲打飛機(3)-飛機之間的互相撞擊,boss的出現,以及控制boss死亡

時間 i++ score console function sss 間隔 app tint 我的小飛機和敵軍小飛機撞擊的效果的實現: 1 /** 2 * 定義我的飛機與敵機碰撞的方法: 3 */ 4 function destoryMyPlane(){ 5

java----猜字符遊戲

sys 編碼 har 改變 ann mat 生成 字符串 cor 剛學了方法,做了個小項目,猜字符小遊戲,這裏和大家分享一下。我們通過要達到的效果來分析: 1首先命令行窗口提示用戶進入猜字符遊戲,並顯示“猜吧” 2然後用戶輸入

Python遊戲 - 飛機大戰美女 !

TP 飛機大戰 inf info ima com 圖片 大戰 .com 用Python寫的"飛機大戰美女"小遊戲 Python小遊戲之 - 飛機大戰美女 !

java:打字母遊戲demo

在一個300*400的窗體上,有隨機產生的字母向下落。在鍵盤上敲字母,如果對了就消掉,初始成績為1000分,每敲對一個字母加10分,如果字母落到螢幕下方,或者敲錯,扣100分。 import java.awt.Color; import java.awt.Graphics; import j

LayaAir遊戲開放域開發

userinfo 方式 require WebG ide pri 其中 fff 打包 版本 : LayaAir2.0.0bate4 一 : 認識類 : Laya.WXOpenDataViewer , 顧名思義:此類封裝了開放域(子域)的畫布功能.這樣的話就不需要程序員自己去

LayaAir遊戲的坑解決

.com 如果 tex sha 版本 目前 代碼 true RoCE 版本 : LayaAir2.0.0bate4 一 : MiniAdpter.init 目前直接在代碼裏設會報錯 , 那只有在底層 laya.wxmini.js裏面設置了Ⅰ,主域 : MiniAdpter.