版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、Mud小遊戲程式,物件導向觀念,物件程式,先定義遊戲中的類別: (1)玩家 (2)怪物 (3)地點場景,物件的關係,玩家,地點場景,怪物,玩家會和怪物戰(zhàn)鬥,玩家處在某一地點,每個地點都有一個怪物,定義類別,(1)先定義類別的靜態(tài)特性,也就是物件的屬 性(Attribute) (2)再定義該類別的動作,也就是物件的動態(tài) 特性,也就是物件的方法(Method),“玩家” 類別的特性(Attribute),(1)姓名 (2)職業(yè) (3)HP(生命值) (4)Max_HP(最大生命值) (5)錢 (6)經驗值 (7)等級 (8)攻擊力 (9)防禦力 (10)敏銳度 (11) X方位的坐標 (12)Y方
2、位的坐標,促使地點以及玩家之間產生關連,“玩家” 類別的動作(Method),(1)建構子 (2)顯示玩家的基本資料 (3)戰(zhàn)鬥(和怪獸戰(zhàn)鬥)與怪獸類別之間的互動 (4)行動(包括移動,觀察) 與地點場景之間的關係 類別的基本功能 ( get_.() ,set_.() ) (1)獲得姓名、職業(yè)、 HP、經驗值等等的值 (2)更改姓名、職業(yè)、 HP、經驗值等等的值,訊息關係,訊息相當於真實世界人說的話,藉由訊息的傳遞,觸動物件的方法,然後產生動作。,=,=,玩家和怪物的關係_戰(zhàn)鬥,物件:玩家 成員函數:戰(zhàn)鬥 引數:怪物資訊 戰(zhàn)鬥動作:戰(zhàn)鬥模式,包括攻擊力的運算、生命值的運算、勝利的動作,玩家和地
3、點場景的關係_行動,物件:玩家 成員函數:行動 引數:行動選擇 以及 場景資訊 行動內容:選擇要移動,還是要觀察四週,移動包括四個方位的移動,“怪物” 類別的特性(Attribute),(1)怪獸名 (2)HP(生命值) (3)可獲得的金錢 (4)可獲得的經驗值 (5)攻擊力 (6)防禦力 (7)敏銳度,“怪物” 類別的動作(Method),類別的基本功能 ( get_.() ,set_.() ) (1)獲得怪獸名字、 HP、經驗值等等的值 (2)更改怪獸名字、 HP、經驗值等等的值,“地點” 類別的特性(Attribute),(1) X方位的坐標 (2)Y方位的坐標 (3)東方是否可行走 (
4、4)西方是否可行走 (5)南方是否可行走 (6)北方是否可行走 (7)敘述 (8)擁有的怪物,“地點” 類別的動作(Method),類別的基本功能 ( get_.() ,set_.() ) (1)獲得地點坐標、 地點方向等等的值 (2)更改地點坐標、 地點方向等等的值,結合關係,用於描述各物件間相互連接的結構關係。物件導向觀念透過結合概念,將可描述現實世界中的結構關係 例如一間公司可以由許多人組合 公司與人之間存在者公司由許多人組成的關係。,地點場景 vs. 區(qū)域空間,許多的地點場景組合成一個區(qū)域空間 區(qū)域空間是由地點場景組合而成 程式設計為4*4的區(qū)域空間,所以遊戲的空間是由16個地點場景組
5、成,區(qū)域空間由這4*4個地點組成,(x,y)括弧代表著x和y的坐標,地點場景 vs. 區(qū)域空間,class Space public: vector space; ;,利vector用 來表示地點場景的物件組合,玩家類別,class Player private: string name; string career; double attack; double defense; double quick; int hp; int max_hp; int exp; int money; int classes; int x; int y; public: Player(string _name
6、,char _career); void Show_Information(); void Fight(Monster _monster); void set_HP(int _hp)hp=_hp; void action(char choice,Space _action); int get_HP(); ;,怪物類別,class Monster private: string name; int hp; int exp; int money; double attack; double defense; double quick; public: int get_HP(); int get_E
7、XP()return exp; int get_Money()return money; double get_Defense()return defense; double get_Attack()return attack; double get_Quick()return quick; string get_Name()return name; void set_HP(int _HP)hp=_HP; Monster(string _name,int _hp,int _money,int _exp,double _attack,double _defense,double _quick);
8、 ;,地點類別,class Land private: int x; int y; bool n; bool w; bool s; bool e; string land_script; Monster monster; public: Land(int _x,int _y,bool _e,bool _w,bool _s,bool _n,string _land_script,Monster _monster); int get_X()return x; int get_Y()return y; bool get_N()return n; bool get_E()return e; bool
9、get_S()return s; bool get_W()return w; string get_Script()return land_script; Monster get_Monster()return monster; ;,區(qū)域空間類別,class Space private: public: vector space; Land Find_Space(int _x,int _y); void Add_Space(int _x,int _y,bool _e,bool _w,bool _s,bool _n,string _land_script,Monster _monster); ;
10、,主程式上宣告怪物物件,Monster Devil(邪惡劍士,600,300,300,150,240,90); Monster Mouse(兇惡的老鼠,40,20,20,20,20,20); Monster Ghost(鬼魂,150,20,75,30,125,100); Monster Killer(殺手,400,200,500,200,300,300); Monster Bird(老鷹,800,500,1000,350,100,600); Monster Fish(鯊魚,800,100,600,400,600,400); Monster Little_Fish(小魚,600,100,200,
11、300,200,500); Monster Bear(熊,800,100,700,250,1000,50); Monster God_1(山神,1200,500,1500,600,1000,600); Monster God_2(河神,1500,550,1600,750,750,1000); Monster Sea_Bird(海鳥,800,300,800,300,200,700); Monster Final_Monster(邪惡的魔王,2000,800,2500,1000,1000,1000);,主程式上宣告地點物件,space.Add_Space(0,0,true,false,false,
12、false,好漂亮的房間,你目前看到東邊有一條通道,Ghost); space.Add_Space(1,0,false,true,false,true,北方有光線,好像可以通到室外,Devil); space.Add_Space(1,1,true,true,true,true,光線好亮呀,原來這是出口呀,四處都是通道,Killer); space.Add_Space(2,1,true,true,true,true,很寬廣的草原,一望無際,Bird); space.Add_Space(0,1,true,false,false,true,前面有河流檔住了,死路一條,Fish); space.Add_Space(3,1,false,true,true,true,前面有一座山檔住路了,Bear); space.Add_Space(2,0,true,false,false,true,眼前皆是山壁,只能往東走了,Bear); space.Add_Space(3,0,false,true,false,true,完全是死路,只能往原路走回去了,God_1); space.Add_Space(0,2,true,false,true,false,眼前是一個湖,西邊是一條大溪,只能往東走了,God_2); space.Add_Spac
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度年福建省高校教師資格證之高等教育學自我檢測試卷B卷附答案
- 2024年度山西省高校教師資格證之高等教育心理學題庫綜合試卷A卷附答案
- 2024年嬰幼兒保育技能大賽試題
- 交通安全主題班會設計7篇
- 2024民間借款協(xié)議爭議起訴狀范例
- 2024年資產評估師聘用協(xié)議范本
- 醫(yī)保培訓工作總結
- 2024年城市綠化帶建設承包協(xié)議細則
- 2024年建筑行業(yè)工人聘用協(xié)議樣本
- 2024年度某公司股權投資協(xié)議文件
- 材料物理性能(安工大)ppt
- 進展性卒中內科治療
- 沼氣站操作手冊
- YS/T 815-2012銅及銅合金力學性能和工藝性能試樣的制備方法
- 生物醫(yī)用陶瓷材料1
- GB/T 35441-2017聚酰亞胺長絲
- GB/T 15706-2012機械安全設計通則風險評估與風險減小
- 氧族元素介紹
- 《原子物理學》(褚圣麟)第六章-磁場中的原子
- 《中藥鑒定技術》莖木類中藥的鑒定-課件
- 無違反計劃生育證明(3篇)
評論
0/150
提交評論