小程序双扣水桶怎么玩

小程序双扣水桶怎么玩,第1张

双扣游戏中,玩家人数为4人,对家的两人为一队;如果上一局是单扣或平扣,则从上一局最先出完牌的玩家开始出牌。如果是第一局、新局、上局双扣结束的情况,则随机选择一个玩家先出牌。

双扣牌型包括:

单张:任意一张单牌

顺子:任意五张或者五张以上点数相连的牌,2和王不能出现在顺子中

对子:任意两张点数相同的牌

连对:三对或三对以上点数相连的牌,如:556677。2和王不能出现在连对中

三张:任意三张点数相同的牌

连三张:三个或三个以上点数相连的三张牌,如:555666777。2和王不能出现在连对中。

炸d:四张或四张以上点数相同的牌,如:66666。

天王炸d:四张王牌

3、双扣游戏怎么玩

在同城游双扣游戏中,玩双扣需要有全局观,手上的牌理好的时候对本局的出牌就应该有策略。如果牌不好,不太可能很快跑牌,目标最好更换为牺牲自己,帮助队友尽快出完牌。

自己出牌时,要出对家想要的牌;压制火力较大的对手,给对家争取更多出牌机会;顶上家,卡下家,就是不让上家连续出牌,也不让下家逃牌。如果自己的牌比较好,尽量将敌方的大牌引出来消灭掉,替自己的对家减轻负担。

首先规定a为12升水桶,b为8升水桶,c为5升水桶,倒水只能按照a-b,b-c,c-a的顺序,且保证每次倒水都要让水倒满,有了以上规定,问题可以这样来想,因为最终水的分布是a=6,b=6,c=0,b中6升的水只能是通过b向c中倒水来实现的(因为b的容量是8所以在保证每次都要让水倒满的情况下a向b中倒水只能倒满8升,可见b中的6升水是通过b向c倒水实现的,这句话是算法的关键,起始就是考虑什么时候要把b中的水倒掉什么时候需要给b加水)

具体的过程就变为判断b的情况,如果b为0时那么从a中取水,如果b不为0也不是6则要将水倒给c ,如果b中是6那么还需要判断c中是否为一

下面给出伪代码,思路就是如此,程序按照这个思路完成即可:

int cup[3]={12,0,0}//用数组来代替12L的a,8L的b和5L的c

while(1){

if(cup[1]=0){//如果b中没有水则需要加水

cup[0] to cup[1]//把水从a倒到b

printf("a=%d,b=%d,c=%d",cup[0],cup[1],cup[2])

}

else if(cup[1]!=0&&cup[1]!=6){/*如果b中有水并且不是6L则需要将b中的水倒掉,之后c中的水也要倒掉*/

cup[1] to cup[2]//把b中的水倒给c

cup[2] to cup[0]//给b加水

printf("a=%d,b=%d,c=%d",cup[0],cup[1],cup[2])

}

else if(cup[1]==6&&cup[2]!=0){

cup[2] to cup[0]//如果c中有水 则要把c中的水倒给a

printf("a=%d,b=%d,c=%d",cup[0],cup[1],cup[2])

}

else if(cup[1]=6&&cup[2]=0){

printf("a=%d,b=%d,c=%d",cup[0],cup[1],cup[2])

break//满足条件后则退出while循环

}

}

问题其实可以理解为我们在什么时候要把b中的水倒掉,在什么时候给b中加水

当然这只是一种算法,算法还可以有许多,关键看怎么理解了 希望能帮的上你忙。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/11994572.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存