freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

畢業(yè)論文-基于java語言的坦克大戰(zhàn)游戲設計(參考版)

2025-01-19 22:11本頁面
  

【正文】
。在兩人模式下由于筆記本鍵盤的位置太緊湊,所以將我方二號坦克設置為智能移動和攻擊。效果圖如 所示: 圖 兩人游戲結束界面 本章小結 本章主要介紹了該系統(tǒng)的實現(xiàn)和運行,分別敘述了在單人游戲模式和兩人游戲模式下游戲的運行和操作過程。射擊鍵為“ B”,超級炮彈鍵為“ N”。 TankClient2 類通過調用 Tank 類, Wall類, Explode 類, Blood 類的方法來實現(xiàn)兩人游戲模式。 break。 new Wall(930,250,30,100,this).draw3(g)。 new Wall(1000,450,100,30,this).draw2(g)。 new Wall(800,450,100,30,this).draw2(g)。 new Wall(430,330,30,100).draw1(g)。 new Wall(500,200,100,30).draw(g)。 new Wall(300,200,100,30).draw(g)。部分關卡具體實現(xiàn)代碼如下: public void wallmap(Graphics g){ switch(j/10+1){ case 1:{ (g)。移動控制鍵為方向鍵,射擊鍵“ Z”,其效果圖如圖 所示: 圖 單機游戲 模式主界面圖 玩家坦克有一個特權就是使用超級炮彈,可同時向八個方向發(fā)射炮彈,超級炮彈鍵為“ X”效果如圖 所示: 墻 水 草 敵方坦克 我方坦克 炮彈 血條 信息 血塊 22 圖 發(fā)射超級炮彈 隨著本關卡中敵方坦克的消失,游戲自動進入下一關卡。墻,水,草,其中坦克和子彈不可以穿過墻,坦克不可以穿過水。 } (offScreenImage,0,0,null)。 if(j/10+1=5){ paint(goffScreen)。 (0, 0 ,1200,700)。 21 Color c =()。 解決閃爍現(xiàn)象的方法如下: public void update(Graphics g) { if(offScreenImage ==null){ offScreenImage =(1200,700)。因為刷新重畫頻率太快, paint()方法還沒有完成,會造成逐條顯示,影響系統(tǒng)的運行,所以解決辦法是創(chuàng)建一個虛擬屏幕,在屏幕的后面,在要畫的將所有的東西畫在虛擬屏幕上,也就是內存上,畫完之后一次性將虛擬屏幕上的內容貼到屏幕上,這樣就消除了閃爍現(xiàn)象,用戶的眼睛便感覺不到閃爍了。為了游戲不至于太單調,還配置了背景音樂。運行程序后進入游戲主界面,主界面上包括兩個下拉菜單條,“開始”和“關于”,玩家點擊“開始”菜單條下可以選擇游戲模式;“關于”下拉菜單條中有關于游戲 、 關于作者,關于操作的信息,方便玩家了解游戲規(guī)則。 本章小結 本章首先對整個游戲設計在技術,經濟,操作上進行了可行性分析;其次對游戲要達到怎么樣的需求,要實現(xiàn)哪些功能做了一個大概的敘述;對實現(xiàn)這些功能所設計到的類進行了詳細的描述,最后再詳細的介紹了系統(tǒng)要實現(xiàn)這些功能所涉及到的各個類之間的關系 ,類中的變量以及其中的所調用的方法,以及對部分主要功能進行代碼描述。 = ((25)+3)*20。主要的屬性有血塊出現(xiàn)的位置( x,y)和血塊的是否存在( Live)。 Explode 類主要是 供TankClient 類需要時調用它的 draw()方法,當子彈擊中坦克時需要產生爆炸。 } return false。().intersects(())){ =false。 public boolean hitWall(Wall w){ if(amp。 } } return false。i()。 } return false。 (e)。 } =false。 if(() =0) (false)。amp。amp。amp。如下表所示: 表 Missile 類的成員變量 成員變量描述 變量類型 名稱 子 彈的寬度 int width 子彈的高度 int height X 坐標上的移動速度 Int xspeed Y 坐標上的移動速度 int yspeed 子彈的好壞 boolean good 子彈是否存活 boolean Live Misslie 類持有一個 TankClient 類(大管家)的引用 tc, TankClient 類要執(zhí)行發(fā)射炮彈操作時調用 Missile 類中的方法。敵方坦克主體的各個方向圖如下圖 所示 : 16 圖 敵方坦克主體圖 我方坦克主體方向圖如下所示: 圖 我方坦克主體圖 隨著坦克方向的改變與之相對應的炮筒方向也要與之相對應。 if(y+)y= 。 if(y45)y=45。 (c)。 int w=width*life/100。 ()。 } Missile 類是設置子彈的類。 (m)。 int y=+。 ( 5) keyReleased()方法:處理按鍵抬起事件,抬起“ Z”“ B”鍵時,發(fā)射炮彈并加入新炮彈,能夠逐一發(fā)射每一發(fā)炮彈、抬起“ X”“ N”鍵可以發(fā)射超級炮彈等功能; ( 6) locationDirection()方法:定義了炮筒方向,可以向八個方向發(fā)射炮彈; ( 7) fire()方法:處理發(fā)送子彈的方法; public Missile fire(){ 15 if(!live) return null。 if((35)30)()。 dir=dirs[rn]。//將方向轉換成數(shù)組 if(step==0){ step=(20)+3。 } if(!=){//炮筒和坦克方向一致 =。 break。 case LD: x = xspeed。 case D: y += yspeed。 y += yspeed。 break。 break。 case RU: x += xspeed。 case U: y = yspeed。 y = yspeed。 break。 =y。 Tank 類中的主要方法羅列如下: ( 1) getRect()方法,具體代碼如下: public Rectangle getRect(){ return new Rectangle(x,y,width,height)。 } } } Tank 類基本功能分析 Tank(坦克)類中,封裝了一些與坦克相關的變量屬性,包括坦克自己的大小、坦克的位置、運動速度(在 x 軸方向的速度;在 Y 軸方向的速度 )、生命值控制( life)、坦克方向控制、炮筒方向、生死控制、好壞控制 (good)的變量等。 } void loop() { if (getAudioClip() != null) { getAudioClip().loop()。 } TankClient 類 調用 Missile 類 Tank 類(產生不同陣營的坦克) Wall類 調用 Explode 類(產生爆炸) 調用 Blooded 類 12 public AudioClip getAudioClip() { return 。 } loop()。 public AudioPlayer() { try { setAudioClip(( ((src/music/). toURL())))。調用內部類 AudioPlayer 來進行背景音樂的 播放。 TankClient 類和 TankClient2 類設計流程圖如圖 所示: 沒有死亡 死亡 圖 TankClient 類設計流程 開始 結束 初始化坦克和墻 發(fā)射炮彈 同一陣營不處理 碰撞檢測(坦克和子彈,坦克和墻,子彈和墻) 產生爆炸(不同陣營) 判斷是否死亡 我方坦克由鍵盤控制,敵方智能操作 11 TankClient 類的作用其實最重要,它在本畢業(yè)設計中起著一個管家的作用,它通過調用其他類中封裝的方法來使整個系統(tǒng)運行起來,使各個功能對應的實現(xiàn)。在程序中我通過 public static final 來 設定窗體 的 最終高度和 寬度。 它創(chuàng)建的游戲窗口,是整個游戲運行的場所。 ()。 ()。 } (this,message)。 String str。下面是讀取文檔的實現(xiàn)代碼: private void ReadFile(String file){ try { BufferedReader br = new BufferedReader(new InputStreamReader( new FileInputStream(new File(file)), GBK))。 } catch (IOException ex){ ()。 1) 游戲主界面的背景畫面設置的主要代碼如下: JPanel bgPanel = new JPanel() { protected void paintComponent(Graphics g){ try{ 兩人游戲 游戲模式 單人游戲 通關勝利 添加敵方坦克 添加敵方坦克 添加我方坦克 添 加 我 方 坦克 一號 二號 結束 游戲開始 9 Imagebg=(newFile(src/images/BackImage/))。 StartFrame 類的作用是,對游戲主界面的美化,對游戲相關信息的描述,讓玩家更快
點擊復制文檔內容
法律信息相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1