日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

课程设计个人报告——基于ARM实验箱的捕鱼游戏的设计与实现

發(fā)布時(shí)間:2024/4/17 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 课程设计个人报告——基于ARM实验箱的捕鱼游戏的设计与实现 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

課程設(shè)計(jì)個(gè)人報(bào)告——基于ARM實(shí)驗(yàn)箱的捕魚游戲的設(shè)計(jì)與實(shí)現(xiàn)

一、個(gè)人貢獻(xiàn)

  • 參與課設(shè)題目討論及部分過程

  • 資料收集

  • 負(fù)責(zé)代碼調(diào)試

  • 捕魚游戲相應(yīng)功能的實(shí)現(xiàn)

實(shí)驗(yàn)環(huán)境

  • Eclipse軟件開發(fā)環(huán)境;
  • ARM實(shí)驗(yàn)箱(HonyaS5PC100);
  • windows操作系統(tǒng)。

實(shí)踐內(nèi)容

  • Windows環(huán)境下ARM集成開發(fā)環(huán)境的搭建與使用;
  • 安裝軟件到模擬器;
  • 連接ARM實(shí)驗(yàn)箱與PC機(jī);
  • 將工程代碼在ARM實(shí)驗(yàn)箱上實(shí)現(xiàn);
  • 給程序增加新的功能。

實(shí)踐步驟

Windows環(huán)境下ARM集成開發(fā)環(huán)境的搭建與使用

安裝JDK和配置Java開發(fā)環(huán)境

1、安裝JDK開發(fā)環(huán)境

下載網(wǎng)站:http://www.oracle.com/

開始安裝JDK:

修改安裝目錄如下:

確定之后,單擊“下一步”。

注:當(dāng)提示安裝JRE時(shí),可以選擇不要安裝。

2、配置環(huán)境變量:

對(duì)于Java程序開發(fā)而言,主要會(huì)使用JDK的兩個(gè)命令:javac.exe、java.exe。路徑:C:\Java\jdk 1.7.0 _09\bin。但是這些命令由于不屬于windows自己的命令,所以要想使用,就需要進(jìn)行路徑配置。

單擊“計(jì)算機(jī)-屬性-高級(jí)系統(tǒng)設(shè)置”,單擊“環(huán)境變量”。在“系統(tǒng)變量”欄下單擊“新建”,創(chuàng)建新的系統(tǒng)環(huán)境變量。

(1)新建->變量名"JAVA_HOME",變量值"C:\Java\jdk1.8.0_05"(即JDK的安裝路徑)

(2)編輯->變量名"Path",在原變量值的最后面加上“;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin”

(3)新建->變量名“CLASSPATH”,變量值“.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar”

3、確認(rèn)環(huán)境配置是否真確:

在控制臺(tái)分別輸入java,javac,java -version 命令,出現(xiàn)如下所示的JDK的編譯器信息,包括修改命令的語法和參數(shù)選項(xiàng)等信息。

java命令:

javac命令:

java -version命令:

4、在控制臺(tái)下驗(yàn)證第一個(gè)java程序:
public class Test {public static void main(String[] args) { System.out.println("Hello Java");} }

用記事本編寫好,點(diǎn)擊“保存”,并存入C盤根目錄后,輸入javac Test.java和java Test命令,即可運(yùn)行程序(打印出結(jié)果“Hello Java”)。注:這兩個(gè)命令是在D:\java\jdk1.8.0_20\bin目錄下。

首先編寫java源代碼程序,擴(kuò)展名.java;

在命令行模式中,輸入命令:javac 源文件名.java,對(duì)源代碼進(jìn)行編譯,生成class字節(jié)碼文件;

編譯完成后,如果沒有報(bào)錯(cuò)信息,輸入命令:java HelloWorld,對(duì)class字節(jié)碼文件進(jìn)行解釋運(yùn)行,執(zhí)行時(shí)不需要添加.class擴(kuò)展名。見下圖:

