有趣的代码——发纸牌的实现

相信大家在现实生活中都玩过纸牌游戏,今天带大家实现一下发纸牌并查看自己的牌是什么。(默认4个人玩纸牌游戏+没有大小王)至于更高级的人机对弈功能暂时就没办法讲解了,大家可以期待一手,不过,当前还是看看我们的老伙伴——纸牌游戏之发纸牌在程序中是如何实现的吧!

目录

1.发纸牌的大致流程

2.发纸牌的实现思路

3.发纸牌的代码实现

3.1menu函数的代码实现如下:

3.2game函数的代码如下:

3.3错误SendCards函数代码如下:

3.4SendCards函数代码如下:

3.5打印手中纸牌函数Printcards代码如下:

3.6完整代码如下:


1.发纸牌的大致流程

首先,像现实生活中一样,我们要先选择我们在发纸牌过程中的次序,然后由系统随机为我们发送纸牌,我们可以输入数字查看当前牌数时手中牌的具体情况,从而判断是否要重新开始(程序员给自己开个挂不过分吧😀)

2.发纸牌的实现思路

还记得我在猜数字游戏的实现中说过的一句话吗?没错,我们在写编程题或者小游戏代码时,最重要的就是理清实现思路——主体是什么?为了实现目的要创建哪些函数?函数的功能都是什么?只有当我们心中有了一个大体的框架,知道该做些什么时,我们才能更高效地编写代码,完成程序设计。

发纸牌的算法如下:

1.menu(提供游戏菜单,由玩家选择是否进行游戏:按“1”开始游戏,按“0”退出游戏,按其他则显示“选择错误,请重新选择”。)

2.game( )(进行游戏);

2.1选择我们在发纸牌过程中的次序;

2.2选择我们要查看时的纸牌数;

2.3SendCards(打印当前手中纸牌);

2.4根据是否满意当前纸牌,选择重新发牌,或者打印这轮所有牌;

3.本轮游戏结束,打印游戏菜单并再次询问玩家选择。

3.发纸牌的代码实现

我们在思考大体框架时不用过多在意具体函数的实现方法,可以先起个能表达其功能的函数名并把它放在需要的位置。(说白了就是先搞一个空壳函数占位置,等到大体框架调试完毕不再有问题后,再去实现这些空壳函数)大体框架代码如下:

#include<stdio.h>
int main()
{
	int input,count=5;
	srand((unsigned int)time(NULL));
	do
	{
		menu();
		printf("请选择:>");
        scanf("%d", &input);
        switch(input)
        {
            case 1:
                game();
                break;
            case 0:
                printf("游戏结束\n");
                break;
            default:
                printf("选择错误,请重新选择\n");
                break;
        }
    }while(input);
	return 0;
}
3.1menu函数的代码实现如下:
void menu()
{
	printf("*****************************************\n");
	printf("**********1.play      0.exit*************\n");
	printf("*****************************************\n");
}
3.2game函数的代码如下:
void game(void)
{
	int num,n,flag;
	printf("请选择你想要的位
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值