資源描述:
《網(wǎng)頁(yè)游戲開發(fā)七武器》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、網(wǎng)頁(yè)游戲開發(fā)七武器(三、前臺(tái)功能)網(wǎng)頁(yè)游戲的前臺(tái)功能,大體上有1)C#2)java3)php(注C/C++主要作后臺(tái)功能)這里講的前臺(tái)功能,是指游戲功能的前臺(tái)程序邏輯。以php的語(yǔ)法來(lái)講解。這里的功能實(shí)現(xiàn),基本上是類夾雜著函數(shù)實(shí)現(xiàn),這是因?yàn)閜hp執(zhí)行的特性決定的。如果C#或者Java,應(yīng)該根據(jù)語(yǔ)言自身的特點(diǎn),以獲得程序執(zhí)行的高效率為目標(biāo),作調(diào)整、修改或者是重寫。角色部分(角色、裝備、背包)角色首先,假設(shè)角色已經(jīng)建立好了。大概有這些屬性。用戶idid用戶昵稱name等級(jí)lvl(level)力量po(power)敏捷a
2、g(agility)生命hp(heathypoint)體力sp(strengthpoint)攻擊ap(attackpoint)防御dp(defensepoint)這時(shí)候ok了嗎?還差一些,至少需要加上:生命最大值hpmax體力最大值spmax假設(shè)力量和敏捷是可以通過(guò)加點(diǎn)增加的。那么還需要有:可加點(diǎn)數(shù)point如果你需要有洗點(diǎn)的功能,那么還需要加上:已加點(diǎn)數(shù)allpoint現(xiàn)在,我們的角色已經(jīng)初具雛形。用戶idid用戶昵稱name等級(jí)lvl力量po敏捷ag生命hp體力sp攻擊ap防御dp生命最大值hpmax體力最大值
3、spmax可加點(diǎn)數(shù)point已加點(diǎn)數(shù)allpoint假設(shè)角色信息是這樣:用戶id1用戶昵稱小明等級(jí)1力量15敏捷15生命100體力50攻擊10防御10生命最大值100體力最大值50可加點(diǎn)數(shù)0已加點(diǎn)數(shù)10獲得角色信息。$user=getUser(1);這時(shí)候$user[‘a(chǎn)p’]==10;$user[‘dp’]==10;$user[‘hp’]==100;$user[‘sp’]==50;已經(jīng)可以開始打怪了。好了,這時(shí)候問題來(lái)了。如果角色穿上了裝備。裝備對(duì)角色屬性的加成,怎么處理呢?裝備首先,構(gòu)造一個(gè)裝備基礎(chǔ)表。假設(shè)裝備
4、可以增加以下屬性。力量po敏捷ag攻擊ap防御dp生命最大值hpmax體力最大值spmax這樣么:裝備idid裝備名稱name增加力量pg增加敏捷??ag增加攻擊ap增加防御dp增加生命hp增加體力sp這樣的后果就是很難擴(kuò)展。假如裝備是物品的一種,那么這時(shí)候,表就很難構(gòu)造了。簡(jiǎn)化為:裝備idid裝備名稱name增加類型addtype增加點(diǎn)數(shù)addpoint比如裝備id1裝備名稱??木棍增加類型ap
5、pg增加點(diǎn)數(shù)10
6、3意思是木棍增加攻擊10點(diǎn),增加力量3點(diǎn)。假設(shè)我們獲取了id為1的裝備的信息$equip=getEq
7、uipInfo(1);然后開始展示裝備。Echo$equip[‘name’].”
”;$addtype=explode("
8、",$equip['addtype']);$addpoint=explode("
9、",$equip['addpoint']);foreach($addtypeas$key=>$value){echo$addtype[$k]."+".$addpoint[$k]."
";}顯示出來(lái)為:木棍ap+10pg+3這時(shí)候裝備是裝備,角色是角色,他們是分離開的。為了讓角色與裝備關(guān)聯(lián)起來(lái)。需要
10、新增加一個(gè)userequip表。即玩家裝備表。假設(shè)一個(gè)角色只能拿3件裝備。那么userequip:用戶idid裝備一equipid_1裝備二equipid_2裝備三equipid_3這時(shí)候,當(dāng)角色裝備上木棍后。數(shù)據(jù)為用戶id1裝備一1裝備二0裝備三0獲得角色的裝備id$userequipid=getUserEquip(1)獲得角色的裝備functiongetEquip($id){$equip=getEquipInfo($id);$addtype=explode("
11、",$equip['addtype']);$add
12、point=explode("
13、",$equip['addpoint']);????foreach($addtypeas$key=>$value){$userequip[$addtype[‘a(chǎn)p’]]=$userequip[$addtype[‘a(chǎn)p’]]+$addpoint[$key][‘a(chǎn)ddpoint’];}}$userequip=getEquip($userequipid[‘equipid_1’])增加角色的屬性$user[‘a(chǎn)p’]=$user[‘a(chǎn)p’]+$userequip[‘a(chǎn)p’];$user[‘d
14、p’]=$user[‘dp’]+$userequip[‘dp’];這樣,角色與裝備的聯(lián)系就搞定了。當(dāng)然,有更多的巧妙的方式,讓角色與裝備變得更簡(jiǎn)單和更強(qiáng)大。實(shí)際運(yùn)用中,建立一個(gè)角色類,裝備什么的,通過(guò)類似組合的方式放進(jìn)去。(實(shí)際上不算組合,就是函數(shù))類似:classUser{public$user;functiongetUserBase(){//獲得角色基礎(chǔ)