请各位大佬看看这东西该怎么改?
#include <bits/stdc++.h>
#include <windows.h>
#include <fstream>
#include <conio.h>
#define KEY_DOWN(VK_NONAME) ((GetAsyncKeyState(VK_NONAME) & 0x8000) ? 1:0)
using namespace std;
const int NN = 1e5 + 10;
const int INF = 0x3f3f3f3f;
char password[NN];
char *p = password;
char name[NN];
int _time;
bool isopen = false;
//15行
//BATTLE GROUND
void printmp(char ch[20][20]) {
system("cls");
for (int i = 0; i < 6; i++)
cout << ch[i] << endl;
}
void printmp2(char ch[20][20]) {
system("cls");
for (int i = 0; i < 12; i++)
cout << ch[i] << endl;
}
void print(char ch[105][105]) {
for (int i = 0; i < 16; i++)
cout << ch[i] << endl;
}
char mp[20][20] = {
"**********",
"* *Y*",
"* * * *",
"* * *",
"*0 * *",
"**********",
};
char mp2[20][20] = {
"*******************",
"* * Y* * **",
"* * * ** ** *",
"* * * * * *",
"* * * * * *",
"* * * * * * * * * *",
"* * * * * * * * *",
"* * * * * * * * * *",
"* ************* *",
"* ********* *",
"*0 *",
"*******************",
};
char B[105][105] = {
"BBBBBBBBBBBBBBBBB",
"BBBBBBBBBBBBBBBBBB",
"BBBB BBB",
"BBBB BBB",
"BBBB BBB",
"BBBB BBB",
"BBBBBBBBBBBBBBBB",
"BBBB BBB",
"BBBB BBB",
"BBBB BBB",
"BBBB BBB",
"BBBB BBB",
"BBBB BBB",
"BBBBBBBBBBBBBBBBBB",
"BBBBBBBBBBBBBBBBBB",
};
char A[105][105] = {
" A ",
" AAA ",
" AAAAA ",
" AAAAAAA ",
" AAAAAAAAA ",
" AAAAA AAAAA ",
" AAAAA AAAAA ",
" AAAAA AAAAA ",
" AAAAA AAAAA ",
" AAAAA AAAAA ",
" AAAAAAAAAAAAAAAAAAAAA ",
" AAAAAAAAAAAAAAAAAAAAAAA ",
" AAAAA AAAAA ",
" AAAAA AAAAA ",
"AAAAAAA AAAAAAA",
};
char T[105][105] = {
"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTT",
"TTTTTTTTTTTTTTTTTTTTTTTTTTTTTT",
" TTTTTTTT ",
" TTTTTTTT ",
" TTTTTTTT ",
" TTTTTTTT ",
" TTTTTTTT ",
" TTTTTTTT ",
" TTTTTTTT ",
" TTTTTTTT ",
" TTTTTTTT ",
" TTTTTTTT ",
" TTTTTTTT ",
" TTTTTTTT ",
" TTTTTTTT ",
};
char L[105][105] = {
"LLLLLL ",
"LLLLLL ",
"LLLLLL ",
"LLLLLL ",
"LLLLLL ",
"LLLLLL ",
"LLLLLL ",
"LLLLLL ",
"LLLLLL ",
"LLLLLL ",
"LLLLLL ",
"LLLLLL ",
"LLLLLLLLLLLLLLLLLLLLLLLLLLLLLL",
"LLLLLLLLLLLLLLLLLLLLLLLLLLLLLL",
"LLLLLLLLLLLLLLLLLLLLLLLLLLLLLL",
};
char E[105][105] = {
"EEEEEEEEEEEEEEEEEE ",
"EEEEEEEEEEEEEEEEEE ",
"EEEEE ",
"EEEEE ",
"EEEEE ",
"EEEEE ",
"EEEEEEEEEEEEE ",
"EEEEEEEEEEEEE ",
"EEEEE ",
"EEEEE ",
"EEEEE ",
"EEEEE ",
"EEEEE ",
"EEEEEEEEEEEEEEEEEEEE",
"EEEEEEEEEEEEEEEEEEEE",
};
char G[105][105] = {
" GGGGGGGGGG ",
" GGGGGGGGGGGG ",
" GGGG ",
"GGGG ",
"GGG ",
"GGG GGGGGGGGGG",
"GGG GGGGGGGGG",
"GGGG GG",
" GGGG GG",
" GGGGGGGGGGGGGGGGGGG",
" GGGGGGGGGGGGGGGGGG"
};
char R[105][105] = {
"RRRRRRRRRRRRRR ",
"RRRRRRRRRRRRRRR ",
"RRR RR ",
"RRR RR",
"RRR RR ",
"RRRRRRRRRRRRRRRR ",
"RRRRRRRRRRRRRRR ",
"RRR RRR ",
"RRR RRR ",
"RRR RRR ",
"RRR RRR ",
"RRR RRR ",
"RRR RRR ",
"RRR RRR",
};
char O[105][105] = {
" OOOOOOOOOO ",
" OOOOOOOOOOOOOOOO ",
" OOO OOO ",
"OOO OOO ",
"OOO OOO ",
"OOO OOO ",
"OOO OOO ",
"OOO OOO ",
" OOO OOO ",
" OOOOOOOOOOOOOOOO ",
" OOOOOOOOOO ",
};
char U[105][105] = {
"UUU UUU",
"UUU UUU",
"UUU UUU",
"UUU UUU",
"UUU UUU",
"UUU UUU",
"UUU UUU",
"UUU UUU",
"UUU UUU",
" UUU UUU ",
" UUU UUU ",
" UUUUUUUUUUUUUUUUU ",
};
char N[105][105] = {
"NNNNNNN NNN",
"NNN NNN NNN",
"NNN NNN NNN",
"NNN NNN NNN",
"NNN NNN NNN",
"NNN NNN NNN",
"NNN NNN NNN",
"NNN NNN NNN",
"NNN NNN NNN",
"NNN NNN NNN",
"NNN NNN NNN",
"NNN NNN NNN",
"NNN NNN NNN",
"NNN NNN NNN",
"NNN NNNNNNN"
};
char D[105][105] = {
"DDDDDDDDDDDDDDDDDDDD",
"DDD DDD",
"DDD DDD",
"DDD DDD",
"DDD DDD",
"DDD DDD",
"DDD DDD",
"DDD DDD",
"DDD DDD",
"DDDDDDDDDDDDDDDDDDD"
};
char sanchiji[105][105] = {
"|| ||| ||",
"|| ||| ||",
"|| ||| ||",
"|------ | ------|",
" ||| ",
" ||| ",
" ||| ",
" ||| ",
" ||| ",
" ||| ",
" ||| ",
" ||| ",
" ||| ",
};
char dragon[105][105] = {
" --------------------------",
" / || \\",
" / ------- || ------- \\",
" / | | || | | \\",
" / ------- || ------- \\",
"/----------------||----------------\\",
};
void in() {
print(sanchiji);
cout << "暗区突围小游戏(玩法一会儿可见)";
Sleep(3000);
system("cls");
print(dragon);
cout << "龙天工作室制作";
Sleep(3000);
system("cls");
}
void loading() {//加载
srand(time(0));
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 0xb0);
cout << "|--------------------------------------------------------------------------------------|\n";
cout << "| ,--^----------,--------,-----,-------^-- |\n";
cout << "| | ||||||||| `--------' | 0 ······ |\n";
cout << "| `+---------------------------^----------| |\n";
cout << "| `\\_,-------, _________________________| |\n";
cout << "| / XXXXXX / | | |\n";
cout << "| / XXXXXX / \\ / |\n";
cout << "| / XXXXXX /------- |\n";
cout << "| / XXXXXX / 版本:v0.2.3 |\n";
cout << "| / XXXXXX / ---------------------------------------- |\n";
cout << "| (________( | loading...%0 | |\n";
cout << "| `------' ---------------------------------------- |\n";
cout << "|--------------------------------------------------------------------------------------|\n";
Sleep(1000);
system("cls");
int loadingcnt = 0;
for (int i = 1; i <= 100; i++) {
loadingcnt++;
if (loadingcnt <= 30) {
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 0xb0);
} else if (loadingcnt > 30 && loadingcnt <= 70){
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 0x1b);
} else {
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 0xf0);
}
cout << "|--------------------------------------------------------------------------------------|\n";
cout << "| ,--^----------,--------,-----,-------^-- |\n";
cout << "| | ||||||||| `--------' | 0 ······ |\n";
cout << "| `+---------------------------^----------| |\n";
cout << "| `\\_,-------, _________________________| |\n";
cout << "| / XXXXXX / | | |\n";
cout << "| / XXXXXX / \\ / |\n";
cout << "| / XXXXXX /------- |\n";
cout << "| / XXXXXX / 版本:v0.2.3 |\n";
cout << "| / XXXXXX / ---------------------------------------- |\n";
cout << "| (________( | loading...%" << loadingcnt << " | \n";
cout << "| `------' ---------------------------------------- |\n";
cout << "|--------------------------------------------------------------------------------------|\n";
Sleep(75);
system("cls");
}
}
void input_password(char *password) {
int i = 0;
char c;
while ((c = getch()) != '\r') {
if (c != '\b') {
password[i++] = c;
printf("*");
} else {
if (i > 0) {
putchar('\b');
putchar(' ');
putchar('\b');
i--;
}
}
}
password[i] = '\0';
return;
}
void zhuce() {
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 0xf0);
system("cls");
cout << "请输入您的姓名:";
cin >> name;
system("cls");
cout << "请输入您的密码:";
input_password(p);
}
void denglu() {
cout<<"已登录";
Sleep(3000);
}
int main() {
in();
loading();
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 0x01);
print(B);
Sleep(750);
system("cls");
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 0x02);
print(A);
Sleep(750);
system("cls");
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 0x03);
print(T);
Sleep(750);
system("cls");
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 0x04);
print(T);
Sleep(750);
system("cls");
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 0x05);
print(L);
Sleep(750);
system("cls");
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 0x06);
print(E);
Sleep(750);
system("cls");
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 0x07);
print(G);
Sleep(750);
system("cls");
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 0x08);
print(R);
Sleep(750);
system("cls");
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 0x09);
print(O);
Sleep(750);
system("cls");
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 0x0a);
print(U);
Sleep(750);
system("cls");
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 0x0b);
print(N);
Sleep(750);
system("cls");
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 0x0c);
print(D);
Sleep(750);
system("cls");
Sleep(750);
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 0xf0);
cout << "BATTLE GROUND!";
system("pause");
cout<<"游戏玩法:"<<endl;
Sleep(500);
cout<<"一、游戏开场"<<endl;
Sleep(500);
cout<<"首先,游戏会展示一些开场画面,包括三叉戟游戏的介绍和龙天工作室贡献成员信息等,每个"<<endl;
Sleep(500);
cout<<"画面会持续显示一段时间后自动切换到下一个画面。"<<endl;
Sleep(500);
cout<<"接着进入加载界面,加载进度从 0% 逐步增加到 100%,同时界面上会有一些特殊字符和版本"<<endl;
Sleep(500);
cout<<"信息的显示。"<<endl;
Sleep(200);
cout<<"二、游戏选择"<<endl;
Sleep(200);
cout<<"加载完成后,游戏界面会显示 “BATTLE GROUND!” 字样"<<endl;
Sleep(200);
cout<<"并且提示按任意键继续。"<<endl;
Sleep(200);
cout<<"然后要求你选择 “1. 注册 2. 登录”:"<<endl;
Sleep(200);
cout<<"如果选择 “1. 注册”,会要求输入你的姓名,然后输入密码,密码输入时会以星号显示。"<<endl;
Sleep(200);
cout<<"三、游戏关卡一"<<endl;
Sleep(200);
cout<<"注册完成后,游戏界面显示 “正在加载...”,一段时间后提示 “你们被敌人包围了,需要"<<endl;
Sleep(200);
cout<<"突围!!!”。"<<endl;
Sleep(200);
cout<<"此时展示一个小型地图:"<<endl;
Sleep(100);
cout<<"使用字符组成的地图中,'0' 代表玩家,'Y' 可能是某种特殊目标或者敌人,'*' 代表障碍物。"<<endl;
Sleep(100);
cout<<"通过键盘输入控制玩家移动:"<<endl;
Sleep(200);
cout<<"'a' 键向左移动,如果左边的位置是空格 ' ' 或者 'Y' 则可以移动。"<<endl;
Sleep(200);
cout<<"'d'键向右移动,条件同上。"<<endl;
Sleep(23);
cout<<"'s' 键向下移动,条件同上。"<<endl;
Sleep(23);
cout<<"'w' 键向上移动,条件同上。"<<endl;
Sleep(23);
cout<<"目标是移动玩家到坐标为 (1, 8) 的位置。"<<endl;
Sleep(200);
cout<<"四、游戏关卡二"<<endl;
Sleep(200);
cout<<"当玩家成功到达关卡一的目标位置后,游戏界面提示 “你们冲出了包围,什么?还有个迷宫"<<endl;
Sleep(23);
cout<<"?” 和 “不好天黑了!看不见路了!”。"<<endl;
Sleep(23);
cout<<"展示一个较大的迷宫地图:"<<endl;
Sleep(23);cout<<"同样使用字符组成地图,'0' 代表玩家。"<<endl;
cout<<"通过键盘输入控制玩家移动:"<<endl;
Sleep(23);cout<<"'a' 键向左移动,如果左边的位置是空格 ' ' 或者 'Y' 则可以移动。"<<endl;
cout<<"'d' 键向右移动,条件同上。"<<endl;
Sleep(23);cout<<"'s' 键向下移动,条件同上。"<<endl;
cout<<"'w' 键向上移动,条件同上。"<<endl;
Sleep(23);cout<<"目标是移动玩家到坐标为 (1, 9) 的位置。"<<endl;
cout<<"由于作者时间有限,游戏目前只更新到这个程度。"<<endl;
Sleep(2000);
system("pause");
system("cls");
cout << "请选择:1.注册 2.登录\n";
int ch;
cin >> ch;
if (ch == 1) {
zhuce();
} else if (ch == 2) {
denglu();
}
system("cls");
cout << "正在加载...";
Sleep(3000);
system("cls");
cout << "你们被敌人包围了,需要突围!!!";
Sleep(2000);
system("cls");
printmp(mp);
ch = getch();
int x = 4, y = 1;
while (x != 1 || y != 8) {
if (_kbhit()) {
ch = _getch();
if (ch == 97 && (mp[x][y - 1] == ' ' || mp[x][y - 1] == 'Y')) {
mp[x][y] = ' ';
y--;
mp[x][y] = '0';
printmp(mp);
}
if (ch == 100 && (mp[x][y + 1] == ' ' || mp[x][y + 1] == 'Y')) {
mp[x][y] = ' ';
y++;
mp[x][y] = '0';
printmp(mp);
}
if (ch == 115 && (mp[x + 1][y] == ' ' || mp[x + 1][y] == 'Y')) {
mp[x][y] = ' ';
x++;
mp[x][y] = '0';
printmp(mp);
}
if (ch == 119 && (mp[x - 1][y] == ' ' || mp[x - 1][y] == 'Y')) {
mp[x][y] = ' ';
x--;
mp[x][y] = '0';
printmp(mp);
}
}
}
system("cls");
cout << "你们冲出了包围,什么?还有个迷宫?";
cout << endl;
cout << "不好天黑了!看不见路了!";
system("pause");
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 0x08);
printmp2(mp2);
x = 10, y = 1;
while (x != 1 || y != 9) {
if (_kbhit()) {
char ch = _getch();
if (ch == 'a' && (mp2[x][y - 1] == ' ' || mp2[x][y - 1] == 'Y')) {
mp2[x][y] = ' ';
y--;
mp2[x][y] = '0';
printmp2(mp2);
}
if (ch == 'd' && (mp2[x][y + 1] == ' ' || mp2[x][y + 1] == 'Y')) {
mp2[x][y] = ' ';
y++;
mp2[x][y] = '0';
printmp2(mp2);
}
if (ch == 's' && (mp2[x + 1][y] == ' ' || mp2[x + 1][y] == 'Y')) {
mp2[x][y] = ' ';
x++;
mp2[x][y] = '0';
printmp2(mp2);
}
if (ch == 'w' && (mp2[x - 1][y] == ' ' || mp2[x - 1][y] == 'Y')) {
mp2[x][y] = ' ';
x--;
mp2[x][y] = '0';
printmp2(mp2);
}
}
}
cout << "太棒了!";
cout<<"是否存档?y or n";
char ppp;
cin>>ppp;
if(ppp='y'){
cout<<"正在处理存档,请稍后";
Sleep(3100);
system("pause");
system("cls");
cout<<"存档成功" ;
}
else if(ppp='n'){
cout<<"放弃存档";
system("pause");
system("cls");
cout<<"再见";
}system("cls");
return 0;
}