課程設計我的報告——基於ARM實驗箱的捕魚遊戲的設計與實現

課程設計我的報告——基於ARM實驗箱的捕魚遊戲的設計與實現

我的貢獻

  • 參與課設題目討論及完成全過程
  • 代碼調試
  • 資料收集
  • 撰寫小組結題報告

實驗環境

  • Eclipse軟件開發環境;
  • ARM實驗箱(HonyaS5PC100);
  • windows操做系統。

實踐內容

  • Windows環境下ARM集成開發環境的搭建與使用;
  • 安裝軟件到模擬器;
  • 鏈接ARM實驗箱與PC機;
  • 將工程代碼在ARM實驗箱上實現;
  • 給程序增長新的功能

實踐步驟

Windows環境下ARM集成開發環境的搭建與使用

安裝JDK和配置Java開發環境

  • 配置環境變量

新建JAVA_HOME環境變量,賦值爲JDK的安裝目錄:php

新建CLASSPATH環境變量,賦值爲.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;html

在PATH環境變量中追加Java環境變量:java

CMD運行以下代碼,測試咱們的安裝和配置android

java -version
java
javac

Eclipse的安裝

  • 點擊 Download Packages;

  • 下載完成後,解壓安裝包,解壓路徑隨意。windows

  • 打開以後,選中圖中的文件,在桌面建立快捷方式,安裝告一段落android-studio

安裝ADT插件

  • 在eclipse中導入ADT的插件,help-->install new software

  • 在打開的窗口中填寫ADT的插件的存放路徑

  • 注意:contact all update sites during install to find required software及hide items that are already installed這兩個選項不要勾選,要否則安裝會很是的慢

  • 導入完以後會重啓eclipse,重啓以後菜單欄當中會多了Android SDK Manager及Android Virtual Device Manager兩個圖標,或者在window標籤卡中也會有這兩個選項

  • 若是沒有顯示這些圖標,可在window-->perspective-->customize perspective中添加

  • 在打開的customize perspective標籤卡中選擇action set availability中勾選Android SDK and AVD,而後再重啓eclipse便可

安裝SDK

  • 下載android-sdk-windows以後 ,在window中prefereces-->點擊左邊的Android,而後導入SDK的存放路徑。

  • 而後在點擊菜單欄中的Android SDK Manager圖標,更改下載所須要的安卓版本便可。

系統設計

全部功能實現類(接口)的簡介

main方法在類AwtMainComponet裏面,main方法裏設置了窗口參數和鼠標監聽器。
Constant:常量類,裏面有遊戲中運用到的常量。
MainSurface:繪製圖層類,圖層的繪製就是在該類中實現的。
CannonManager:大炮管理器類,大炮的全部屬性以及該有的方法。
CatchFishManager:捕捉管理器類,類中是魚的捕捉方法。
FishManager:魚管理器類,類中解析了魚的配置信息,管理着魚的動做等信息。
GameInitManager:遊戲初始化管理器類,類中有遊戲的初始化方法。
HeadFish:領頭魚類,領頭魚是一種虛擬的魚,其實就是把一羣魚模擬成一個對象。
ImageConfig:圖片的配置信息類,類中有圖片的細節信息。
ImageManager:圖片管理器類,根據解析文件獲取圖片。
Bitmap:圖片信息類。
LayoutManager:佈局管理器,在類中有大炮底座類,提升下降大炮按鈕,計分板計時板的設計。
MusicManager:音樂管理器,管理遊戲的背景音樂。
ParticleEffectManager:粒子管理器,類中管理遊戲的粒子效果。
PathManager:魚路徑管理器,類中管理魚的路徑。
ScoreManager:得分管理器,類中管理如何得分。
ShoalManager:魚羣管理器類,類中管理魚羣的方法。
SoundManager:音效管理器,類中管理遊戲的音效。
Ammo:子彈類,類中管理子彈的屬性。
AmmoParticleEffect:子彈粒子效果,類中寫了子彈粒子效果的實現。
BackGround:背景類,類中設計了遊戲的背景。
FishGold:顯示捕捉到魚後顯示的金幣數量。
FishInfo:某一種魚的細節配置信息類。
FishingNet:魚網類,類中是漁網的屬性和方法。
GamingInfo:遊戲進行中須要共同用到的一些變量。
Gold:金幣類,類中是金幣的屬性和方法。
GoldParticleEffect:金幣粒子效果,類中是金幣的粒子效果屬性。
HighPoint:高分顯示類,當獲取高分時遊戲的顯示。
HundredPoint:百分顯示,當獲取百分時遊戲的顯示。
LoadProgress:加載進度條,類中設計了加載進度條。
NetParticleEffect:漁網粒子效果,類中配置漁網粒子效果。
WaterRipple:水波紋類,水波紋的屬性方法。
Bottom:大炮底座類,類中設計大炮的底座。
BottomGold:金幣顯示組件,顯示金幣。
BottomTime:時間顯示組件,顯示時間。
ButtonAdapter:按鈕,大炮的按鈕屬性及方法。
Cannon:定義全部大炮的模擬類,設計了發射大炮的動做。
ChangeCannonEffect:設計了更換大炮時的變換效果。
Componet:組件的父類,有設計組件的座標的方法。
DownCannonButtonListener:下降大炮質量的按鈕邏輯。
UpCannonButtonListener:提高大炮質量的按鈕邏輯。
Fish:魚類,設計魚的全部屬性和方法,如魚的動做和捕捉方法。
Button:按鈕的接口,有是否可用和當按鈕被點擊的方法。
Drawable:圖片的接口,可獲取圖片的寬高的方法。
OnClickListener:單機事件的接口,單機時的方法。
FishRunThread:魚遊動進程,設計了魚遊動的方法。
PicActThread:控制魚的動做的進程,設計了播放了魚全部動做的方法。
ShotThread:射擊進程,設計了發射子彈的方法。
CircleRectangleIntersect:圓與矩形碰撞檢測類(魚是矩形,網是圓)。
Tool:獲取目標與源之間的角度,判斷擊落與否。