下載安裝android SDK

http://www.androiddevtools.cn/

找到SDK Tools,選擇下載windows的zip格式的。

下載后在需要安裝的位置解壓,得到:

然后install

二、配置環(huán)境變量

右鍵我的電腦,打開屬性,點(diǎn)擊高級(jí)系統(tǒng)設(shè)置,打開環(huán)境變量:

1、新建一個(gè)環(huán)境變量名稱為ANDROID_HOME,變量值為當(dāng)前安裝SDK的目錄

例如SDK裝在D:\androidSDK中,則環(huán)境變量為:

2、把%ANDROID_SDK_HOME%\platform-tools;%ANDROID_SDK_HOME%\tools添加到Path環(huán)境變量中。

三、檢測(cè)是否安裝成功

win+R,輸入cmd,打開命令提示符面板。

1、輸入android

2、輸入abd

二、設(shè)計(jì)中遇到的問題及解決方法

1.javac不是內(nèi)部或外部命令,也不是可運(yùn)行的程序或批處理文件。

原因是因?yàn)闆]有提前安裝好JDK開發(fā)環(huán)境或環(huán)境變量配置有誤。

2.在增加捕魚功能時(shí),遇到的問題

實(shí)時(shí)調(diào)整

對(duì)概率進(jìn)行調(diào)整,收入過高時(shí)降低概率,收入過低時(shí)提高概率,則對(duì)概率進(jìn)行調(diào)整,增加實(shí)時(shí)調(diào)整參數(shù)AP(-10%<AP<10%):

  則擊殺概率調(diào)整為:

