年前家里出来了一个游戏,就是把平时生活中的游戏给程序化了。但玩这个游戏需要交纳房费;于是想着如何自己开一个小程序,顺带巩固一下算法;
一副扑克牌有54张牌,其中52张是正牌,另2张是副牌(大王和小王)。
52张正牌又均分为13张一组,并以黑桃、红桃、梅花、方块四种花色表示各组,每组花色的牌包括从1-10(1通常表示为A)以及J、Q、K标示的13张牌,
现在先把思路理清楚;
一:发牌总数,单个人发牌数量
- 三个人:(总牌数最多,单人发牌数量最多)
- 总牌数:54-2-4-4-4-3-1;54张牌,三人玩:去掉两个王,去掉所有的8,去掉所有的3,去掉所有的2,去掉三个A,去掉一个K,留下36张牌
- 单人发牌数量:12张
- 四个人:
- 总牌数:54-2-4-4-4-3;54张牌,四人玩:去掉两个王,去掉所有的8,去掉所有的3,去掉所有的2,去掉三个A,去掉一个K,留下36张牌
- 单人发牌数:9张
- 五个人:K包子
- 总牌数:54-2-4-4-4-4-1;54张牌,四人玩:去掉两个王,去掉所有的8,去掉所有的3,去掉所有的2,去掉四个A,去掉一个K,留下35张牌
- 单人发牌数:7张
二:发牌逻辑()
- 一:简单:随机发牌(不按上把输赢来发牌)
- 二:复杂:随机发牌(按上把输赢来发牌)初步鉴定,不是现场打牌 ,这一模式不需要;
三:牌大小逻辑
- 一:数组[4,5,6,7,9,10,J,Q,K,A,],排序大小;3<4<5<6<7<9<10<J<Q<K<A
- 二:三张牌为炸,炸大小:4<5<6<7<9<J<Q<K
- 三:四张牌也为炸,四张炸大于三张炸;炸大小:4<5<6<7<9<10<J<Q<K
四:最具特色的调牌逻辑
- 一:总牌中如果有A则可调取除A外的所有牌(红心A开始调,红心A拥有者如果调取不了三张牌则默认判输),如没有红心A,则调取K外所有牌(红心K开始调牌,红心K拥有者如果调取不了三张牌则默认判输)
- 二:在调牌前有摆包,和强包的玩法,如没人摆包和强包,则可调牌;
- 三:调牌顺序:红心A开始调,如不调,则默认认输(或轮下一个调牌),按顺时针顺序轮下一个调牌。
五:摆包(明牌)
- 一:如有红心A,则红心A开始确认是否摆包,如红心A拥有者不摆包,则按顺时针顺序依确认,
- 二:如有人摆包,则根据当前玩游戏人数确认倍数X2;
六:强包
- 一:如有红心A,则红心A开始确认是否强包,如红心A拥有者不强包,则按顺时针顺序依确认,
- 二:如有人强包,则根据当前玩游戏人数确认倍数;
七:输赢逻辑
- 一:如有摆包或强包者,其余玩家对付摆包或强包者。
- 二:最后一个调牌者,其余玩家对付最后一个调牌者;
八:计分方式
- 一:按每一局,每个人的输赢的多少包,列举出数字,然后列出表格;
网友评论