这个程式用以模拟一个游戏主角.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
附錄B 這個程式用以模擬一個遊戲主角,主角可以穿戴衣物,攜帶藥物,擁有寵物,持有武器,上述物品皆為物件。遊戲人物有人物特性,如擁有之生命力,肌力等。人物有特性的方法,如如何計算攻擊之力道或攻擊成功的機率,也擁有人物動作之方法如撿拾藥物及吞食藥物等,同時,人物還可以攜帶寵物,而寵物自身也可以擁有裝備及使用藥物等。這個範例相當適合同學練習物件的設計與實作。 在開始寫程式之前,我們先看一下以下的關係圖,並思考要設計哪些物件。 MainRole(遊戲主角) MainRole(遊戲主角) Pet(寵物) Hat(帽子) Clothes(衣服或戰甲) Shoes(鞋子或靴子) Pants(褲子) Gloves(手套) NeckLace(項鍊) Rings(戒指) Belts(腰帶) 裝備 PetClothing NeckBand(項圈) 寵物裝備 Sword(劍) Blade Knife(刀) Shield(盾牌) Staff(杖) Bow(弓) Arrow(箭) Spear(矛) 武器及盾牌 雪天果 龍角散 友露安 保濟丸 健兒寶 運功散 大還丹 愛福好 藥物 很明顯的,上圖中的所以裝備衣物武器都可以是物件,在這裡我們不會列出所有物件的程式碼,但是會大致上將其中的每一類型用範例來說明,請注意此處的程式碼雖然可以編譯,但內容皆不可謂完整,需視你想要的遊戲內容型態而有所調整,同學可以試著自己增加各式的元件及規則以期更加完整。首先我們來看遊戲主角的物件。 /* * MainRole.java * * 用來描述遊戲的主角 */ class MainRole{ int Strength; //力量 在這裡設定遊戲主角所可能有的各式屬性,同學可以視需要自行增減。 int Dexterity; //靈巧 在這裡設定遊戲主角所可能有的各式屬性,同學可以視需要自行增減。 int Viability; //生命力 int Defense; // 防禦力 int Level; // 等級 int Experience; // 經驗值 String Career; // 職業 String Name; // 名字 int Bonus; // 可使用之積點 double attackProbability; // 擊中之機率 int attackPower; // 擊中之力道 // 身上攜帶之藥箱 Medicine med[] = {new Medicine(雪天果), new Medicine(龍角散), new Medicine(友露安), new Medicine(保濟丸), 藥箱的設計為Array,如此因為不知道會拿到多少種類的藥物,所以只好固定藥物的位置,如果同學想要取消這個限制,那麼可以考慮使用Vector來代替Array。new Medicine(健兒寶)}; 藥箱的設計為Array,如此因為不知道會拿到多少種類的藥物,所以只好固定藥物的位置,如果同學想要取消這個限制,那麼可以考慮使用Vector來代替Array。 Hat hat; // 身上所穿之裝備 Pet pet; // 隨身之寵物 MainRole(int career, String name) { if(career == 0){//戰士 this.Strength = 10; this.Dexterity = 3; this.Viability = 12; this.Defense = 15; this.Level = 0; this.Experience = 0; this.Name = name; this.Career = 戰士; 在Constructor內建立不同職業選項,不同職業的角色有不同的屬性值,當然同學需要根據這些角色設計額外的描述變數以及武器裝備等。例如人物中有魔法師,那麼可能需要在人物變數中加上法力之類的變數。 this.attackPower = 1; 在Constructor內建立不同職業選項,不同職業的角色有不同的屬性值,當然同學需要根據這些角色設計額外的描述變數以及武器裝備等。例如人物中有魔法師,那麼可能需要在人物變數中加上法力之類的變數。 this.Defense = 1; this.hat = null; this.pet = null; } // if if(career == 1){//弓箭手 this.Strength = 7; this.Dexterity = 10; this.Viability = 8; this.Defense = 10; this.Level = 0; t

文档评论(0)

22255990 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档