- 1
- 0
- 约1.49万字
- 约 32页
- 2018-05-11 发布于河南
- 举报
网页游戏开发七武器
网页游戏开发七武器(三、前台功能)
网页游戏的前台功能,大体上有1)C#2)java3)php (注C/C++主要作后台功能)这里讲的前台功能,是指游戏功能的前台程序逻辑。以php的语法来讲解。 这里的功能实现,基本上是类夹杂着函数实现,这是因为php执行的特性决定的。如果C# 或者Java,应该根据语言自身的特点,以获得程序执行的高效率为目标,作调整、修改或者是重写。角色部分(角色、装备、背包)角色首先,假设角色已经建立好了。大概有这些属性。用户idid 用户昵称 name等级lvl (level)力量po (power)敏捷ag(agility)生命hp (heathy point)体力sp (strength point)攻击ap (attack point)防御dp (defense point)这时候ok了吗?还差一些,至少需要加上:生命最大值 hpmax体力最大值 spmax假设力量和敏捷是可以通过加点增加的。那么还需要有:可加点数 point如果你需要有洗点的功能,那么还需要加上:已加点数 allpoint现在,我们的角色已经初具雏形。用户idid 用户昵称 name等级lvl力量po敏捷ag生命hp体力sp攻击ap防御dp生命最大值 hpmax体力最大值 spmax可加点数 point已加点数 allpoint假设角色信息是这样:用户id1 用户昵称 小明等级1力量15敏捷15生命100体力50攻击10防御10生命最大值 100体力最大值 50可加点数 0已加点数 10获得角色信息。$user=getUser(1);这时候$user[‘ap’]==10;$user[‘dp’]==10;$user[‘hp’]==100;$user[‘sp’]==50;已经可以开始打怪了。好了,这时候问题来了。如果角色穿上了装备。装备对角色属性的加成,怎么处理呢?装备首先,构造一个装备基础表。假设装备可以增加以下属性。力量po敏捷ag攻击ap防御dp生命最大值 hpmax体力最大值 spmax这样么:装备idid装备名称name增加力量pg增加敏捷??ag增加攻击ap增加防御dp增加生命hp增加体力sp这样的后果就是很难扩展。假如装备是物品的一种,那么这时候,表就很难构造了。简化为:装备idid装备名称name增加类型 addtype增加点数 addpoint比如 装备id1装备名称??木棍增加类型ap|pg增加点数10|3意思是木棍增加攻击10点,增加力量3点。假设我们获取了id为1的装备的信息$equip=getEquipInfo(1);然后开始展示装备。Echo $equip[‘name’].”br/”;$addtype = explode(|, $equip[addtype]);$addpoint = explode(|,$equip [addpoint]);foreach ($addtype as $key=$value){echo $addtype[$k].+.$addpoint[$k]. br/;}显示出来为:木棍ap+10pg+3这时候装备是装备,角色是角色,他们是分离开的。为了让角色与装备关联起来。需要新增加一个userequip表。即玩家装备表。假设一个角色只能拿3件装备。那么userequip:用户idid 装备一equipid_1装备二equipid_2装备三equipid_3这时候,当角色装备上木棍后。数据为用户id1装备一1装备二0装备三0获得角色的装备id$userequipid=getUserEquip(1)获得角色的装备function getEquip($id){$equip=getEquipInfo($id);$addtype = explode(|, $equip[addtype]);$addpoint = explode(|,$equip [addpoint]);? ?? ? foreach ($addtype as $key=$value){$userequip[$addtype[‘ap’]]= $userequip[$addtype[‘ap’]]+ $addpoint[$key][‘addpoint’];}}$
原创力文档

文档评论(0)