java实现纸牌游戏之小猫钓鱼算法

您所在的位置:网站首页 扑克牌小猫钓鱼教案 java实现纸牌游戏之小猫钓鱼算法

java实现纸牌游戏之小猫钓鱼算法

2024-07-10 22:36| 来源: 网络整理| 查看: 265

这篇文章主要为大家详细介绍了java实现纸牌游戏之小猫钓鱼算法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

星期天小哼和小哈约在一起玩桌游,他们正在玩一个非常古怪的扑克游戏――“小猫钓鱼”。游戏的规则是这样的:将一副扑克牌平均分成两份,每人拿一份。小哼先拿出手中的第一张扑克牌放在桌上,然后小哈也拿出手中的第一张扑克牌,并放在小哼刚打出的扑克牌的上面,就像这样两人交替出牌。出牌时,如果某人打出的牌与桌上某张牌的牌面相同,即可将两张相同的牌及其中间所夹的牌全部取走,并依次放到自己手中牌的末尾。当任意一人手中的牌全部出完时,游戏结束,对手获胜。

假如游戏开始时,小哼手中有 6 张牌,顺序为 2 4 1 2 5 6,小哈手中也有 6 张牌,顺序为 3 1 3 5 6 4,最终谁会获胜呢?现在你可以拿出纸牌来试一试。接下来请你写一个程序来自动判断谁将获胜。这里我们做一个约定,小哼和小哈手中牌的牌面只有 1~9。 

输入

2 4 1 2 5 6 3 1 3 5 6 4

输出

小哼win 小哼当前手中的牌是 5 6 2 3 1 4 6 5 桌上的牌是 2 1 3 4

这道题目完全考察栈跟队列的应用,桌面上的牌是栈,个人手中的牌是队列。

附上JAVA实现的源码:

import java.util.LinkedList; import java.util.Scanner; import java.util.Stack; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); LinkedList a = new LinkedList();//A手中的牌 LinkedList b = new LinkedList();//B手中的牌 Stack stack = new Stack();//记录桌面上的牌 int[] book = new int[10];//用来标记哪些牌已经在桌上 int n,t,s; for(int i = 0; i

结果:

输入手中牌的个数 6 输入A君手中牌的大小 2 4 1 2 5 6 输入B君手中牌的大小 3 1 3 5 6 4 输入完毕开始游戏 A君胜利!A手中的牌是 5 6 2 3 1 4 6 5 桌面上的牌是 2 1 3 4

以上就是java实现纸牌游戏之小猫钓鱼算法的详细内容,更多请关注0133技术站其它相关文章!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3