zl程序教程

您现在的位置是:首页 >  其他

当前栏目

C语言输入输出及选择结构程序设计的综合应用——简单超级战士游戏and 取牙签游戏

游戏C语言应用 简单 and 结构 选择 程序设计
2023-09-11 14:19:58 时间

最全C系列题目!从0到管理系统

一、C语言数据类型及输出——体重是否正常、球的体积、计算存银行利息and浮点数长度与精度

二、C语言运算符与表达式——输出逆序数and二进制包含0和1的数量and判断是否为2的整数次幂的两种办法

三、C语言基本输入输出程序设计——计算当前时间and转换大写姓名and工资信息表

四、C语言顺序结构程序设计——对调数字and判断三角形

五、C语言选择结构程序设计——“21点”(BlackJack)游戏and一元二次方程and能否被3,5,7,9整除

六、C语言函数、指针应用程序设计——回文数判断and检验子串and仓库库存管理程序

七、C语言输入输出及选择结构程序设计的综合应用——简单超级战士游戏and 取牙签游戏

八、C语言循环结构及数组排序的综合应用——冒泡、插入、选择排序棒图显示and两个超长数相乘

九、C语言函数及数组的综合应用——儿童数学运算 and 递归求最大公约数

十、C语言函数及复杂数据结构的综合应用——简单户籍管理系统

C语言输入输出及选择结构程序设计的综合应用——简单游戏(超级战士游戏)and 取牙签游戏


从这一篇开始,我将去年C语言大作业逐个上传,感觉大作业确实有点意思哈哈哈

一、实验目的:

(1)继续熟悉输入输出编程方法,学习和掌握选择结构程序设计方法。
(2)编写、运行及测试满足要求的程序,程序运行结果截图应覆盖尽可能多的情 况。

二、实验要求

不好意思哈,当时没抄题目,大概就这个意思
**1.超级战士乘坐飞行器执行任务,随机降落ABCDO五个区域,五个区域边缘有电网,落在电网或者五个区域外会任务失败,到达O区直接完成任务,通过ABCD区进入O区的时候需要与门卫进行赌盘,要求按下W键产生随机数对赌,门卫随机为80-100,超级战士为0-100,胜利后显示进入O区,任务完成,失败后显示任务失败,0<x<75且45<y<60时,处于A区,0<x<20且20<y<45时,处于B区, 0<x<75且0<y<20时,处于C区 ,50<x<75且20<y<45时,处于D区 **
2.取牙签游戏,玩家每次取走1-3根,电脑每次取走,机器人Alice每次取走()4-玩家取走的数)根牙签,拿走最后一根的人输掉游戏

三、代码

1.超级战士游戏

/*
 * 文件名称:   综合实验1第一题
 * 作者:       不知何人
 * 完成日期:   2021.4.29
 * 内容摘要:   无
 * 注意:       无
*/
#include<stdio.h>
#include<time.h>

