结果真写到虚拟牌手的编程需求了,阿彬也头大了。
真人打牌要怎么出牌的,似乎只是自然而然地思考一下,就决定了,不确定该怎么出的,可以凭感觉碰运气地瞎出。
如果只是简单描述为按牌面由小到大的出牌,那显然不符合真人打牌的情形,真人打牌会看情况或看心情跳着出牌,会各种排列组合的出牌,有基本规律但没有固定套路,会互相猜对方的套路,看看谁能预判对手的预排,享受出奇制胜的快感。
如果虚拟牌手的套路太简单,出牌规律太明显,就很容易被猜透,就没意思了,但是太复杂了要怎么表述,怎么设计才能感觉上没有规律但实质上有,否则没法落实到编程的层面。
你说抽牌可以让游戏充满变数,有随机的乐趣,其实抽牌也有一定的策略,也能通过记牌算牌来决定要不要抽牌,如果抽中自己需要的牌的概率比较大,那就优先选择抽牌,反之则尽量不抽,也能提高胜算。
一般的玩家娱乐玩牌的,多半就靠脑子大概记一下,或者纯碰运气瞎抽,就很有趣。
程序抽牌可以设置完整的公式,准确地计算概率,然后作决策,那肯定比大部分真人强,就会让玩家感觉虚拟牌手在作弊,可能会降低玩家的游玩积极性。
或者程序就直接知道盖起来的都是什么牌,直接按需拿牌,玩家一直赢的,需要挫一下玩家的锐气,就拿正确的牌,反之就故意拿错误的牌,但这样的话又太演了,也有可能让玩家感觉像在玩剧本牌,没意思。
那就干脆让程序纯随机抽牌。
但又有个很有趣的现象,因为人是有主观期望的,大部分人会觉得比较符合期望的随机才是真随机,真正的真随机反而容易让人觉得是假随机。
比如玩家总是抽不中想要的牌,就想着这么多次了,总该中一次了,碰巧中了,就觉得这个是真随机,其实有可能是程序设计好了,如果玩家一直抽不中,就适当的送一次,降低玩家因为连续失望而弃游的概率。
如果是真正的真随机,玩家就有可能一直抽不到想要的牌,然后就觉得是游戏有问题,那游戏本身都有问题还玩啥吖,就不玩了,其实就只是玩家自己运气差而已。
如果阿彬给出真随机不做任何额外设计的方案,就会显得阿彬没水平,而且有偷懒之嫌,阿彬不想这样,又不知道具体该怎么设计。
总之就是头疼。
从下午开始研究做地主斗,到晚上下班。
蒜头都在尽量钻研诸胖的虚拟牌手工程,纯当学习参考,有试过请教诸胖,诸胖就一个建议,直接重新做,参考一下编排结构就好,具体编程真不是调一调就搞定的,阿彬听不懂这些,蒜头能听懂,就不多问了,不好一直打扰诸胖。
阿彬就一直在写文档,就卡在虚拟牌手的设计上了,写了删,删了写,额角都出汗了,原来蒜头说做不了不是乱说的,这事儿做起来还真费脑,就想到请教老邹,结果老绉也摇头,只能翻出斗地主OL的相关文档给阿彬参考,阿彬就一直研究文档到下班。