1. <rp id="zsypk"></rp>

      2. 在中興軟件技術(shù)從事手機(jī)游戲開發(fā)的實(shí)習(xí)報(bào)告

        時(shí)間:2021-06-17 14:08:04 實(shí)習(xí)報(bào)告 我要投稿

        在中興軟件技術(shù)從事手機(jī)游戲開發(fā)的實(shí)習(xí)報(bào)告

          一、實(shí)習(xí)目的

        在中興軟件技術(shù)從事手機(jī)游戲開發(fā)的實(shí)習(xí)報(bào)告

          熟悉j2me開發(fā)手機(jī)游戲的環(huán)境和配置,學(xué)習(xí)java程序語言并能夠利用java進(jìn)行軟件開發(fā),能夠?qū)崿F(xiàn)一個(gè)簡單的java手機(jī)游戲,通過培訓(xùn)增強(qiáng)分析程序源代碼及編程的能力。

          二、實(shí)習(xí)任務(wù)

          學(xué)習(xí)j2me語言及java手機(jī)游戲的開發(fā)和設(shè)計(jì),基本的理論原理,并在培訓(xùn)后以小組的形式完成一個(gè)小型的java手機(jī)游戲程序。

          三、實(shí)習(xí)時(shí)間及地點(diǎn)

          實(shí)習(xí)時(shí)間:2009年2 月23日——2009年3月1日 實(shí)習(xí)地點(diǎn): 信科s311b

          四、實(shí)習(xí)內(nèi)容及過程

          實(shí)習(xí)內(nèi)容:j2me手機(jī)游戲開發(fā)

          實(shí)習(xí)過程:

          1.游戲的準(zhǔn)備工作

          通過培訓(xùn)學(xué)習(xí)了j2me開發(fā)工具包中幾個(gè)常用類的使用方法和java的基本語法和相關(guān)知識(shí),并通過具體的操作來加深對函數(shù)的理解,也增強(qiáng)了個(gè)人動(dòng)手能力。同時(shí)跟著老師,學(xué)會(huì)了j2me環(huán)境的配置,知道了怎樣一步步地實(shí)現(xiàn)游戲的功能。

          在自己編寫游戲之前,先做好相關(guān)的游戲準(zhǔn)備工作。主要要在自己的電腦上對開發(fā)環(huán)境進(jìn)行安裝和配置,同時(shí)要確定本小組設(shè)計(jì)的游戲題目,針對所設(shè)計(jì)的游戲要實(shí)現(xiàn)的功能找到相關(guān)的素材,比如.png類型的圖片。

          2.游戲的設(shè)計(jì)思路

          通過參考其他游戲的規(guī)則,將自己的游戲設(shè)計(jì)為一個(gè)射擊游戲,即:先登陸游戲,然后可以在無限的時(shí)間內(nèi)將隨機(jī)出現(xiàn)的敵機(jī)擊落,并且在攻擊敵機(jī)的時(shí)候不能夠讓敵方的子彈擊中或不能與敵機(jī)相撞,否則玩家生命值減1及子彈數(shù)量減少一倍,直到玩家生命值為0,這時(shí)游戲結(jié)束。如果擊中一定數(shù)目的敵機(jī),將進(jìn)入下一關(guān)。在敵機(jī)中有少數(shù)的敵機(jī)帶有升級(jí)包,被擊中后將成為玩家升級(jí)子彈和增加生命值的'升級(jí)包,玩家拾到后子彈的數(shù)量將增加一倍(但最多只能夠增加到原有子彈的三倍),同時(shí)生命值增加一點(diǎn)。在游戲中共設(shè)置了四種敵機(jī)類型,兩種普通的敵機(jī)和兩種高級(jí)敵機(jī)。游戲中將根據(jù)玩家擊落的敵機(jī)數(shù)增加敵機(jī)移動(dòng)的速度,同時(shí)對逃脫的敵機(jī)進(jìn)行統(tǒng)計(jì),如果超過一定數(shù)量的敵機(jī)逃脫則游戲結(jié)束。

          3.游戲的具體實(shí)現(xiàn)

          test.java – 主類,運(yùn)行在手機(jī)平臺(tái)上必須要繼承middle父類,及調(diào)用相應(yīng)的控制游戲運(yùn)行方法。

          mycanvas.java – 游戲顯示及調(diào)用類,其中定義了各種游戲中需要的變量和創(chuàng)建其他類的實(shí)例。

          player.java – 玩家類,其中定義了玩家的位置及運(yùn)動(dòng)軌跡。

          enemy.java – 敵機(jī)類,定義了敵機(jī)的類型,敵機(jī)的位置,敵機(jī)的運(yùn)行軌跡。

          enemy類的實(shí)現(xiàn)和注釋:

          import javax.microedition.lcdui.*;

          public class enemy {

          private int x, y;

          private int type;// 設(shè)置敵人的圖片格式

          private boolean isblod; // 掉血的敵機(jī),如果被擊落將變?yōu)橥婕业淖訌椛?jí)值

          public boolean isblod() {

          return isblod;

          }

          /**

          * 設(shè)置敵人被擊中后是否掉落升級(jí)玩家子彈的物品

          *

          * @param isblod

          */

          public void setblod(boolean isblod) {

          this.isblod = isblod;

          }

          image img;

          public enemy(int xx, int yy, int type) {

          this.x = xx;

          this.y = yy;

          this.type = type;

          stringbuffer s = new stringbuffer();

          int i = mycanvas.time % 3;

          string str;

          try {

          // 根據(jù)不同的類型導(dǎo)入不同的敵人圖片

          switch (type) {

          case 0:

          s.append("/plan0");

          s.append(i);

          s.append(".png");

          str = s.tostring();

          img = image.createimage(str);// plan 0

          break;

          case 1:

          s.append("/plan0");

          s.append(i);

          s.append(".png");

          str = s.tostring();

          img = image.createimage(str);// plan 1

          break;

          case 2:

          img = image.createimage("/boss0.png");// boss 0

          break;

          case 3:

          s.append("/plan1");

          s.append(i);

          s.append(".png");

          str = s.tostring();

          img = image.createimage(str);// plan 1

          break;

          case 4:

          s.append("/plan1");

          s.append(i);

          s.append(".png");

          str = s.tostring();

          img = image.createimage(str);// plan 2

          case 5:

          img = image.createimage("/boss1.png");// boss 1

          case 6:

          img = image.createimage("/blod.png");// blod

          break;

          case 7:

          img = image.createimage("/explored.png");// explored

          break;

          }

          } catch (exception e) {

          system.out.println("設(shè)置敵人的圖片不能為空");

          }

          }

          public void draw(graphics g) {

          g.drawimage(img, x, y, 0);

          }

          public void cycle() {

          switch (gettype()) {

          case 0:

          y += gety() % 1 + 1;

          break;

          case 1:

          y += gety() % 2 + 1;

          break;

          case 2:

          y += gety() % 2 + 2;

          break;

          case 3:

          y += gety() % 2 + 3;

          break;

          case 4:

          y += gety() % 2 + 5;

          break;

          case 5:

          y += gety() % 2 + 8;

          break;

          case 6:

          y += gety() % 1 + 1;

          break;

          }

          }

          /**

          * 設(shè)置敵人的x坐標(biāo)

          *

          * @param xx

          */

          public void setx(int xx) {

          x = xx;

          }

          /**

          * 得到敵人當(dāng)前的x坐標(biāo)

          *

          * @return

          */

          public int getx() {

          return x;

          }

          /**

          * 設(shè)置敵人的y坐標(biāo)

          *

          * @param yy

          */

          public void sety(int yy) {

          y = yy;

          }

          /**

          * 得到敵人當(dāng)前的y坐標(biāo)

          *

          * @return

          */

          public int gety() {

          return y;

          }

          /**

          * 得到敵人類型

          *

          * @return

          */

          public int gettype() {

          return type;

          }

          /**

          * 設(shè)置敵人類型

          *

          * @param type

          */

          public void settype(int type) {

          this.type = type;

          }

          }

          ball.java – 子彈類,其中定義了子彈的位置及子彈運(yùn)行軌跡

          五、實(shí)習(xí)收獲與體會(huì)

          通過這幾天的培訓(xùn),我逐步熟悉了java游戲開發(fā),也深刻的體會(huì)到了要實(shí)現(xiàn)一個(gè)游戲程序的困難,在游戲中一個(gè)很簡單的動(dòng)作,往往涉及到一系列的代碼?偟膩碚f,我學(xué)會(huì)了怎么配置基于j2me的java游戲開發(fā)環(huán)境,以及對簡單的類之間的繼承,接口的連接等,了解了基本類的定義和對象屬性的設(shè)置;也讓我學(xué)到了一些基本的游戲設(shè)計(jì)和開發(fā)方法,并對每個(gè)游戲動(dòng)作如何在代碼中實(shí)現(xiàn)出來有了一定了解。

          這次通過參加培訓(xùn),然后自己動(dòng)手來完成一個(gè)java游戲的開發(fā),增強(qiáng)了我們的動(dòng)手能力,讓我們可以自主的去構(gòu)思要實(shí)現(xiàn)的功能以及需要的函數(shù)、類等,提高了我們對于程序的總體把握能力。在設(shè)計(jì)游戲和編寫代碼的時(shí)候,由于剛開始對游戲的運(yùn)行規(guī)則沒有定義好,在寫代碼的時(shí)候做了幾次修改,這增加了開發(fā)所要的時(shí)間,降低了開發(fā)效率。開始定義的碰撞也不太合理,使得子彈離敵機(jī)距離稍大也算打中敵機(jī),看起來就是子彈沒有打中,敵機(jī)也被殲滅了,后來進(jìn)行了調(diào)整。在整個(gè)游戲的開發(fā)過程中,我認(rèn)識(shí)到程序的調(diào)試和改錯(cuò)方面有許多的技巧,例如段首的提示符給予的信息以及被特殊標(biāo)出的下劃線,都可以作為參考。代碼開發(fā)是一項(xiàng)比較煩瑣的工作,長久就會(huì)失去耐心,就會(huì)容易出錯(cuò),所以要做到耐心和細(xì)心,才能夠減少錯(cuò)誤,進(jìn)而減少調(diào)試所需的時(shí)間。

          六、致謝

          非常感謝鄭老師在培訓(xùn)的時(shí)候給予我們的幫助!在這次培訓(xùn)中,不但讓我學(xué)習(xí)了如何編寫java程序和利用j2me開發(fā)手機(jī)游戲,讓我對java游戲開發(fā)有了初步的認(rèn)識(shí);更讓我學(xué)習(xí)到如何去逐步設(shè)計(jì)一個(gè)游戲,對游戲開發(fā)有了較深的認(rèn)識(shí),并通過小組協(xié)作完成了小游戲的編寫,這都有賴于老師的細(xì)心指導(dǎo)。在此,再次向您表示我衷心的感謝!

          七、指導(dǎo)教師評(píng)語

          八、評(píng)閱人意見

        【在中興軟件技術(shù)從事手機(jī)游戲開發(fā)的實(shí)習(xí)報(bào)告】相關(guān)文章:

        游戲開發(fā)實(shí)習(xí)報(bào)告08-31

        游戲項(xiàng)目開發(fā)的實(shí)習(xí)報(bào)告06-01

        軟件技術(shù)實(shí)習(xí)報(bào)告12-19

        游戲項(xiàng)目開發(fā)實(shí)習(xí)總結(jié)12-15

        軟件技術(shù)開發(fā)合同03-02

        軟件技術(shù)實(shí)習(xí)報(bào)告例文03-20

        軟件技術(shù)實(shí)習(xí)報(bào)告范文04-18

        游戲開發(fā)實(shí)習(xí)日記分享04-25

        軟件技術(shù)開發(fā)合同模板12-09

        99热这里只有精品国产7_欧美色欲色综合色欲久久_中文字幕无码精品亚洲资源网久久_91热久久免费频精品无码
          1. <rp id="zsypk"></rp>