游戏特别烂,而且还有bug,又没有编完:
bug1:while(clock()/CLOCKS_PER_SEC<=5.00);根本没有用!只能用来做愚人节题目,我该怎么修改?
bug2:cout << "\033[1;2mHello, World!\033[0m\n";根本无法调大字体!!
bug3:迷宫好像是固定的,不是随机的??
#include<bits/stdc++.h>
#include<windows.h>
using namespace std;
const int WIDTH = 10;
const int HEIGHT = 10;
string maze[HEIGHT] = {
"####################",
"#..S...#......#.#",
"#.##..#..#..#.##.",
"#.#...#...#...#.#.",
"#.#.E.#...#..#.#.",
"#.#...#...#...#.#.",
"#.#..#..#..#.##.",
"#.#...#...#...#.#.",
"#..S...#......#.#",
"####################"
};
pair<int, int> player = make_pair(1, 1);
bool is_valid_move(int x, int y) {
if (x < 0 || x >= HEIGHT || y < 0 || y >= WIDTH) {
return false;
}
if (maze[x][y] == '#')
return false;
return true;
}
void print_maze() {
for (int i = 0; i < HEIGHT; ++i)
{
for (int j = 0; j < WIDTH; ++j)
{
if (make_pair(i, j) == player)
cout << "P";
else
cout << maze[i][j];
}
cout << endl;
}
}
void game_over()
{
cout << "很遗憾,你未能在规定时间内找到出口。你死了" << endl;
}
int MG()
{
system("cls");
cout << "欢迎来到Y国迷宫!找到出口(E)逃出迷宫吧!" << endl;
cout << "你有35秒的时间来完成挑战。" << endl;
srand(time(0));
clock_t start_time = clock();
bool game_over_flag = false;
while (!game_over_flag) {
print_maze();
cout << "请输入移动指令 (WASD): ";
char move;
cin >> move;
clock_t current_time = clock();
if ((current_time - start_time) / (double)CLOCKS_PER_SEC > 35)
{
game_over();
game_over_flag = true;
}
switch (move)
{
case 'W':
if (is_valid_move(player.first - 1, player.second))
player.first--;
else
{
cout << "你踩到了地雷,你死了" << endl;
return 0;
}
break;
case 'A':
if (is_valid_move(player.first, player.second - 1))
player.second--;
else
{
cout << "你踩到了地雷,你死了" << endl;
return 0;
}
break;
case 'S':
if (is_valid_move(player.first + 1, player.second))
player.first++;
else
{
cout << "你踩到了地雷,你死了" << endl;
return 0;
}
break;
case 'D':
if (is_valid_move(player.first, player.second + 1))
player.second++;
else
{
cout << "你踩到了地雷,你死了" << endl;
}
break;
default:
cout << "无效的输入,请使用WASD进行移动!" << endl;
break;
}
if (maze[player.first][player.second] == 'E')
{
system("cls");
cout<<"\033[1;2m恭喜你,你逃出了Y国迷宫!!\033[0m\n";
game_over_flag = true;
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hConsole, 12);
cout<<"获得成就:逃出迷宫"<<endl;
SetConsoleTextAttribute(hConsole, 15);
}
}
return 0;
}
int si1(int sw)
{
if(sw==0)
return 0;
return 1;
}
int jq2(int sw,int zd)
{
cout<<"";
}
int Y(int sw,int zd)
{
cout<<"你和特工们开始向Y国进军\n";
cout<<"然而Y国的防御力量不可思议!\n";
cout<<"无数炮管正对着你们\n";
int p;
cout<<"你选择:\n";
cout<<"1.直接进攻!\n";
cout<<"2.绕道后方\n";
cout<<"3.逃跑\n";
cin>>p;
if(p==1)
{
cout<<"万炮齐发,你被炸死了。\n";
return 0;
}
else if(p==2)
{
cout<<"你和特工们发现了一些武器,现在你选择:\n";
cout<<"1.进攻!\n";
cout<<"2.继续搜集武器\n";
int ji;
cin>>ji;
if(ji==1)
{
cout<<"你们攻入了Y国!恭喜,任务完成!\n";
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hConsole, 12);
cout<<"获得成就:任务完成"<<endl;
cout<<"获得成就:升职为中尉"<<endl;
cout<<"你,升职了!\n";
SetConsoleTextAttribute(hConsole, 15);
cout<<"任务2:穿越Y国迷宫\n";
cout<<"1.去\n";
cout<<"2.不去\n";
int q;
cin>>q;
if(q==1)
MG();
else if(q==2)
{
cout<<"长官勃然大怒,把你斩了\n";
cout<<"你被射死了\n";
return 0;
}
}
else if(ji==2)
{
cout<<"一些Y国士兵杀了出来\n";
if(zd<=69)
{
cout<<"你们拼死抵抗,奇迹发生了,你们赢了\n";
cout<<"可是一架轰炸机飞了过来,你被炸死了\n";
return 0;
}
if(zd>69)
{
cout<<"你们投降了,被Y国士兵带入了Y国\n";
cout<<"你发现了一个军官\n";
cout<<"1.杀了他\n";
cout<<"2.啥也不干\n";
if(sw>3)
{
cout<<"你杀了军官,突破了Y国防御!恭喜,任务玩成!\n";
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hConsole, 12);
cout<<"获得成就:任务完成"<<endl;
SetConsoleTextAttribute(hConsole, 15);
return 0;
}
else
{
cout<<"Y国士兵把你杀了\n";
cout<<"你射死了\n";
return 0;
}
}
}
}
else if(p==3)
{
cout<<"你们开始逃跑\n";
cout<<"过了一天又一天\n";
cout<<"终于,你们的食物用完了\n";
cout<<"你被饿死了\n";
return 0;
}
}
int z2(int sw,int zd)
{
cout<<"你发现了一把机枪,子弹+66\n";
zd+=66;
cout<<"忽然,一个黑衣人跳了出来,喊道:来者何人!\n" ;
cout<<"快报上暗号!\n";
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(hConsole, 12);
cout<<"提示:暗号是4个小写字母,A比C低"<<endl;
SetConsoleTextAttribute(hConsole, 15);
string abcd;
cin>>abcd;
if(abcd=="abcd")
{
cout<<"黑衣人把你带到了他们的基地\n";
cout<<"原来他们都是X国的秘密特工。\n";
cout<<"你们组成了一支大军\n";
cout<<"毁灭了集中营\n";
while(clock()/CLOCKS_PER_SEC<=5.00);
//cout<<"";
cout<<"获得成就:毁灭集中营\n";
while(clock()/CLOCKS_PER_SEC<5.00);
Y(zd,sw);
}
else
{
cout<<"那人二话不说,举起了一颗手榴弹\n";
int kool[0];
srand(static_cast<unsigned int>(time(0)));
int random_number = rand();
if(random_number%2==0)
{
cout<<"你被炸死了\n";
return 0;
}
else
{
cout<<"可是你早已举起了枪,一枪干掉了黑衣人\n";
cout<<"你得到了5颗子弹\n";
cout<<"又过了一夜....\n";
if(si1(sw)==0)
{
cout<<"你饿死了\n";
return 0;
}
else if(sw>3)
{
cout<<"你发现你的食物只剩下1了!\n";
sw=1;
}
else
{
cout<<"你的食物被全部偷了\n";
sw=0;
}
if(si1(sw)==0)
{
cout<<"又过了一天,你饿死了\n";
return 0;
}
}
}
}
int z1(int sw,int zd)
{
cout<<"过了一天,食物-2";
cout<<endl;
sw-=2;
if(si1(sw)==0)
{
cout<<"你饿死了\n";
return 0;
}
else
{
int s;
cout<<"你不小心转入了一个战场!\n";
cout<<"战场中心处有一辆坦克\n";
cout<<"1.去看一看\n";
cout<<"2.走开\n";
cin>>s;
if(s==2)
{
cout<<"一个狙击手把你打死了\n";
//system("cls");
return 0;
}
else if(s==1)
{
cout<<"你发现了一把uzi,子弹+5\n,食物+1";
zd+=5,sw++;
cout<<"过了一夜,食物-2";
sw-=2;
if(si1(sw)==0)
{
cout<<"你饿死了\n";
return 0;
}
else if(si1(sw)==1)
{
cout<<"你发现,Y国就在你的眼前了!\n";
cout<<"但是,一支大军就在你面前\n";
cout<<"一个士兵发现了你\n";
cout<<"你,被射死了\n";
while(clock()/CLOCKS_PER_SEC<=5.00);
cout<<"";
cout<<"获得成就:功亏一篑!";
return 0;
}
}
}
}
int q(int sw, int zd)// sw zd
{
int sa;
cout<<"你遇见了一个敌国士兵\n";
cout<<"你选择\n";
cout<<"1.杀了他\n";
cout<<"2.投降\n";
cin>>sa;
if(sa==1)
{
if(zd<4)
{
cout<<"士兵突然回头,举起机枪,把你杀了\n";
return 0;
}
else
{
cout<<"你杀了士兵,子弹-1,食物+2\n";
zd--,sw+=2;
z1(sw,zd);
}
}
else if(sa==2)
{
cout<<"士兵把你押送进了一个集中营,食物-1\n";
sw--;
if(si1(sw)==0)
{
cout<<"你饿死了";
return 0;
}
else
{
int t;
cout<<"你发现了一条逃生通到\n";
cout<<"1.逃出去\n";
cout<<"2.不逃出去\n";
cin>>t;
system("cls");//
if(t==2)
{
cout<<"一个军官走了进来,按下了一个按钮\n";
cout<<"火焰从地下冒出\n";
cout<<"你被烧死了\n";
return 0;
}
else if(t==1)
{
system("cls");
z2(sw,zd);
}
}
}
}
int AC(int sw,int zd)
{
int i=0;
cout<<"你好,欢迎来到第三次世界大战\n";
cout<<"你是X国的的一位士兵\n";
cout<<"你可以分配你的资源(食物和子弹,共10,如5 5)" ;
cin>>sw>>zd;
if(si1(sw)==0)
{
cout<<"你饿死了";
return 0;
}
while(sw+zd!=10)
{
if(i==10)
{
cout<<"你死了\n";
return 0;
}
cout<<"请重新输入:";
cin>>sw>>zd;
i++;
}
system("cls");
cout<<"你的第一个任务是:\n";
cout<<"突袭Y国\n";
int qu;
cout<<"1.去\n";
cout<<"2.不去\n";
cin>>qu;
if(qu==2)
{
cout<<"长官勃然大怒,把你杀了\n";
return 0;
}
else if(qu==1)
{
q(sw,zd);
}
}
int main()
{
int sw,zd;
AC(sw,zd);
return 0;
}
/*#include<bits/stdc++.h>
using namespace std;
int main()
{
cout << "\033[1;2mHello, World!\033[0m\n";
return 0;
}
*/