标题:利用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;
}