首页 > 其他分享 >做了一个简单的充气小游戏

做了一个简单的充气小游戏

时间:2023-10-08 23:04:51浏览次数:23  
标签:p2 p1 -- 简单 小游戏 mp2 printf mp1 充气

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <stdlib.h>
void menu()
{
	printf("**************Gamic Card**************\n");
	printf("***********press 1 to start***********\n");
	printf("***********press 2 to exit************\n");
	printf("请输入:>\n");
}


struct P1
{
	int mp1;
	short hp1;
};

struct P2
{
	int mp2;
	short hp2;
};


void condition(short hp, int mp)
{
	if (hp == 2)
	{
		printf("^-^ ");
		printf("能量:%d\n", mp);
	}
	else if (hp == 1)
	{
		printf("T-T ");
		printf("能量:%d\n", mp);
	}
	else
		printf("*-*\n");
}

int main()
{
	menu();
	struct P1 p1 = { 0,2 };
	struct P2 p2 = { 0,2 };
	int a=0;
	scanf("%d", &a);
	int b = 0;
	int c = 0;
	if (a != 1 && a != 2)
	{
		printf("输入错误,请重新选择");
		scanf("%d", &a);
	};
	if (a == 1)
	{
		while (p1.hp1 > 0 && p2.hp2 > 0)
		{
			condition(p1.hp1,p1.mp1);
			condition(p2.hp2,p2.mp2);
			printf("1.攻 2.防 3.气功 4.充能\n");
			printf("p1选择\n");
			scanf("%d", &b);
			while (p1.mp1 < 1 && b == 1 || p1.mp1 < 2 && b == 3)
			{
				printf("能量不足,请重新选择\n");
				scanf("%d", &b);
			}
			printf("p2选择\n");
			scanf("%d", &c);
			while (p2.mp2 < 1 && c == 1 || p2.mp2 < 2 && c == 3)
			{
				printf("能量不足,请重新选择\n");
				scanf("%d", &c);
			}
			if (b == 1)
			{
				p1.mp1--;
					if (c == 1)
					{
						p2.mp2--;
					};
					if (c == 3)
					{
						p1.hp1--;
						p2.mp2 -= 2;
					};
					if (c == 4)
					{
						p2.mp2++;
						p2.hp2--;
					};

			};
			if (b == 2)
			{
				if (c == 1)
				{
					p2.mp2--;
				};
				if (c == 3)
				{
					p2.mp2 -= 2;
				};
				if (c == 4)
				{
					p2.mp2++;
				};
			};
			if (b == 3)
			{
				p1.mp1 -= 2;
				if (c == 1)
				{
					p2.mp2--;
					p2.hp2--;
				};
				if (c == 3)
				{
					p2.mp2 -= 2;
				};
				if (c == 4)
				{
					p2.mp2++;
					p2.hp2 -= 2;
				};
			}

			if (b == 4)
			{
				p1.mp1++;
				if (c == 1)
				{
					p2.mp2--;
					p1.hp1--;
				};
				if (c == 3)
				{
					p2.mp2 -= 2;
					p1.hp1 -= 2;
				};
				if (c == 4)
				{
					p2.mp2++;
				};
			};
		system("cls");
		menu();
		};
	system("cls");
	menu();
	condition(p1.hp1,p1.mp1);
	condition(p2.hp2,p2.mp2);
	};
	printf("游戏结束");

	return 0;
}

新手请多指教

标签:p2,p1,--,简单,小游戏,mp2,printf,mp1,充气
From: https://blog.51cto.com/u_16039642/7762933

相关文章

  • Go 语言代码简单的在线购物平台:
    以下是一个相对复杂的Go语言代码示例,用于实现一个简单的在线购物平台:packagemainimport( "fmt")typeUserstruct{ IDint Namestring Emailstring Passwordstring Addressstring}typeProductstruct{ IDint Namestring Priceflo......
  • 简单小技巧
    C++输入不定数量个数C语言的sncaf()函数是有返回值的,会返回输入元素的个数,所以如果返回-1,就说明没有输入元素,我们用EOF代表-1,在输入的过程中需要使用ctrl+z以触发EOF状态代码如下while(scanf("%d",&a)!=EOF){//这里已经输入a了,循环体内不需要再写输入a此处进行后续一系......
  • 作者自述背景 - Salvo - 一个简单的 Web 后端框架
    看过作者的自述后,再重新看一下这个框架,感觉又有一些新的体会... 为什么要写这个框架因为我笨,无法学会使用actix-web等现存的框架。当我想把以前的go的web服务使用rust实现时,一眼看去,似乎每个框架都比go里存在框架复杂,本来Rust的学习曲线就够陡峭的了,又何......
  • 实验1 C语言输入输出和简单程序编写
    实验任务1(1)1#include<stdio.h>2intmain(){3printf("O\n");4printf("<H>\n");5printf("II\n");6return0;7}结果演示(2)1#include<stdio.h>2intmain(){3printf(&quo......
  • Android 定时器简单使用及学习
    本文,介绍常用定时器实现方式:1)Handler+Sleep方式2)Handler+PostDelayed方式3)Handler+Timer方式Handler的主要作用就是用来处理接收到的信息,用Handler消息传递机制是为了多个线程并发更新U的同时,保证线程安全1)Handler+Sleep方式1.1)Handler+Sleep定义publicclassHandlerAn......
  • 左值右值简单理解
    ++i=100;可被g++编译,但是不可被gcc编译;i++=100;不可被g++或gcc编译;左值在内存中具有真实空间,可被覆写。右值可能存在,可能不存在真实空间,不可被人为覆写。inti=0;i=i++;==>i为0;i=++i;==>i为1; ......
  • ts 中泛型的简单使用
    interfaceApiResponseData<T>{ code:number data:T message:string}在这段TypeScript代码中,T是一个泛型参数(genericparameter),用于描述ApiResponseData<T>的类型。泛型可以理解为是一种占位符,它能够让我们在定义函数或类型时先不确定具体的类型,而是让使用......
  • 为什么redis使用单线程——简单说下
    redis使用单线程主要原因第一个,每条命令都是原子操作,单线程能够保证原子性。第二个原因,如果设计为多线程,肯定存在锁的竞争导致锁的获取释放开销,线程切换的开销,这与我们使用redis是相违背的。尽管redis设计为单线程,但是他的性能很高,主要原因是基于内存,以及pipeline机制都能保证redi......
  • Hackintosh最简单且正确的USB定制方法
    一,使用USBToolBox定制https://github.com/USBToolBox请下载tool和kext,推荐在win下打开定制工具,定制过程非常简单,使用USB2.0和USB3.0各一个U盘,把所有的接口都插一遍,然后导出map.kext,将该kext和之前下载的另一个kext,总共两个kext放入efi加载并重启系统。二,使用hackintool完善使用usb......
  • WGCNA分析,简单全面的最新教程
    WGCNA基本概念加权基因共表达网络分析(WGCNA,Weightedcorrelationnetworkanalysis)是用来描述不同样品之间基因关联模式的系统生物学方法,可以用来鉴定高度协同变化的基因集,并根据基因集的内连性和基因集与表型之间的关联鉴定候补生物标记基因或治疗靶点。相比于只关注差异......