利用switch语句制作的抽卡小游戏。

标题:利用switch语句制作的抽卡小游戏。

输出效果:

在这里插入图片描述

代码部分:

基本只用了switch的嵌套来完成

//该游戏是使用switch语句开发的数字小游戏,作者:initial.M
//抽卡游戏规则介绍:开始一共有16张卡,你和电脑一起抽卡,你可以选择先抽卡或后抽卡。谁最后把卡拿完就赢。注意,每次只能拿1或2或3张卡
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>

int main()
{
	int a; //必输整形
	int b; //必输整形
	int c; //必输整形
	int d; //必输整形
	int e; //选择
	int f; 
	int g;//输的情况1,整形
	int h;//输的情况1,整形
	int i;//输的情况1,整形
	int j;
	int k;
	printf("游戏规则:开始一共有16张卡,你和电脑一起抽卡,你可以选择先抽卡或后抽卡。谁最后把卡拿完就赢。注意,每次只能拿1或2或3张卡\n\n\n");
	printf("请问你要先手还是后手?先手请输入1,后手请输入0\n");
	scanf("%d", &e);
	if (e==1)     //玩家必输
	{
		printf("目前还有16张卡,请抽卡\n");
		scanf("%d", &a);
		switch (a)
		{
		case 1:printf("电脑抽了3张,目前还剩15-3=12张\n"); break;
		case 2:printf("电脑抽了2张,目前还剩14-2=12张\n"); break;
		case 3:printf("电脑抽了1张,目前还剩13-1=12张\n"); break;
		default:printf("输入数值非法,游戏结束");

		}
		scanf("%d", &b);
		switch (b)
		{
		case 1:printf("电脑抽了3张,目前还剩11-3=8张\n"); break;
		case 2:printf("电脑抽了2张,目前还剩10-2=8张\n"); break;
		case 3:printf("电脑抽了1张,目前还剩9-1=8张\n"); break;
		default:printf("输入数值非法,游戏结束");

		}
		scanf("%d", &c);
		switch (c)
		{
		case 1:printf("电脑抽了3张,目前还剩7-3=4张\n"); break;
		case 2:printf("电脑抽了2张,目前还剩6-2=4张\n"); break;
		case 3:printf("电脑抽了1张,目前还剩5-1=4张\n"); break;
		default:printf("输入数值非法,游戏结束");

		}
		scanf("%d", &d);
		switch (d)
		{
		case 1:printf("电脑抽了3张,目前还剩3-3=0张\n\n电脑抽完了最后一张卡,你输了!"); break;
		case 2:printf("电脑抽了2张,目前还剩2-2=0张\n\n电脑抽完了最后一张卡,你输了!"); break;
		case 3:printf("电脑抽了1张,目前还剩1-1=0张\n\n电脑抽完了最后一张卡,你输了!"); break;
		default:printf("输入数值非法,游戏结束");

		}
		printf("按任意键结束\n");
	}    //玩家必输部分结束






	else   //玩家可能赢的情况
	{
		printf("电脑抽卡2张,目前还剩14张,请抽卡!\n\n");
		scanf("%d", &f);
		switch (f)
		{
		case 1:printf("电脑抽了1张,目前还剩13-1=12张\n");   //玩家输的情况1
			scanf("%d", &g);
			switch (g)
			{
			case 1:printf("电脑抽了3张,目前还剩11-3=8张\n"); break;
			case 2:printf("电脑抽了2张,目前还剩10-2=8张\n"); break;
			case 3:printf("电脑抽了1张,目前还剩9-1=8张\n"); break;
			default:printf("输入数值非法,游戏结束");

			}
			scanf("%d", &h);
			switch (h)
			{
			case 1:printf("电脑抽了3张,目前还剩7-3=4张\n"); break;
			case 2:printf("电脑抽了2张,目前还剩6-2=4张\n"); break;
			case 3:printf("电脑抽了1张,目前还剩5-1=4张\n"); break;
			default:printf("输入数值非法,游戏结束");

			}
			scanf("%d", &i);
			switch (i)
			{
			case 1:printf("电脑抽了3张,目前还剩3-3=0张\n\n电脑抽完了最后一张卡,你输了!"); break;
			case 2:printf("电脑抽了2张,目前还剩2-2=0张\n\n电脑抽完了最后一张卡,你输了!"); break;
			case 3:printf("电脑抽了1张,目前还剩1-1=0张\n\n电脑抽完了最后一张卡,你输了!"); break;
			default:printf("输入数值非法,游戏结束");

			}
			; break;   // 输的情况1结束


		case 2:printf("电脑抽了1张,目前还剩=11张\n");
			scanf("%d", &j);
			switch (j)
			{
			case 1:printf("电脑抽了2张,目前还剩10-2=8张\n");//输的情况3
				scanf("%d", &h);
				switch (h)
				{
				case 1:printf("电脑抽了3张,目前还剩7-3=4张\n"); break;
				case 2:printf("电脑抽了2张,目前还剩6-2=4张\n"); break;
				case 3:printf("电脑抽了1张,目前还剩5-1=4张\n"); break;
				default:printf("输入数值非法,游戏结束");

				}
				scanf("%d", &i);
				switch (i)
				{
				case 1:printf("电脑抽了3张,目前还剩3-3=0张\n\n电脑抽完了最后一张卡,你输了!"); break;
				case 2:printf("电脑抽了2张,目前还剩2-2=0张\n\n电脑抽完了最后一张卡,你输了!"); break;
				case 3:printf("电脑抽了1张,目前还剩1-1=0张\n\n电脑抽完了最后一张卡,你输了!"); break;
				default:printf("输入数值非法,游戏结束");

				}
				; break;       //输的情况3结束



			case 2:printf("电脑抽了1张,目前还剩9-1=8张\n");  //输的情况4
				scanf("%d", &h);
				switch (h)
				{
				case 1:printf("电脑抽了3张,目前还剩7-3=4张\n"); break;
				case 2:printf("电脑抽了2张,目前还剩6-2=4张\n"); break;
				case 3:printf("电脑抽了1张,目前还剩5-1=4张\n"); break;
				default:printf("输入数值非法,游戏结束");

				}
				scanf("%d", &i);
				switch (i)
				{
				case 1:printf("电脑抽了3张,目前还剩3-3=0张\n\n电脑抽完了最后一张卡,你输了!"); break;
				case 2:printf("电脑抽了2张,目前还剩2-2=0张\n\n电脑抽完了最后一张卡,你输了!"); break;
				case 3:printf("电脑抽了1张,目前还剩1-1=0张\n\n电脑抽完了最后一张卡,你输了!"); break;
				default:printf("输入数值非法,游戏结束");

				}
				; break;  //输的情况4结束



			case 3:printf("电脑抽了3张,目前还剩8-3=5张\n"); //
				scanf("%d", &i);
				switch (i)
				{
				case 1:printf("电脑抽了1张,目前还剩4-1=3张\n");
					scanf("%d", &i);
					switch (i)
					{
					case 1:printf("电脑抽了2张,目前还剩2-2=0张\n\n电脑抽完了最后一张卡,你输了!"); break;
					case 2:printf("电脑抽了1张,目前还剩1-1=0张\n\n电脑抽完了最后一张卡,你输了!"); break;
					case 3:printf("目前还剩3-3=0张\n\n你抽完了最后一张卡,你赢了!!!"); break;            //胜利的情况
					default:printf("输入数值非法,游戏结束");

					}
					; break;


				case 2:printf("电脑抽了3张,目前还剩3-3=0张\n\n电脑抽完了最后一张卡,你输了!"); break;
				case 3:printf("电脑抽了2张,目前还剩2-2=0张\n\n电脑抽完了最后一张卡,你输了!"); break;
				default:printf("输入数值非法,游戏结束");

				}
				; break;


			default:printf("输入数值非法,游戏结束");

			}; break;



		case 3:printf("电脑抽了3张,目前还剩11-3=8张\n");  //玩家输的部分2
			scanf("%d", &c);
			switch (c)
			{
			case 1:printf("电脑抽了3张,目前还剩7-3=4张\n"); break;
			case 2:printf("电脑抽了2张,目前还剩6-2=4张\n"); break;
			case 3:printf("电脑抽了1张,目前还剩5-1=4张\n"); break;
			default:printf("输入数值非法,游戏结束");

			}
			scanf("%d", &d);
			switch (d)
			{
			case 1:printf("电脑抽了3张,目前还剩3-3=0张\n\n电脑抽完了最后一张卡,你输了!"); break;
			case 2:printf("电脑抽了2张,目前还剩2-2=0张\n\n电脑抽完了最后一张卡,你输了!"); break;
			case 3:printf("电脑抽了1张,目前还剩1-1=0张\n\n电脑抽完了最后一张卡,你输了!"); break;
			default:printf("输入数值非法,游戏结束");

			}
			printf("按任意键结束\n");
			; break;


		default:printf("输入数值非法,游戏结束");  // 玩家输的情况2结束

		}
	
	}
	return 0;
}
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Initial.M

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值