![Java面向?qū)ο笸葡渥釉创a_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/4/cc23e04b-913e-42c9-9d3e-dd25d08a359d/cc23e04b-913e-42c9-9d3e-dd25d08a359d1.gif)
![Java面向?qū)ο笸葡渥釉创a_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/4/cc23e04b-913e-42c9-9d3e-dd25d08a359d/cc23e04b-913e-42c9-9d3e-dd25d08a359d2.gif)
![Java面向?qū)ο笸葡渥釉创a_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-2/4/cc23e04b-913e-42c9-9d3e-dd25d08a359d/cc23e04b-913e-42c9-9d3e-dd25d08a359d3.gif)
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Java面向?qū)ο髮?shí)現(xiàn)推箱子的源代碼 目錄一、首先: 1二、以下為工程中各個(gè)類(lèi)的源代碼: 11、Box 12、GameMainTest 33、Man 44、Map 65、MovingException 76、Out 8首先:在eclipse中新建一個(gè)工程,包名和類(lèi)名(工程結(jié)構(gòu))如下:v 口 tuixiangzi> M 丿肛 System Ubrary Jdk1.0,fl_144v (曲 src y 士 luixiargzi> 7 Boxj avajj GameMainTe-t.java> 囚 Manjava)jj Map.java> 7 M ovi n g Exption
2、 J a vs> 山 Out.jiava以下為工程中各個(gè)類(lèi)的源代碼:源代碼按對(duì)應(yīng)的類(lèi)名復(fù)制粘貼進(jìn)去即可。1、Boxpackage tuixia ngzi;import java.util.Random;public class Box private static Ran dom ran = n ewRa ndom();private static int x = ran .n ext In t(10);/ 箱子所在的位置(隨機(jī))private static int y = ran.nextInt(1O);/ 箱子所在的位置(隨機(jī))privateprivateprivateint map
3、= Map.getArray();int h = map length - 1;int l = map h. length - 1;/*箱子左移*/publicvoid boxLMove() throws MovingExceptionif (y-1 < 0) throw new MovingException("You Can't Moving Left!" );if (Man.getX() =x && Man.getY() = y) y=(y-1);/*箱子右移*/publicifvoid boxRMove() throws MovingE
4、xception(y+1 > l)throw new MovingException("You Can't Moving Right!");/*/if(Ma n.getX() =x && Man .getY() = y) y=(y+i);箱子上移publicifvoid boxUMove() throws MovingException(x-1 < 0) throw new MovingException( "You Can't Moving Up!");if(Ma n.getX() = x &&
5、; Man .getY() = y) x=(x-1);/*箱子下移*/publicifvoid boxDMove() throws MovingException(x+1 > h) throw new MovingException( "You Can't Moving Down!");/*/if(Man .getX() = x && Ma n. getY() = y) x=(x+1);判斷箱子是否能移動(dòng)(死亡)或者是否通關(guān)returnpublic String judgOver() String msg= null ;if (x = Out.
6、getX() && y = Out.getY() msg = "You Win !"return msg;if (x = 0 && y = 0 | x = h && y = I | x = 0 && y = I | x = h &&y = 0) msg = "Game Over!" return msg; else returnmsg;public static int getX() return x;public static void setX( int x) Box.
7、x = x;public staticint getY() return y;public static void setY( int y) Box. y = y;2、GameMainTestpackage tuixia ngzi;import java.util.Scanner;public class GameMa in Test args)private static public staticMap map=Man man=Box box =Scanner sc; void main(String new Map(); new Man(); new Box();sc = new Sca
8、nn er(System. in);mapprintMap();/游戲開(kāi)始,打印地圖System. out .println( ” 推箱子游戲開(kāi)始!");do System. out .println("w: T s: J a: J d:回車(chē)確認(rèn)移動(dòng) ”);Stri ng key = sc.n ext(); switch ( key) case "a" :/ 左移try manl eftMove( key); box.boxLMove(); catch (MovingException e) System. out .println( "走不下
9、去啦!");mapclea nMan After(Ma n.getX(), Man. getY()+1); break;case "d" :/ 右移try man rightMove( key); box.boxRMove(); catch (MovingException e) System. out .println( "走不下去啦!");mapclea nMan After(Ma n.getX(), Man. getY()-1); break;case "s" :/ 下移try man dow nMove( key);
10、 box.boxDMove(); catch (MovingException e) System. out .println( "走不下去啦!");mapclea nMan After(Ma n.getX()-1, Man .getY(); break;case "w":/ 上移try manupMove( key); box.boxUMove(); catch (MovingException e) System. out .println( "走不下去啦!");mapclea nMan After(Ma n.getX()+1,
11、Man .getY(); break;System. out .println("nnnn");System. out .println(box.judgOver();mappri ntMap();while (true );3、Manpackage tuixia ngzi;c class Man privatestaticint x = 0;/人所在的行位置privatestaticint y = 0;/人所在的列位置privateint map= Map.getArray();privateint h =:map. length -15privateint l =:ma
12、p h. length-1;/*向左移動(dòng)*paramkey移動(dòng)按鍵*throws Movin gExcepti on無(wú)法移動(dòng)異常*/publicvoid leftMove(Stringkey) throws MovingExceptionif(y-1 < 0) throw new MovingException("You Can't Moving Left!");/*if(key.equals( "a" ) y=(y-1);向右移動(dòng)paramkey 移動(dòng)按鍵 throws Movin gExcepti on無(wú)法移動(dòng)異常*/publicifk
13、ey) throws MovingException/*/ifvoid rightMove(String(y+1 > l)throw new MovingException( "You Can't Moving Right!"(key.equals( "d" ) y=(y+1);向上移動(dòng)paramkey移動(dòng)按鍵throws Movi ngExceptio n無(wú)法移動(dòng)異常publicifvoid upMove(String key) throws MovingException(x-1 < 0) throw new MovingExce
14、ption( "You Can't Moving Up!"););if(key.equals( "w") x=(x-1);/*向下移動(dòng)* paramkey 移動(dòng)按鍵* throws MovingException無(wú)法移動(dòng)異常*/publicifvoid downMove(Stringkey) throws MovingException(x+1 > h) throw new MovingException( "You Can't Moving Down!");if(key.equals( "s"
15、; ) x=(x+1); publicstatic int getX() return x; public static Man.x = public static return y;public static void setY( int y) Man .y = y;void setX( int x) x;int getY() 4、 Mappackage tuixia ngzi;public class Map private static int array =/*打印地圖布局*/newint 1010;public void printMap() Ma n.getX()Ma n. get
16、Y() = 1;Box.getX()Box.getY() = 3;Out.getX()Out.getY() = 2;arrayarray/arrayfor (int i = 0; i <for (int j = 0; j <初始化人初始化箱子初始化出口/;i+) array i . length ; j +) array . lengthif (array i j = array Man.getX()Man.getY() System. out .print("早"); else if (array i j = 0) System. out .print( &q
17、uot; ”); else if (array i j = array Box.getX()Box.getY() System. out .print( " "); else if (array i j = array Out.getX()Out.getY() System. out .print( "");System. out .println();/*清除人和箱子移動(dòng)后上一步的位置paramxparamyreturn*/public int cleanManAfter(int x, int y) return array x y=0;public
18、staticint getArray() return array ;public static void setArray( int array ) Map.array = array ;5、 MovingExceptionpackage tuixia ngzi;public class MovingExceptionextends Exceptionprivate static final long serialVersionUID= 1L;public MovingException() super ();public MovingException(String super (message);public MovingException(String super (message, cause);public MovingException(Throwable super (cause);message) message, Throwab
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 現(xiàn)代商業(yè)辦公空間的照明藝術(shù)
- 現(xiàn)代辦公設(shè)備與技術(shù)概覽
- 殘障者康復(fù)教育與社區(qū)資源的聯(lián)動(dòng)發(fā)展
- Module3 Unit1 What are they doing?(說(shuō)課稿)-2024-2025學(xué)年外研版(三起)英語(yǔ)四年級(jí)上冊(cè)
- 7 我是班級(jí)值日生(說(shuō)課稿)-2024-2025學(xué)年統(tǒng)編版道德與法治二年級(jí)上冊(cè)
- Unit 3 Its a colourful world!Part B Let's learn(說(shuō)課稿)-2024-2025學(xué)年外研版(三起)(2024)英語(yǔ)三年級(jí)上冊(cè)
- 2023六年級(jí)數(shù)學(xué)上冊(cè) 二 分?jǐn)?shù)乘法第3課時(shí) 分?jǐn)?shù)與整數(shù)相乘說(shuō)課稿 蘇教版
- 5《這些事我來(lái)做》(說(shuō)課稿)-部編版道德與法治四年級(jí)上冊(cè)
- Unit5 My clothes Part A Lets talk (說(shuō)課稿)-2023-2024學(xué)年人教PEP版英語(yǔ)四年級(jí)下冊(cè)001
- 《1 有余數(shù)的除法-第二課時(shí)》(說(shuō)課稿)-2023-2024學(xué)年二年級(jí)下冊(cè)數(shù)學(xué)蘇教版001
- 年產(chǎn)15噸透明質(zhì)酸生產(chǎn)車(chē)間的初步工藝設(shè)計(jì)
- 大模型在航空航天領(lǐng)域的應(yīng)用:智能探索宇宙的無(wú)限可能
- 酒店行業(yè)客源渠道分析
- 2024年中國(guó)陪診服務(wù)行業(yè)市場(chǎng)發(fā)展趨勢(shì)預(yù)測(cè)報(bào)告-智研咨詢(xún)重磅發(fā)布
- AVL-CRUISE-2019-整車(chē)經(jīng)濟(jì)性動(dòng)力性分析操作指導(dǎo)書(shū)
- 腸道醫(yī)學(xué)解剖和生理學(xué)
- 人教版九年級(jí)英語(yǔ)動(dòng)詞時(shí)態(tài)專(zhuān)項(xiàng)練習(xí)(含答案和解析)
- 蘭州市規(guī)范醫(yī)療服務(wù)價(jià)格項(xiàng)目基準(zhǔn)價(jià)格表
- 火災(zāi)隱患整改登記表
- 普通地質(zhì)學(xué)教材
- 2022年全國(guó)高考詩(shī)歌鑒賞試題-教學(xué)課件
評(píng)論
0/150
提交評(píng)論