登录 注册

三战卡OL开发日记【6】匹配对战

呃。。当然目前只做了“匹配”,没有做“对战”

讲真的用PHP做这种东西也真的是挺麻烦的......不过还是做出来了。原理是这样的:

当进入等待界面时,创建一条匹配记录,开始轮询(PHP只能轮询没办法),当发现匹配记录被其他人填上以后即表示进入对战。然后点击匹配按钮时,如果查询到可以匹配的对象,则填上对方的记录,如果查不到就自己开始等待。

所以说......这个功能其实还是比较简陋的,如果两个人同时开始匹配则可能出现信息锁的问题.......(但是对于PHP来说 能做到这样已经挺不错了嗯)

细节上,为了防止一些死锁,把部分SQL语句都直接合并成了UPDATE语句,比如说:

$q=$mysqli->prepare("UPDATE matching SET matched=? WHERE timestamp>? LIMIT 1");
.......
if ($mysqli->affected_rows>0){
blablabla;
}

如果连续运行两句SQL的话,可能会导致一些死锁情况,所以合并成一条,可以避免这些情况。当然我确实不太清楚mysqli是否针对这些死锁做过什么优化,但是直接这样写还可以节约一次IO,岂不是更好= =


最后开始搞一些第二弹的蜀国:

(因为只有一弹的话卡池实在太浅了,没法玩啊)

诸葛亮:3费2500,枪,智魅

【看破】每当你需要使用一张无懈可击时,你可以视为使用了一张无懈可击


赵云:2费1500,枪,勇魅

【龙胆】限定技[2],阶段内,你可以使你受到的伤害降低1000,或使你造成的伤害增加500

(没办法,群赵云实在是太契合龙胆了。。。直接拿过来了233)


黄忠:4费3000,弓,勇

【穿杨】若你装备了特效属性为[弓]的武器,则当你战斗胜利时,你可以与下个出阵阶段造成相当于当前溢出伤害数值的兵力伤害

(把初版新黄忠改成4费,这样收益大一些也无可厚非)


孙尚香:2费1000,枪,魅援

【结姻】援军技[枪],若你的主将为男性,则额外提供1000支援兵力


关银屏:1费500,枪,勇魅,追击

【父魂】出阵时,你可以展示弃牌堆中的【关羽】【关平】【关兴】【关索】各一张,然后增加3000兵力


周仓:2费1000,枪,勇援,追击

【忠勇】援军技[勇],若你的主将为【关羽】或【关平】,则当其阵亡时,将你的援军翻面扣置在主将区,视为下回合出阵


马良:1费500,枪,智援

【危弈】援军技,出阵阶段,你可以弃置X张手牌(X为你的主将的费用减2且至少为0),然后令对方战斗胜利,并将你的主将收回手牌


刘禅:2费500,步

【享乐】锁定技,出阵阶段,对方须选择一项:弃置一张手牌,或令你本回合不受兵力伤害


王平:3费2000,枪

【坚守】锁定技,阶段内,你受到的伤害减少1000*X,X为对方配置的装备数量


严颜:2费1500,弓,勇援

【益壮】援军技,锁定技,出阵时,你的主将兵力上限+1000

2017
03 26
上一篇
Older
下一篇
Newer
评论
0
点击
147
发布
我是标题
我是文字
我是标题
我是文字
用户名
密码
用户名
密码
重复密码
努力的加载中.....