當(dāng)收入過高,降低AP,降低魚擊殺率,造成玩家純收入銳減。
當(dāng)收入過低,提高AP,提高玩家收入,避免玩家流失。

  • 游戲初期,提高AP,提高金幣產(chǎn)出,增加玩家收入,強(qiáng)化爽快感,吸引玩家持續(xù)游戲。

  • 游戲中期,適度調(diào)高和調(diào)低AP,造成收入波峰波谷(類似股票),吸引玩家充值,同時(shí)提高游戲黏度。

  • 游戲后期,降低AP,提高玩家沖擊高分的難度,強(qiáng)化玩家之前的比拼,吸引玩家充值,提高收入。

  • 倍數(shù)

    倍數(shù):玩家可選擇倍數(shù),提高子彈的消耗N倍,擊殺魚后獲得的金幣量N倍。

      例如,1倍下,豌豆消耗1金幣,殺死魚獲得10金幣。10倍下,子彈消耗10金幣,殺死魚獲得100金幣。

      倍數(shù)設(shè)置值為1倍、2倍、5倍、10倍、20倍、50倍、100倍。

      玩家開啟某個(gè)倍數(shù),受其等級(jí)限制、房間上限倍數(shù)限制。

    房間概率調(diào)整

    我們將房間分為初級(jí)、中級(jí)、高級(jí)三種房間。根據(jù)其房間的定位,調(diào)整在該房間內(nèi),玩家擊殺僵尸的概率:
    初級(jí)房:只能使用低倍數(shù),提高擊殺概率,隨便打打就可以贏錢。
    中級(jí)房:可以調(diào)整高低倍數(shù),平衡擊殺概率,掌握技巧可基本收支平衡。
    高級(jí)房:可以開啟最高倍數(shù),略微降低擊殺概率,賺得多賠得多。

      加入房間參數(shù)RP后,擊殺概率公式被調(diào)整為

    捕魚類游戲計(jì)算方式的設(shè)計(jì)思路

      建議初級(jí)房的RP為+10%,中間房為0,高級(jí)房為-8%(數(shù)值可配置,具體數(shù)據(jù)以實(shí)際調(diào)整后為準(zhǔn))。

    三、調(diào)試過程中遇到的主要問題及解決方法

    1.領(lǐng)頭魚

    首先要設(shè)計(jì)一個(gè)對(duì)魚類來說一個(gè)必須的類--領(lǐng)頭魚類~HeadFish~,這個(gè)類并不是實(shí)質(zhì)的魚,而是一個(gè)點(diǎn),這個(gè)點(diǎn)帶領(lǐng)著所有魚群游動(dòng)。該類決定了魚群的~X~,~Y~坐標(biāo),~游動(dòng)方向~,~旋轉(zhuǎn)角度~和~旋轉(zhuǎn)方向~。

    public class HeadFish { private int[] fishOutlinePoint = new int[4]; //魚的外接矩形,x的最小值,最大值,Y的最小值,最大值 //控制魚移動(dòng)的線程 private FishRunThread fishRunThread; private boolean isNew = true; //是否剛生成的魚 這個(gè)參數(shù)決定著進(jìn)入屏幕時(shí)候的路線 private float fish_x; //魚當(dāng)前的X坐標(biāo) private float fish_y; //魚當(dāng)前的Y坐標(biāo) private int currentRotate; //魚當(dāng)前已旋轉(zhuǎn)的角度 private float lastX; //最后一次旋轉(zhuǎn)后的X增量 這組XY的作用是旋轉(zhuǎn)后若走直線,就以這兩個(gè)值 private float lastY; //最后一次旋轉(zhuǎn)后的Y增量 遞增就可以了 private int rotateDirection; //左轉(zhuǎn)還是右轉(zhuǎn) 這個(gè)值的用途在于,魚在旋轉(zhuǎn)后走直線時(shí),要計(jì)算最后一次旋轉(zhuǎn)后的增量,而這個(gè)記錄了上次是左轉(zhuǎn)還是右轉(zhuǎn)用于計(jì)算角度得知直線時(shí)的增量 //當(dāng)前魚群的魚,魚群的魚都已它為參照,同樣這個(gè)魚也在魚群集合里 private Fish fish; //魚群 private ArrayList<Fish> shoal = new ArrayList<Fish>(); //當(dāng)前創(chuàng)建的領(lǐng)頭魚的起始位置 private int currentFromPoint;

    且生成~get~、~set~方法,為后面的方法調(diào)用賦值做準(zhǔn)備。

    在類~ShoalManager~中有一個(gè)生成領(lǐng)頭魚的方法:~birthHeadFish~。該方法可以創(chuàng)建一頭領(lǐng)頭魚,領(lǐng)頭魚的出現(xiàn)也就使得魚群得以出現(xiàn),創(chuàng)建完成之后,將方向設(shè)置到類屬性~currentFromPoint~上,供魚群使用。

    2.豐富多彩的魚類

    <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <key>fishActConfig</key> <string>fish/fish;fish/fish2;fish/fish3;fish/seamaid</string> <key>fishInfoConfig</key> <string>fish/FishInfo</string> </plist>

    initFishInfo方法初始化了魚的配置信息,如魚的圖層ID,魚的動(dòng)作速度,魚的價(jià)值,魚的捕捉概率等,關(guān)鍵代碼如下:

    private void initFishInfo(String config){ try{//如果配置信息沒有找到,拋出異常if(config==null){throw new Exception("FishManager:讀取配置文件出錯(cuò),沒有找到fishInfoConfig信息");}//加載魚的基本信息配置文件XmlPullParser xml = XmlManager.getXmlParser(config, "UTF-8");//解析所有的魚的基本信息 while(GamingInfo.getGamingInfo().isGaming()&&XmlManager.gotoTagByTagName(xml, "key")){XmlManager.gotoTagByTagName(xml, "string");String fishName = XmlManager.getValueByCurrentTag(xml);FishInfo fishInfo = new FishInfo();//設(shè)置最大旋轉(zhuǎn)角度XmlManager.gotoTagByTagName(xml, "integer"); fishInfo.setMaxRotate(Integer.parseInt(XmlManager.getValueByCurrentTag(xml)));//設(shè)置移動(dòng)速度XmlManager.gotoTagByTagName(xml, "integer"); fishInfo.setFishRunSpeed(Integer.parseInt(XmlManager.getValueByCurrentTag(xml)));//設(shè)置動(dòng)作速度XmlManager.gotoTagByTagName(xml, "integer"); fishInfo.setActSpeed(Integer.parseInt(XmlManager.getValueByCurrentTag(xml)));//設(shè)置魚群最大數(shù)量XmlManager.gotoTagByTagName(xml, "integer"); fishInfo.setFishShoalMax(Integer.parseInt(XmlManager.getValueByCurrentTag(xml)));//設(shè)置魚的圖層IDXmlManager.gotoTagByTagName(xml, "integer"); fishInfo.setFishInLayer(Integer.parseInt(XmlManager.getValueByCurrentTag(xml)));//設(shè)置魚的價(jià)值XmlManager.gotoTagByTagName(xml, "integer");fishInfo.setWorth(Integer.parseInt(XmlManager.getValueByCurrentTag(xml)));//設(shè)置魚的捕捉概率XmlManager.gotoTagByTagName(xml, "integer"); fishInfo.setCatchProbability(Integer.parseInt(XmlManager.getValueByCurrentTag(xml)))allFishConfig.put(fishName, fishInfo);} }catch(Exception e){e.printStackTrace(); } }

    3.Eclipse中的source not found change at.

    需要把源碼src.zip添加進(jìn)去,源碼src.zip一般放在java的jdk目錄下面

    4.Adb啟動(dòng)失敗

    當(dāng)我們通過eclipse開發(fā)Android應(yīng)用時(shí),安卓模擬器啟動(dòng)失敗,提示這樣的錯(cuò)誤:ADB server didn’t ACK。

    5.解決Android SDK Manager的Download interrupted: URL not found問題

    選中“Force https : sources to be fetched using http:”復(fù)選框。設(shè)置完成后單擊 Close 按鈕關(guān)閉 Android SDK Manager - Settings 窗口返回到主界面,再依次選擇 Packages、Reload。

    四、設(shè)計(jì)體會(huì)及收獲

    本次設(shè)計(jì)在同組小伙伴的共同努力和老師的悉心指導(dǎo)下順利完成。我們小組的課題是基于ARM實(shí)驗(yàn)箱實(shí)現(xiàn)捕魚游戲,最主要的部分就是環(huán)境配置以及對(duì)實(shí)驗(yàn)代碼的理解。課題的重點(diǎn)和難點(diǎn)在于ARM實(shí)驗(yàn)箱的操作,首先需要將PC機(jī)與ARM實(shí)驗(yàn)箱連接,才能將工程成功的在ARM實(shí)驗(yàn)箱上運(yùn)行顯示以及執(zhí)行相應(yīng)的操作。我主要是負(fù)責(zé)的代碼部分,其中包括捕魚游戲相應(yīng)功能的實(shí)現(xiàn),其中在倍數(shù)、實(shí)時(shí)調(diào)整、房間概率調(diào)整部分有了新的理解。雖然本次設(shè)計(jì)有一定的困難,但是不能因?yàn)槔щy就放棄,通過不同的方法去解決問題才是最終的目的,也是我覺得最重要的東西。

    五、參考資料(圖書、網(wǎng)址…)

    https://www.cnblogs.com/smyhvae/p/3788534.html

    https://blog.csdn.net/zeternityyt/article/details/79655150

    https://blog.csdn.net/mergerly/article/details/71505123

    http://bbs.gameres.com/thread_463918_1_1.html

    https://blog.csdn.net/gongyuan073/article/details/12580011

    轉(zhuǎn)載于:https://www.cnblogs.com/wang5324/p/9129814.html

    與50位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖

    總結(jié)

    以上是生活随笔為你收集整理的课程设计个人报告——基于ARM实验箱的捕鱼游戏的设计与实现的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。