首页 > 编程语言 >FUN GAME 一款普通的C++游戏

FUN GAME 一款普通的C++游戏

时间:2024-02-19 12:12:23浏览次数:31  
标签:pt did system C++ GAME 3000 sl FUN cls

凑合看吧,不是完整版。

#include<bits/stdc++.h>
#include<windows.h>
#include<conio.h>
using namespace std;
#define pt puts
#define pf printf
#define pc putchar
#define sf scanf
#define gt gets
#define sl Sleep
char name[101];
stack<int>gun;
bool chance;
int randtool(int x)//x枚子弹,y枚实弹 
{
	int y=rand()%(x/2)+1;
	bool use[101];
	memset(use,false,sizeof(use));
	for(int i=1;i<=y;i++)
	{
		int z=rand()%x+1;
		if(use[z]==true)
		{
			i--;
		}
		else
		{
			use[z]=true;
		}
	}
	for(int i=1;i<=x;i++)
	{
		if(use[i]==true)
		{
			gun.push(1);
		}
		else
		{
			gun.push(0);
		}
	}
	return y;
}
void first()
{
	system("cls");
	int ai=2,player=2;
	bool quan=true;
	while(ai>0&&player>0)
	{
		system("cls");
		pf("您的剩余血量为%d\n",player);
		pf("对方的剩余血量为%d\n",ai);
		sl(3000);
		if(gun.empty())
		{
			system("cls");
			int m=rand()%2+3;
			int n=randtool(m);
			pf("%d枚实弹 %d枚空弹\n",n,m-n);
			pt("子弹装填中……");
			sl(3000);
		}
		int l=gun.top();
		gun.pop();
		int did=0;
		if(quan==true)
		{
			system("cls");
			pt("现在是您的回合");
			pt("按9使用桌上的枪");
			while(did!='9')
			{
				did=getch();
			}
			system("cls");
			pt("按1对对方开枪");
			pt("按0对自己开枪");
			while(did!='0'&&did!='1')
			{
				did=getch();
			}
			system("cls");
			if(did=='0')
			{
				pt("您选择对自己开枪");
				sl(3000);
				if(l==1)
				{
					pt("枪中是实弹");
					sl(3000);
					player--;
				}
				else
				{
					pt("枪中是空弹");
					sl(3000);
				}
			}
			else
			{
				pt("您选择对对方开枪");
				sl(3000);
				if(l==1)
				{
					pt("枪中是实弹");
					sl(3000);
					ai--;
				}
				else
				{
					pt("枪中是空弹");
					sl(3000);
				}
				if(ai>0)
				{
					pt("主动权来到了对方手上");
					sl(3000);
					quan=false;
				}
			}
		}
		else
		{
			system("cls");
			pt("人机计算中……");
			did=rand()%2;
			system("cls");
			if(did==0)
			{
				pt("对方选择对自己开枪");
				sl(3000);
				if(l==1)
				{
					pt("枪中是实弹");
					sl(3000);
					ai--;
				}
				else
				{
					pt("枪中是空弹");
					sl(3000);
				}
			}
			else
			{
				pt("对方选择对您开枪");
				sl(3000);
				if(l==1)
				{
					pt("枪中是实弹");
					sl(3000);
					player--;
				}
				else
				{
					pt("枪中是空弹");
					sl(3000);
				}
				if(player>0)
				{
					pt("主动权来到了您手上");
					sl(3000); 
					quan=true;
				}
			}
		}
	}
	system("cls");
	if(player>0)
	{
		system("color 06");
		pt("您赢了");
		sl(3000);
	}
	else
	{
		system("color 04");
		pt("您输了");
		sl(3000);
	}
}
void start()
{
	system("cls");
	pt("剧情已跳过(doge)");
	sl(3000);
	pf("请输入昵称:");
	sf("%s",name);
	pt("完成!");
	sl(3000);
	first();
}
void home()
{
	system("color 07");
	char c;
	pt("    一款很新的游戏    ");
	pt("");
	pt("    		 按 s 开始");
	pt("    		 按 e 退出");
	c=getch();
	chance=true;
	if(c=='e')
	{
		exit(0);
	}
	else
	{
		start();
	}
}
void kong()
{
}
int main()
{
	srand((unsigned)time(NULL));
	home();
}

