我目前正在开发使用Actionscript 3的纸牌游戏,我想知道如何确保至少有一个获胜的可能性。
游戏与此游戏类似:
https://play.google.com/store/apps/details?id=com.gameduell.cleopatraspyramidnew&hl=en https://itunes.apple.com/us/app/cleopatras-pyramid/id401141292?mt=8
播放器必须播放与所呈现卡片的上一个或下一个值匹配的卡片。
我尝试了不同的方法,但仍然不满意。
我想知道的是,如何确保在隐藏牌中至少有一场胜利游戏,因此玩家将有可能获胜。
感谢
答案 0 :(得分:0)
鉴于所有卡片都已预先放置,您可以执行以下操作:
诀窍是,你从赢得一块板开始,并添加一层(一对),以便通过状态序列构造移除这一对将导致可赢的条件。显然,您可以将随机对添加到金字塔中的随机可用位置,偶尔也会随机,例如,最后2个位置在实际游戏过程中不能同时拾取,这是一种撤消的情况以前的位置,也许不只是一个。您可以通过为网格空间提供深度值来解决这种情况,如果自由空间的最大深度等于未放置的对的数量,则最深的位置将被占用而不是随机的。
如果您的游戏涉及一次播放一张卡片,那么在选择下一张卡片时应进行额外检查 - 如果剩余的一组卡片未连接,例如你已经选中了所有的4个,并且在未选择的组中还有3个和5个。这意味着您必须撤回以在前一阶段选择另一张卡。算法可以是这样的: