纸牌游戏-小猫钓鱼(队列和栈的基本应用)

本文介绍了如何使用栈和队列来模拟纸牌游戏——小猫钓鱼的过程。通过分析游戏规则,玩家的出牌和赢牌行为可以转化为出列和入列操作,用栈模拟桌子状态,清晰地跟踪游戏进度。在实现过程中,作者强调了细心调试代码的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先给小哼和小哈发牌,然后按照先小哼后小哈的出牌顺序出牌。出牌时,若某人打出的牌面与桌子上的某张牌面相同,则这个人将两张相同和之间的牌全部取走,并依次放在自己手中牌的末尾。当任意一人手中的牌全部取完时,游戏结束,对手获胜。

 分析:

     不管小哼还是小哈,他们总共只有两种操作--出牌和赢牌,这就可以很好地用出列和入列模拟,用栈模拟桌子,能够很好地清楚桌子上的牌的情况。

#include"stdio.h"
struct queue
{   //定义队列
    int data[1000];
    int head;
    int tail;
};
struct stack
{
    //定义栈
    int data[10];
    int top;
};
int main()
{
    struct queue q1,q2;//分别模拟小哼、小哈
    struct stack s;//模拟桌子
    int i,t,book[10]={0};
    //初始化队列
    q1.head=1;q1.tail=1;
    q2.head=1;q2.tail=1;
    //初始化栈
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值