麻将机麻将最后几张洗不起来怎么办为什么只洗104而不回到108?

麻将于中国。但麻将的创造者是谁?终究在何时降生?至今说法不一。

打麻将胜者嘴里说的是“和”,而不是“胜”或“赢”。听说,麻将的创造是为了留念梁山好汉,而梁山头领宋江一心想被招安,想与朝廷求和,并不想打赢朝廷,所以打麻将胜者历来说“和”。

传说麻将是明朝时一个名叫万秉迢的人创造的。万秉迢设计的麻将牌中,万子牌、饼子牌和条子牌为108张,暗喻梁山108位好汉,如九索指“九纹龙”史进,二索指“双鞭”呼延灼等。后万秉迢思索到梁山好汉分别东、西、南、北、中五个方位,又添加了“东”、“西”、“南”、“北”、“中”各4张。

江苏太仓县曾有皇家的大粮仓,终年囤积稻谷,以供“南粮北调”。管理粮仓的官吏为了奖励捕雀护粮者,以竹制的筹牌记捕雀数目,凭此发放酬金,这就是太仓的“护粮牌”。这种筹牌上刻着各种符号和数字,既可欣赏,又可游戏,还可作兑取奖金的凭证。

麻雀牌三种根底花色的名字叫做“万、束、筒”:“筒”即是枪筒,几筒则表示几支火药枪。“索”即“束”,是用细束绳串起来的雀鸟。“万”即是赏钱的单位,几万就是赏钱的数目。此外,“东南西北”为风向,故称“风”,火药枪射鸟应思索风向。“中、白、发”的“中”即射中之意,故为红色;“白”即白板,放空炮;“发”即发放赏金,领赏发财。另外,“碰”即“嘭”的枪声。

明朝郑和下西洋时,船上没有什么文娱用的设备,为了稳定军心,郑和创造了一种文娱工具。郑和以纸牌、牙牌、牌九等为根底,以100多块小木片为牌子,以舰队编制,分别刻了1-9“条”。又以船上装淡水桶的数量,分别刻了1-9“桶”(筒)。然后依据风向,刻了“东西南北”四个风向。又以吸收人的金钱刻了1-9“万”。刻了红色的“中”,又依据一年四季刻了四个花牌,最后有一块牌不晓得刻什么好,索性不刻任何东西,这个就是“白板”。

清咸丰前后,宁波有一人名叫陈政钥,字鱼门,此人与英国驻宁波领事夏复礼相交甚笃,并教会了英国外交官打麻将。

麻将是宁波话“麻雀”的读音,而且日语中的一切麻将术语,也都采用宁波方言的读音。与此同时,陈鱼门还新创了“杠”、“吃”和用骰子定位的办法。因而,有人以为麻将是宁波人陈鱼门依据马吊的根本花色和牌九的根本方式新创的一种骨牌博弈方式,从宁波传到各地的时间大约在清同治、光绪年间。

过年回家在家打麻将,觉得蛮有趣的,就用java写了一个麻将小游戏(没有界面,只能在控制台玩)。


    (注:用户输入的是2,但是上图中显示打出的牌是第三张,是由于调用discarMaJiang方法时没有减掉1,list的下标是从0开始的,现在这个bug已经被修改了,并且代码中也是正确的,但是需要重新截图比较麻烦,就没有重新截图,请见谅)

    • 麻将在洗牌完毕后的叠放是两层的,但是本程序中并没有使用二维数组,而是使用了一个List,原因之一是使用ArrayList的随机排序功能十分方便。另外,其实我们也可以把两层叠放的麻将看成是一维的,因为取牌(除庄家跳牌外)都是从上玩下的,而且这样做对于代码而言会更加方便,如下图:

    • 本程序的List有如下这么多:
      (1)使用一个list表示整局麻将中所有的牌——名称为maJiangs;
      (2)使用一个list表示“河”,用来存放所有玩家打出的牌——名称为river;
      (3)每个玩家(包括3个电脑)都有一个list用来存放自己的牌——名称为playerMaJiangs;
      (4)四个玩家的实例都存放在一个list中——名称为players;
      (5)两粒骰子的信息都存放在一个list中——名称为dices;

    • 本程序实现了除胡牌外的全部功能,由于胡牌比较复杂就留着以后研究。另外本程序中也有很多代码不健壮性问题,例如,当玩家之外的人打牌还没有轮到玩家自己时,此时不应该显示“起牌和打牌”选项。本游戏现在只能按照正确的流程才能进行。

    • 本游戏没有界面,只能在控制台玩,后期需要添加上界面。本程序中的Game.java文件其实就是不断地调用其他类的方法,后期改为用户按钮点击事件再调用即可。

    • 本程序在架构方面存在一个问题,根据开发规范,bean中只能放属性和其对应地getter、setter、构造方法、toString方法。其余的代码应该放在业务逻辑层中。虽说本程序考虑了这个问题,但是感觉还是比较混乱,后期还需要修改。

    • 总之,代码还存在许多的问题,但是通过此次开发,我学习到了如下:
      (1)系统架构的设计非常重要,严格按照开发规范进行开发非常重要;
      (2)学习了简单工厂的设计模式、单例的设计模式(学习了单例,但是感觉不适用就没用了)
      (3)熟练使用集合类的工具类Collections非常重要;
      (4)变量和方法的命名严格按照见名知意的原则非常重要;
      (5)提高代码健壮性非常重要;

我要回帖

更多关于 麻将机麻将最后几张洗不起来怎么办 的文章

 

随机推荐