int main()
{
	float x, y; 		//定义坐标变量
	char button;		//设置赌盘字符按钮 
	int W, Wa, Wb, Wc, Wd;
	srand((unsigned)time(NULL));

	printf("请输入你现在的(X,Y)坐标:");
	scanf("%f%f", &x, &y);

	if (x > 0 && x < 75 && y>45 && y < 60)		//0<x<75且45<y<60时,处于A区 
	{
		printf("你现在在 A 区,小心地雷!\n");
		printf("通过Ga门去往O区,Ga门有门卫,你需要和他进行赌盘数字比较\n");
		printf("你来到了守卫面前,他命令你和他对赌!\n");
		printf("现在按下赌盘的W键\n");
		getchar();
		scanf("%c", &button);		//按下赌盘按钮 

		if (button == 'W' || button == 'w')		//支持大小写 
		{
			W = rand() % 100;
			Wa = rand() % 20 + 80;		//超级战士与门卫的赌盘数值 
			printf("你赌盘上的数字为%d\n门卫赌盘的数字为%d\n", W, Wa);
			if (W > Wa)
			{
				printf("成功进入人质 O 区,解救人质成功!");
			}
			else
				printf("“地雷爆炸,任务失败!");
		}
	}
	else if (x > 0 && x < 20 && y>20 && y < 45)		//0<x<20且20<y<45时,处于B区 
	{
		printf("你现在在 B 区,小心有陷阱!\n");
		printf("通过Gb门去往O区,Gb门有门卫,你需要和他进行赌盘数字比较\n");
		printf("你来到了守卫面前,他命令你和他对赌!\n");
		printf("现在按下赌盘的W键\n");
		getchar();

		scanf("%c", &button);

		if (button == 'W' || button == 'w')
		{
			W = rand() % 100;
			Wb = rand() % 20 + 80;
			printf("你赌盘上的数字为%d\n门卫赌盘的数字为%d\n", W, Wb);
			if (W > Wb)
			{
				printf("成功进入人质 O 区,解救人质成功!");
			}
			else
				printf("“掉入陷阱,任务失败!");
		}

	}
	else if (x > 0 && x < 75 && y>0 && y < 20)		//0<x<75且0<y<20时,处于C区 
	{
		printf("你现在在 C 区,小心敌人埋伏!\n");
		printf("通过Gc门去往O区,Gc门有门卫,你需要和他进行赌盘数字比较\n");
		printf("你来到了守卫面前,他命令你和他对赌!\n");
		printf("现在按下赌盘的W键\n");
		getchar();
		scanf("%c", &button);

		if (button == 'W' || button == 'w')
		{
			W = rand() % 100;
			Wc = rand() % 20 + 80;
			printf("你赌盘上的数字为%d\n门卫赌盘的数字为%d\n", W, Wc);
			if (W > Wc)
			{
				printf("成功进入人质 O 区,解救人质成功!");
			}
			else
				printf("“遭到伏击,任务失败!");
		}
	}
	else if (x > 50 && x < 75 && y>20 && y < 45)		//50<x<75且20<y<45时,处于D区 
	{
		printf("你现在在 D 区,可以补充武器!\n");
		printf("通过Gd门去往O区,Gd门有门卫,你需要和他进行赌盘数字比较\n");
		printf("你来到了守卫面前,他命令你和他对赌!\n");
		printf("现在按下赌盘的W键\n");
		getchar();
		scanf("%c", &button);

		if (button == 'W' || button == 'w')
		{
			W = rand() % 100;
			Wd = rand() % 20 + 80;

			printf("你赌盘上的数字为%d\n门卫赌盘的数字为%d\n", W, Wd);

			if (W > Wd)
			{
				printf("成功进入人质 O 区,解救人质成功!");
			}
			else
				printf("“武器丢失,任务失败!");

		}

	}
	else if (x > 20 && x < 50 && y>20 && y < 45)		//20<x<50且20<y<45时,处于O区 
	{
		printf("你现在在 O 区,快去解救人质!\n");
		printf("任务完成,救出人质!");
	}
	else if (((x == 20 || x == 50) && (y >= 20 && y <= 45)) || (x > 0 && x < 75) && (y == 20 || y == 45))
		//当x处于20或50且20<=y<=45时,落在电网上,当0<x<75时y=20或45,落在电网上。 
	{
		printf("你落在了区域边界电网上!\n");
		printf("任务失败!");
	}
	else
	{
		printf("你落在了任务区外!\n");
		printf("任务失败!\n");
	}
}

2.取牙签游戏

/*
 * 文件名称:   综合实验1第二题
 * 作者:       不知何人
 * 完成日期:   2021.4.29
 * 内容摘要:   无
 * 注意:       无
*/
#include<stdio.h>

int main()
{
	int last, i, a = 0;		//last是玩家取走牙签的个数,a是为了跳出循环设置的变量 
	int sum = 23;


	for (i = 0;; i++)
	{
		printf("当前牙签数量为%d根。\n", sum);
		printf("请输入要取走的牙签数量:");
		scanf("%d", &last);		//玩家每次取走牙签的数量 


		while (last != 1 && last != 2 && last != 3)		//取走牙签数不为1 2 3时重新输入 
		{
			printf("请重新输入取走的牙签数量,数量应为1-3根(整数根)。\n");
			scanf("%d", &last);
			getchar();
		}

		sum = sum - last;		//剩余牙签的数量=原本的数量-玩家拿走的 


		printf("玩家取走%d根牙签,剩余牙签数量%d\n", last, sum);

		if (sum > 4)
		{
			sum = sum - (4 - last);
			printf("Alice取走了%d根牙签,剩余牙签数量%d\n", 4 - last, sum);
		}
		else if (sum >= 2 && sum <= 4)			//剩余2-4根时,Alice拿剩一根,玩家下回合只能拿一根,认输。 
		{
			printf("Alice取走%d根牙签,只剩一根牙签,玩家下回合取走,玩家认输!", sum - 1);
			break;
		}

		if (sum == 1)		//玩家取剩一根时,Alice输掉比赛 
		{
			printf("现在只剩一根牙签,Alice下回合取走,Alice认输。");
			a = 1;
		}
		if (a == 1)
		{
			break;
		}
	}
}

总结

我把去年刚学C语言时的代码发出来供新人们参考,别嫌弃啊哈哈(虽然确实很烂!实验报告我也都发了,在主页,我发的全是免费下载)

非常感谢您的观看