Java面向?qū)ο笸葡渥釉创a_第1頁(yè)
Java面向?qū)ο笸葡渥釉创a_第2頁(yè)
Java面向?qū)ο笸葡渥釉创a_第3頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(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è)類的源代碼: 11、Box 12、GameMainTest 33、Man 44、Map 65、MovingException 76、Out 8首先:在eclipse中新建一個(gè)工程,包名和類名(工程結(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è)類的源代碼:源代碼按對(duì)應(yīng)的類名復(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)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論