上期发的代码有些问题本问做出了改进:
1.修复了已知的bug
2.增加了自定义角色颜色
3.增加了大写字母输入移动
另外新增了几个地图
还有新增地图元素水和氧气值
上代码:
#include<bits/stdc++.h>
#include<windows.h>
#include<stdlib.h>
#include<cstdio>
#include<iostream>
#include<string>
#include<stdio.h>
#include<ctime>
#include<conio.h>
#include<time.h>
using namespace std;
void JZ()
{
system("cls");
for(int i=1;i<=100;i++)
{
if(i<100)
{
printf("数据加载中...\n");
}
else
{
printf("加载完毕");
}
printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n ");
for(int j=1;j<=50;j++)
{
printf("_");
}
printf("\n |");
for(int j=1;j<=i/2;j++)
{
printf("▇");
}
printf("\n 当前加载进度:%d%\n",i);
Sleep(5);
system("cls");
}
system("cls");
}
void COLOR_PRINT(const char* s, int color)
{
HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTextAttribute(handle, FOREGROUND_INTENSITY | color);
printf(s);
SetConsoleTextAttribute(handle, FOREGROUND_INTENSITY | 7);
}
//puts("=============================================================================");
/*
0 = 黑色 8 = 灰色
1 = 蓝色 9 = 淡蓝色
2 = 绿色 10 = 淡绿色
3 = 浅绿色 11 = 淡浅绿色
4 = 红色 12 = 淡红色
5 = 紫色 13 = 淡紫色
6 = 黄色 14 = 淡黄色
7 = 白色 15 = 亮白色
*/
//COLOR_PRINT("", );
int x=1,y=1,jbx,jby,dt,g,xz,d,yq=5,js=4;
//地图数组 墙:0 空格:1 毒水:2 水:3
int Map[7][10][20] =
{
{
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0},
{0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0},
{0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0},
{0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0},
{0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0},
{0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0},
{0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0},
{0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
},
{
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,1,1,1,2,2,2,1,1,1,2,2,2,2,2,2,2,2,2,0},
{0,1,1,1,2,2,2,1,1,1,2,2,2,2,2,2,2,2,2,0},
{0,1,1,1,2,2,2,1,1,1,2,2,2,2,2,2,2,2,2,0},
{0,1,1,1,1,1,1,1,1,1,2,2,2,1,1,1,1,1,1,0},
{0,1,1,1,1,1,1,1,1,1,2,2,2,1,1,1,1,1,1,0},
{0,2,2,2,2,2,2,1,1,1,1,1,1,1,1,2,2,1,1,0},
{0,2,2,2,2,2,2,1,1,1,1,1,1,1,1,2,2,1,1,0},
{0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
},
{
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,1,2,1,1,1,2,1,1,1,2,1,1,1,2,1,1,1,2,0},
{0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,0},
{0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,0},
{0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,0},
{0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,0},
{0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,0},
{0,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,0},
{0,1,1,1,2,1,1,1,2,1,1,1,2,1,1,1,2,1,1,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
},
{
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0},
{0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,0},
{0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0},
{0,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0},
{0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0},
{0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,0},
{0,1,1,1,2,2,1,1,1,1,2,2,1,1,1,1,2,2,1,0},
{0,2,2,1,1,1,1,2,2,1,1,1,1,2,2,1,1,1,1,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
},
{
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,1,1,1,3,3,3,1,1,1,3,3,3,1,1,1,3,3,3,0},
{0,1,1,1,3,3,3,1,1,1,3,3,3,1,1,1,3,3,3,0},
{0,1,1,1,3,3,3,1,1,1,3,3,3,1,1,1,3,3,3,0},
{0,3,3,3,1,1,1,3,3,3,1,1,1,3,3,3,1,1,1,0},
{0,3,3,3,1,1,1,3,3,3,1,1,1,3,3,3,1,1,1,0},
{0,1,1,1,3,3,3,1,1,1,3,3,3,1,1,1,3,3,3,0},
{0,1,1,1,3,3,3,1,1,1,3,3,3,1,1,1,3,3,3,0},
{0,1,1,1,3,3,3,1,1,1,3,3,3,1,1,1,3,3,3,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
},
{
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,3,3,3,1,1,3,3,1,1,3,3,1,1,3,3,1,1,3,0},
{0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0},
{0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0},
{0,3,3,3,1,1,3,3,1,1,3,3,1,1,3,3,1,1,3,0},
{0,3,3,3,1,1,3,3,1,1,3,3,1,1,3,3,1,1,3,0},
{0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0},
{0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0},
{0,3,3,3,1,1,3,3,1,1,3,3,1,1,3,3,1,1,1,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
},
{
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,1,1,1,2,2,2,3,3,3,3,1,3,1,2,3,1,1,2,0},
{0,1,1,1,2,2,2,1,1,1,2,2,2,3,2,3,2,3,2,0},
{0,3,3,3,2,2,2,3,3,3,2,2,2,1,2,1,2,1,2,0},
{0,3,3,3,2,2,2,3,3,3,2,2,2,3,2,3,2,3,2,0},
{0,3,3,3,2,2,2,3,3,3,2,2,2,3,2,3,2,3,2,0},
{0,3,3,3,2,2,2,3,3,3,2,2,2,1,2,1,2,1,2,0},
{0,1,1,1,2,2,2,1,1,1,2,2,2,3,2,3,2,3,2,0},
{0,3,3,3,3,1,3,3,3,3,2,2,2,3,1,1,2,1,1,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}
},
};
int main()
{
printf("走迷宫");
Sleep(2500);
JZ();
ZJM:
while(true)
{
printf("1.游玩 2.查看地图 3.自定义角色颜色\n");
cin>>xz;
if(xz==1)
{
printf("请输入关卡序号(0-6)\n");
cin>>d;
if(d==0||d==2||d==4||d==5||d==6)
{
jbx=18;
jby=8;
}
if(d==1)
{
jbx=18;
jby=7;
}
if(d==3)
{
jbx=1;
jby=7;
}
while(true)
{
printf("当前氧气值:%d\n",yq);
for(int i=0;i<10;i++)
{
for(int j=0;j<20;j++)
{
if(jbx==x&&jby==y)
{
system("cls");
COLOR_PRINT("恭喜过关", 6);
Sleep(2000);
system("cls");
x=1;
y=1;
yq=5;
goto ZJM;
}
if(yq<=0)
{
system("cls");
printf("氧气值过低,你窒息死亡了");
Sleep(1500);
system("cls");
COLOR_PRINT("Game Over", 6);
Sleep(1500);
system("cls");
x=1;
y=1;
yq=5;
goto ZJM;
}
if(Map[d][y][x]==2)
{
system("cls");
printf("你被毒死了");
Sleep(1500);
system("cls");
COLOR_PRINT("Game Over", 6);
Sleep(1500);
system("cls");
x=1;
y=1;
yq=5;
goto ZJM;
}
if(i==y&&j==x)
{
COLOR_PRINT("█", js);
}
else if(i==jby&&j==jbx)
{
COLOR_PRINT("█", 6);
}
else if(Map[d][i][j]==0)
{
printf("█");
}
else if(Map[d][i][j]==1)
{
printf(" ");
}
else if(Map[d][i][j]==2)
{
COLOR_PRINT("█", 2);
}
else if(Map[d][i][j]==3)
{
COLOR_PRINT("█", 1);
}
}
printf("\n");
}
printf("按wasd移动");
char c = getch();
if(c=='w'||c=='W')
{
if(y>1)
{
y--;
}
}
if(c=='s'||c=='S')
{
if(y<8)
{
y++;
}
}
if(c=='a'||c=='A')
{
if(x>1)
{
x--;
}
}
if(c=='d'||c=='D')
{
if(x<18)
{
x++;
}
}
if(Map[d][y][x]!=3&&yq<5)
{
yq++;
}
if(Map[d][y][x]==3)
{
yq--;
}
system("cls");
}
}
if(xz==2)
{
printf("请输入要查看的关卡序号(0-6)\n");
cin>>d;
for(int i=0;i<10;i++)
{
for(int j=0;j<20;j++)
{
if(Map[d][i][j]==0)
{
printf("█");
}
else if(Map[d][i][j]==1)
{
printf(" ");
}
else if(Map[d][i][j]==2)
{
COLOR_PRINT("█", 2);
}
else if(Map[d][i][j]==3)
{
COLOR_PRINT("█", 1);
}
}
printf("\n");
}
system("pause");
system("cls");
goto ZJM;
}
if(xz==3)
{
printf("请输入颜色编号:(0-15)\n");
printf("颜色对应编号:\n0 = 黑色 8 = 灰色\n1 = 蓝色 9 = 淡蓝色\n2 = 绿色 10 = 淡绿色\n3 = 浅绿色 11 = 淡浅绿色\n4 = 红色 12 = 淡红色\n5 = 紫色 13 = 淡紫色\n6 = 黄色 14 = 淡黄色\n7 = 白色 15 = 亮白色\n");
cin>>js;
system("cls");
goto ZJM;
}
}
}
都看到这了点个赞吧!!!
求求了