标签:pt,did,system,C++,GAME,3000,sl,FUN,cls
From: https://www.cnblogs.com/ywhhdjser-97/p/18017487

相关文章

  • 15. C++类中成员变量的初始化总结
    C++类中成员变量的初始化总结1.普通的变量:一般不考虑啥效率的情况下可以在构造函数中进行赋值。考虑一下效率的可以再构造函数的初始化列表中进行。classCA{public:intdata;public:CA();};/*********/CA::CA():data(0)//……#1……初始化列表方式{......
  • 适用于 Amazon Step Functions 的低代码可视化新工作流 Workflow Studio, 现已在 Amaz
    今天,我们非常欣喜地宣布现已在AmazonApplicationCompose中推出AmazonStepFunctionsWorkflowStud。通过这款全新的集成应用,工作流与应用程序资源开发便可整合到统一的可视化基础设施即代码(IaC)生成器。对于使用AmazonStepFunctionsWorkflowStudio创建工作流与......
  • 请编写函数fun,它的功能是:求出1到100之内能被7或者11整除, 但不能同时被7和11整除的所有
    /2.请编写函数fun,它的功能是:求出1到100之内能被7或者11整除,但不能同时被7和11整除的所有整数,并将他们放在a所指的数组中,通过n返回这些数的个数/#include<stdio.h>#include<string.h>intfun(int*buf){inti=1,j=0;for(i=1;i<100;i++){if(i%7==......
  • 1.m个人的成绩存放在score数组中,请编写函数fun, 它的功能是:将低于平均分的人数作为函
    /1.m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人数作为函数值返回,将低于平均分的分数放在below所指1定的数组中。/#include<stdio.h>#include<string.h>intfun(int*buf,int*buff,intnum){inti=0,j=0,sum=0;for(i=......
  • KY148 还是畅通工程C++
    求图的最小生成树。克鲁斯卡尔算法来解决。就是选择n-1条最小边且无回路。回路判断用并查集就行。即要加入的边(两个节点)具有相同的父节点说明如果这两个节点本来就存在路径,再加入一条边就会产生回路,舍去。#include<iostream>#include<algorithm>usingnamespacestd;struc......
  • C++ 模板的笔记1
    C++模板的笔记1C++函数模板函数模板的定义函数模板是一种可以生成不同类型函数的函数声明。函数模板的参数类型不是固定的,而是在调用时由实参类型推导出来。语法:template<typename参数列表>函数返回值类型函数名(参数列表){函数体}示例:template<typenameT>vo......
  • 【c&c++】cJSON详解
    一、JSON概述1.1JSON介绍JSON:JavaScript对象表示法(JavaScriptObjectNotation)。是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。JSON采用完全独立于语言的文本格式,但是也使用了类似C语音家族的习惯(包括C、C++、C#、Java、JavaScript、Perl、Python等)。这些特性使JSON......
  • 阅读下面 C++ 代码,输出结果为()
    #include<iostream>usingnamespacestd;classbase1{private:inta,b;public:base1(inti):b(i+1),a(b){}base1():b(0),a(b){}intget_a(){returna;}intget_b(){returnb;}};intmain()......
  • C++ STL map
    map<int,string>MyMap;//下标方式key值重复进行替换MyMap[0]="233";MyMap[0]="23333";//insert方法key值重复无法插入MyMap.insert(pair<int,string>(1,"zhangsan"));MyMap.insert(pair<int,string>(1,"zhangsan2"))......
  • CF1879D Sum of XOR Functions
    记前缀异或和数组\(s\),于是题目中的\(f(l,r)\)可以被表示成\(s_r\opluss_{l-1}\),转化为求\(\sum\limits_{l=1}^n\sum\limits_{r=l}^n(s_r\opluss_{l-1})\times(r-l+1)\)。再记录\(4\)个值,\(cnt_0,cnt_1,sum_0,sum_1\)分别表示当前已经出现过的\(0/1\)的个数,出......