功能模塊

魚模塊:主要實現魚圖片的加載,魚遊動效果,魚遊動,還有魚的一些基本屬性,好比魚的座標,大小,還有血量值。一些基本方法,魚的構造方法。
漁網模塊:主要實現漁網圖片的加載,漁網的屬性有座標,大小的寬和高,還有漁網的power值,漁網中還有一個改變漁網大小的方法。
魚池模塊:將魚類的對象,網類的對象都在本類中進行調用,並將相應對象的圖片顯示出來,並將遊戲的背景‘畫’出來。
遊戲啓動模塊:將加載遊戲圖片加載進來

調試過程當中遇到的主要問題及解決方法

  • Windows10系統下配置環境變量問題
path中加入JAVA_HOME 而後加一個"/bin"來指向jdk須要用到的命令的文件夾

解決辦法就是在系統變量path中不要寫JAVA_HOME,而是寫入jdk的全路徑像這樣
  • Eclipse配置問題

copy一個jvm.dll放在該目錄下就能夠解決了
  • Fishlord
public class Fishlord {
main(){}
}

main方法實現程序的啓動和遊戲循環的開啓;
JFrame frame = new JFrame("捕魚達人"),這句就建立了遊戲的
主窗口;Pool pool = new Pool()建立了魚池;pool.action()開啓遊戲
主循環;jvm

  • JPanel
class Pool extends JPanel {
//加載遊戲的背景,建立魚類
Pool() {}
//遊戲主界面繪製方法
public void paint(Graphics g) { }
//遊戲主循環
action(){}
//捕魚的邏輯實現
catchFish(){}
}

Pool繼承了JPanel就是在窗口上的一個面板,面板能夠繪製在窗口中;ide

  • Fish
class Fish extends Thread {
}

Fish繼承了Thread,魚就是一個線程,當它的x座標不斷改變的時候,魚就
向左移動了,當同一條魚的圖片不斷改變的時候,這條魚看起來就是動態的效果;
超出邊界的魚應該消失,進入漁網的魚應該消失,同時分數++;

  • Net
class Net {
}

Net就是漁網,監聽鼠標後,將鼠標的中心設置爲漁網的中心,鼠標移動,網頁會動;

  • 效果圖

實驗體會

咱們小組的課題是基於ARM實驗箱實現捕魚遊戲,主要就是環境配置以及對實驗代碼的理解,而課題要求中比較難的是ARM實驗箱的操做。須要將PC機與ARM實驗箱鏈接,才能將工程成功的在ARM實驗箱上運行顯示以及執行相應的操做。我負責的是代碼運行環境的搭建和代碼部分。此次課設讓我對Java中類的理解更加深入和透徹,在同組小夥伴的共同努力和老師的悉心指導下,克服了課設過程當中遇到的各類問題,順利完成了老師佈置的要求。

參考資料

相關文章
相關標籤/搜索