刚刚终于将用户(非电脑)吃的算法写完了,简单地自测一下,算是通过了。

        我的大概思路如下:
1、上家出牌之后,开始做能否吃牌的判断。

2、如何判断是否能吃牌?
(1)如果上家出的牌如果是字,则返回0——表示不能吃;如果是万/条/饼,则记录下牌的类型;
(2)枚举用户手中的牌,挨个与上家出的牌比较,记录该牌相邻的左右四张牌的数量。
(3)按照以下算法返回数值
// 吃,1万 与2,3万,返回100
// 2与1,3 返回10
// 3与1,2 返回1
// 多种都行返回 和
// 无 0

3、如果能吃的话,则给用户提示可以吃。

4、点击“吃”之后,如果返回值是1或者10或者100的,直接吃,完成吃牌动作;反之则进入选择吃哪张牌的阶段,循环显示可待吃牌组合的类型,用户则点击牌,则选择了用哪两张牌去吃,完成吃牌动作。

       基本上,吃碰杠胡的算法都基本写完了,接下来的工作是解决bug,完善电脑该怎么吃的算法,这算不算是人工智能呢?第一次写这样的程序,纯属出于爱好,很高兴,因为我在完成小时候的愿望。

yobin 2007/11/08