最近学校开运动会
我心血来潮做了这个小游戏
挺好玩的
不过暂时只有跑步这个比赛
之后会加别的比赛的
对了,本游戏需要下载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;
//页面函数
void zy();
//功能函数
void cd_in();
void cd_out();
//模式函数
void paobu();
int main()
{
srand(time(0));
gckdx(30, 100);
ycbj();
gckm("运动会");
ycgb();
yanse(7);
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++;
}
for (long long i = 1; i <= 8 - _n; i++)
cout << "\n";
cout << " 运动会";
cout << "\n\n\n 0.退出";
cout << "\n\n\n 1.跑步";
s = _getch();
while (s != '0' && s != '1')s = _getch();
switch (s)
{
case '0':
cx_flag = 0;
return;
case '1':
paobu();
break;
}
return;
}
void cd_in()
{
cdhs _cd;
_cd.in(ydjf, "运动积分.binggan");
_cd.in(pbjl, "跑步记录.binggan");
return;
}
void cd_out()
{
cdhs _cd;
_cd.out(ydjf, "运动积分.binggan");
_cd.out(pbjl, "跑步记录.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(7);
cout << "===============================================================================|=====\n";
cout << "|";
yanse(9);
cout << "o";
yanse(7);
cout << "===============================================================================|=====\n";
cout << "|";
yanse(10);
cout << "o";
yanse(7);
cout << "===============================================================================|=====\n";
cout << "|";
yanse(9);
cout << "o";
yanse(7);
cout << "===============================================================================|=====\n";
cout << "|";
yanse(9);
cout << "o";
yanse(7);
cout << "===============================================================================|=====\n";
cout << "---------------------------------------------------------------------------------------\n";
cout << "\n----------------------------------------------------------------------------------------------------";
cout << "说明:\n";
cout << " 空格 前进\n";
yanse(10);
cout << " o ";
yanse(7);
cout << "你\n";
yanse(9);
cout << " o ";
yanse(7);
cout << "对手\n";
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(7);
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;
}