作者laechan (小太保)
看板mud_sanc
标题[闲聊] 从网路概念来设定第一、第二武器
时间Wed Jul 24 15:12:17 2013
嘛,有一种网路概念是这样的。
│202.132.1.1
┌─┴─┐
┌───┤路由器├───┐
│ └───┘ │
┌──┴─┐ ┌──┴─┐
│伺服器A │ │伺服器B │
└────┘ └────┘
10.0.0.1 10.0.0.2
上面的意思是说,伺服器A 跟伺服器B 平常都是 work 状态,
然後让它们连接同一台路由器。
当使用者要从外部去存取伺服器的资料时,连线 202.132.1.1
,这时就由该路由器决定要让使用者存取 A 或是 B。
也就是说,实际上伺服器A 跟伺服器B 是没有对外的实体IP配
置的(也就是 202.132 网段),所以使用者无法直接存取 A跟B
,一定要透过路由器才行。但另一方面,使用者只要记住连往
路由器的 IP 202.132.1.1,则不管是要存取 A或B 都办得到.
======================================================
第一武器跟第二武器的设计可套用相同的概念。
例如说,我们在 en 一个剑类攻击时,假设第一跟第二武器都
是拿剑,在攻击过程中我们希望两把武器随机出现在叙述里的
时候,就这样写..
路 由 器
wp = me->query_random_weapon();
然後由 query_random_weapon 随机帮我们读取左右手其中一把
这样,写法是
wp1=me->query("weapon1");
wp2=me->query("weapon2");
if(wp2)
random(2)==1 ? wp1 : wp2;
else
wp1;
而假设两手拿不同武器,我们希望 en 时只要判断到其中一手
拿的是该类武器就可的时候..
路 由 器
wp = me->query_current_weapon(type);
也就是说我们传我们要的 type 过去,看能不能读回相对应的
武器:
wp1=me->query("weapon1");
wp2=me->query("weapon2");
if((string)wp1->query("type")!=type)
if((string)wp1->query("type")!=type)
return 空;
else
return wp2;
return wp1;
也就是说舍弃传统的直接 me->query("weapon1") 改用函数读
取的型式,可增加读取上的弹性。
Laechan
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 210.61.157.53
※ 编辑: laechan 来自: 210.61.157.53 (07/24 17:05)