石头剪刀布,持续更新中(114514

嘿嘿嘿,欢迎试玩:

点击查看代码
#include<bits/stdc++.h>
#include<ctime>
#include<cstdlib>
#include<windows.h>
using namespace std;
int main()
{
	srand(time(NULL));
	cout<<"欢迎来玩石头剪刀布!"<<endl;
	cout<<"游戏规则:"<<endl;
	cout<<"与电脑决斗(进行石头剪刀布),如果你第一次赢了,可以选择英雄,每一个英雄对应一个技能"<<endl;
	system("pause");
	cout<<"游戏正在加载......."<<endl;
	Sleep(3000);
	system("cls");
	cout<<"温馨提示:在游戏开始前,请先了解各个英雄的技能!"<<endl;
	Sleep(700);
	cout<<"按0了解英雄,按其他直接开玩"<<endl; 
	char know;
	cin>>know;
	if(know=='0')
	{
		cout<<"1.狙击手,2.机枪手,3.医疗兵"<<endl;
		cout<<"输入4键退出"<<endl;
		int know1;
		while(cin>>know1&&know1!=4)
		{
				if(know1==1)
				{
					cout<<"狙击手"<<endl;
					Sleep(750);
					cout<<"技能:Hit!!"<<endl;
					cout<<"偷对方血1滴。"<<endl;
				}	
				else if(know1==2)
				{
					cout<<"机枪手"<<endl;
					Sleep(750);
					cout<<"技能:横冲直撞"<<endl;
					cout<<"减对方血2滴。"<<endl;
				}
				else if(know1==3)
				{
					cout<<"医疗兵"<<endl;
					Sleep(750);
					cout<<"技能:医疗回血"<<endl;
					cout<<"给自己回血2滴。"<<endl;
				}
				else
					cout<<"还没有这个角色!"<<endl;
		}
	}
	int playerwins = 0;
	int computerwins = 0;
	int playerblood = 5;
	int computerblood = 10;
	bool firstpl=0,firstcm=0;
	int plr=0,cmr=0;
	int player;
	system("cls");
	cout<<"游戏即将开始..."<<endl;
	Sleep(600);
	system("cls");
	while(playerblood||computerblood)
	{
		int mc;
		cout<<"你的血量:"<<playerblood<<endl;
		cout<<"敌方血量:"<<computerblood<<endl;
		cout<<"你的可用技能次数:"<<plr<<endl;
		cout<<"敌方的可用技能次数:"<<cmr<<endl;
		cout<<"请选择你的出拳(1-剪刀,2-石头,3-布)";
		cin>>mc;
		if(mc<1||mc>3)
		{
			cout<<"请看清游戏规则,牛魔!!!";
			break;
		}
		int pc=rand()%3+1;
		cout<<"你选择了:";
		switch(mc)
		{
			case 1:
				cout<<"剪刀"<<endl;
				break;
			case 2:
				cout<<"石头"<<endl;
				break;
			case 3:
				cout<<"布"<<endl;
				break;
			default:
				cout<<"请看清游戏规则!!!";
		}
		Sleep(1000);
		cout<<"敌方选择了:";
		switch(pc)
		{
			case 1:
				cout<<"剪刀"<<endl;
				break;
			case 2:
				cout<<"石头"<<endl;
				break;
			case 3:
				cout<<"布"<<endl;
				break;
		}
		Sleep(1000);
		if(pc==mc)
		{
			cout<<"平局!"<<endl; 
			Sleep(750);
			system("cls");
		}
		else if((mc==1&&pc==3)||(mc==2&&pc==1)||(mc==3&&pc==2))
		{
			cout<<"你赢了!"<<endl;
			Sleep(750);
			system("cls");
			if(!firstpl)
			{
				firstpl=1;
				cout<<"请选择你的英雄:"<<endl;
				cout<<"1.狙击手,2.机枪手,3.医疗兵"<<endl;
				int ans;
				cin>>ans;
				if(ans==1)
				{
					player=1;
					cout<<"你选择了狙击手"<<endl;
					Sleep(500);
					system("cls");
				}
				if(ans==2)
				{
					player=2;
					cout<<"你选择了机枪手"<<endl;
					Sleep(500);
					system("cls");
				}
				if(ans==3)
				{
					player=3;
					cout<<"你选择了医疗兵"<<endl;
					Sleep(500);
					system("cls"); 
				}
			}
			else
			{
				cout<<"选择下列操作:"<<endl;
				cout<<"1.加技能,2.攻击,3.发动技能"<<endl;
				int op;
				cin>>op;
				if(op==1) plr++;
				else if(op==2) computerblood--;
				else if(op==3)
				{
					if(plr==0)
					{
						cout<<"抱歉,技能不够!"<<endl;
						Sleep(450);
					}
					if(player==1&&plr>0)
					{
						computerblood--;
						playerblood++;
						plr--; 
					}
					if(player==2&&plr>0)
					{
						computerblood-=2;
						plr--;
					}
					if(player==3&&plr>0)
					{
						playerblood+=2;
						plr--;
					}
				}
			}
		}
		else
		{
			system("cls");
			cout<<"你输了!"<<endl;
			Sleep(750);
			system("cls");
			computerwins++;
			playerblood--;
		}
		if(playerblood<=0)
		{
			cout<<"很抱歉,你输了!";
			exit(0);
		}
		if(computerblood<=0)
		{
			cout<<"太厉害了,你赢了!";
			exit(0);
		}
	}
	return 0;
}

更新日志:

v 0.1 优化了游戏界面

v 0.2 增加了角色介绍界面,重新设计游戏规则

v 0.3 优化了界面,修复了一些bug

posted @ 2024-02-20 14:37  MrMorgan_Arthur  阅读(122)  评论(5)    收藏  举报
GenerateContentList();