更新了跳远的游戏
改了几个细节
对了,本游戏需要下载b_game库3.0以上版本
#include
#include
#include
#include
#include
#include
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;
}