【c++】运动会1.1

更新了跳远的游戏

改了几个细节

对了,本游戏需要下载b_game库3.0以上版本

#include<iostream>
#include<conio.h>
#include<windows.h>
#include<D:\b_game.h>
#include<ctime>
#include<cstdlib>
using namespace std;
using namespace _game;
bool cx_flag = 1;
long long ydjf = 0, pbjl = 1000000000000000000, tyjl = 0;
//页面函数
void zy();
//功能函数
void cd_in();
void cd_out();
//模式函数
void paobu();
void tiaoyuan();
int main()
{
	srand(time(0));
	gckdx(30, 100);
	ycbj();
	gckm("运动会");
	ycgb();
	yanse(15);
	system("cls");
	cout << "正在读入数据...";
	cd_in();
	system("cls");
	bout("一年一度的运动会开始了...");
	cout << "\n\n" << "按任意键继续...";
	_getch();
	system("cls");
	bout("这次,你又要参加什么比赛呢?");
	cout << "\n\n" << "按任意键继续...";
	_getch();
	system("cls");
	while (cx_flag)
	{
		zy();
	}
	system("cls");
	cout << "正在储存数据...";
	cd_out();
	return 0;
}
void zy()
{
	short _n = 0;
	char s;
	system("cls");
	if (ydjf > 0)
	{
		cout << "运动积分:" << ydjf << "\n";
		_n++;
	}
	if (pbjl != 1000000000000000000)
	{
		cout << "跑步最高记录:" << pbjl / 1000.0 << "秒\n";
		_n++;
	}
	if (tyjl != 0)
	{
		cout << "跳远最高记录:" << (tyjl - 6) / 5.0 << "m";
		_n++;
	}
	for (long long i = 1; i <= 8 - _n; i++)
		cout << "\n";
	cout << "                                         运动会";
	cout << "\n\n\n                                         0.退出";
	cout << "\n\n\n                                         1.跑步";
	cout << "\n\n\n                                         2.跳远";
	s = _getch();
	while (s != '0' && s != '1' && s != '2')s = _getch();
	switch (s)
	{
	case '0':
		cx_flag = 0;
		return;
	case '1':
		paobu();
		break;
	case '2':
		tiaoyuan();
		break;
	}
	return;
}
void cd_in()
{
	cdhs _cd;
	_cd.in(ydjf, "运动积分.binggan");
	_cd.in(pbjl, "跑步记录.binggan");
	_cd.in(tyjl, "跳远记录.binggan");
	return;
}
void cd_out()
{
	cdhs _cd;
	_cd.out(ydjf, "运动积分.binggan");
	_cd.out(pbjl, "跑步记录.binggan");
	_cd.out(tyjl, "跳远记录.binggan");
	return;
}
void paobu()
{
	bool flag = 1, f = 0;
	system("cls");
	long long s[6], lc[6] = { 0,1,1,1,1,1 }, y_lc[6] = { 0,1,1,1,1,1 }, yl[6] = { 0,1,1,1,1,1 }, mc = 1, t_1, t_2;
	for (long long i = 1; i <= 5; i++)
	{
		s[i] = rand() % 3 + 4;
		y_lc[i] = lc[i];
	}
	cout << "\n\n\n";
	cout << "-----------------------------------------------------------------------------------\n";
	cout << "|";
	yanse(9);
	cout << "o";
	yanse(15);
	cout << "===============================================================================1|\n";
	cout << "|";
	yanse(9);
	cout << "o";
	yanse(15);
	cout << "===============================================================================2|\n";
	cout << "|";
	yanse(10);
	cout << "o";
	yanse(15);
	cout << "===============================================================================3|\n";
	cout << "|";
	yanse(9);
	cout << "o";
	yanse(15);
	cout << "===============================================================================4|\n";
	cout << "|";
	yanse(9);
	cout << "o";
	yanse(15);
	cout << "===============================================================================5|\n";
	cout << "----------------------------------------------------------------------------------\n";
	cout << "\n----------------------------------------------------------------------------------------------------";
	cout << "说明:\n";
	cout << "    空格 前进/开始\n";
	yanse(10);
	cout << "    o ";
	yanse(15);
	cout << "你\n";
	yanse(9);
	cout << "    o ";
	yanse(15);
	cout << "对手\n";
	while (!axj(' '));
	for (long long i = 1; i <= 5; i++)
		y_lc[i] = lc[i];
	t_1 = clock();
	for (long long cs = 1; flag; cs++)
	{
		//输入
		if (axj(' '))
		{
			if (!f)
			{
				f = 1;
				lc[3]++;
			}
		}
		else f = 0;
		//检测
		for (long long i = 1; i <= 5; i++)
		{
			if (cs % ((10 - s[i]) * 2) == 0)
			{
				if (i != 3 && yl[i])
				{
					lc[i]++;
				}
			}
		}
		for (long long i = 1; i <= 5; i++)
		{
			if (lc[i] > 80 && yl[i])
			{
				if (i == 3)
				{
					yanse(15);
					system("cls");
					t_2 = clock();
					cout << "你得了第" << mc << "名\n";
					if (mc == 1)
					{
						ydjf += 10;
						cout << "运动积分+10\n";
					}
					if (t_2 - t_1 < pbjl)
					{
						pbjl = t_2 - t_1;
						cout << "你打破了你的记录\n";
						cout << "运动积分+30\n";
						ydjf += 30;
					}
					cout << "\n按Enter键继续";
					while (!axj(Enter));
					system("cls");
					cd_out();
					return;
				}
				else
				{
					yl[i] = 0;
					mc++;
				}
			}
		}
		//更新游戏
		for (long long i = 1; i <= 5; i++)
		{
			if (y_lc[i] != lc[i])
			{
				ydgb(i + 4, y_lc[i] + 1);
				yanse(7);
				cout << "=";
				if (i == 3)
				{
					yanse(10);
				}
				else
				{
					yanse(9);
				}
				ydgb(i + 4, lc[i] + 1);
				cout << "o";
			}
		}
		for (long long i = 1; i <= 5; i++)
			y_lc[i] = lc[i];
		Sleep(1);
	}
	return;
}
void tiaoyuan()
{
	bool f = 1;
	long long h=13, l=0;
	yanse(15);
	system("cls");
	cout << "\n\n\n\n----------------------------------------------------------------------------------------------------";
	yanse(10);
	cout << "\n\n\n\n\n\n\n\no\n";
	yanse(15);
	cout << "-----=----------------------------------------------------------------------------------------------";
	cout << "\n\n----------------------------------------------------------------------------------------------------";
	cout << "说明:\n";
	cout << "    空格前进/开始\n";
	yanse(10);
	cout << "    o ";
	yanse(15);
	cout << "你";
	while (!axj(' '));
	for (long long i = 1; i <= 6; i++)
	{
		l++;
		yanse(10);
		ydgb(h, l);
		cout << "o";
		yanse(15);
		ydgb(h, l-1);
		cout << " ";
		Sleep(100);
	}
	ydgb(h, l);
	yanse(15);
	cout << " ";
	h -= 6;
	ydgb(h, l);
	yanse(10);
	cout << "o";
	for (long long cs = 1; 1; cs++)
	{
		if (axj(' '))
		{
			if (f)
			{
				f = 0;
				l++;
			}
		}
		else
		{
			f = 1;
		}
		if (cs % 50 == 0)
		{
			h++;
		}
		if (h > 13)
		{
			yanse(15);
			system("cls");
			if (tyjl < l)
			{
				tyjl = l;
				cout << "你打破了记录,运动积分+30\n";
				ydjf += 30;
			}
			if ((tyjl-6)/5.0>9)
			{
				cout << "你破了9m大关,运动积分+10\n";
				ydjf += 10;
			}
			cout << "你的成绩是";
			cout << (l - 6) / 5.0;
			cout << "m\n";
			cout << "\n按Enter继续";
			while (!axj(Enter));
			return;
		}
		ydgb(h - 1, l-1);
		cout << " ";
		ydgb(h - 1, l);
		cout << " ";
		ydgb(h,l-1);
		cout << " ";
		ydgb(h, l);
		cout << "o";
		Sleep(1);
	}
	return;
}

猜你喜欢

转载自blog.csdn.net/Guo_Clark/article/details/121553388
今日推荐