作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
Mahjong是亚洲最受欢迎的游戏之一(不是 Windows 7 中的单人纸牌游戏)。那里有很多麻将游戏,包括来自 Yahoo 的在线游戏或 DOS 时代的离线游戏!
又有一天我在想,我怎么能写一个(不包括 GUI)?
数据建模部分很简单。
获胜和计分规则是……模式匹配?
游戏的战略部分是最困难的部分,例如确定要扔掉哪张牌以及何时下棋或棋棋。如何实现?
谢谢!
研究:
最佳答案
读这个
http://homepage.mac.com/s_lott/books/python/html/p05/p05c05_mahjongg.html
这可能会有所帮助。
“决定扔掉哪一张牌”实际上非常简单。考虑到弃牌和手牌的性质,定义“准备好的”手牌就是确定哪些潜在牌组具有最多可用(非弃牌,非进行中)牌。
每个板 block 都属于几种可能的模式之一(对子,最多 3 个松狮犬,碰碰,杠)。计算填充图案所需的瓷砖很容易。根据播放的内容和显示的内容很容易减少可能的图 block 数量。可以对产生的可能模式进行排序。丢弃物是从最难填充的组合中挑选出来的。
[查看此 http://www.amazon.com/Mah-Jong-Handbook-Play-Score/dp/0804838747]
关于algorithm - 如何实现麻将游戏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4074054/
无论拼图使用何种布局,是否有任何好的方法来分配拼图,以便您可以向用户保证,在游戏开始时,至少存在一条完成拼图的路径,并且赢得比赛? 显然,根据用户的 Action ,他们可能无法获胜。我只想能够始终告
我是一名优秀的程序员,十分优秀!