作者: qwerty 管理员
标签: C++
创建日期:2024年10月30日 18:16
浏览量:6
#include<bits/stdc++.h>
#include<windows.h>
#include<stdio.h>
#include<conio.h>
#include<time.h>
#ifndef color
#define color(a) SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),a)
//0黑 1蓝 2绿 3青 4红 5紫 6黄 7白 8灰 9亮蓝 10亮绿 11亮青 12亮红 13亮紫 14亮黄 15亮白
#endif
using namespace std;
int Px=1,Py=1,Pd=1,Ph=2000;
bool Plive=true;
bool vis[114][114];
inline void initcolor(){
color(0*16+15);
return;
}
inline void pu(string s){
for(int i=0;i<=s.size();++i){
char x=s[i];
putchar(x);
if(x=='\n') Sleep(1000);
else if(x=='\t') Sleep(100);
else if(x==' ') Sleep(50);
else if(x=='?'||x=='!'||x==';') Sleep(114);
else if(x=='/'||x=='*'||x=='-'||x=='+'||x=='.') Sleep(20);
else Sleep(15);
}
return;
}
inline void outputplot(){
pu("剧情概述:\n");
pu("A.D.4514年\n");
pu("FaXiSi主义NaCui党重新组织起来\n");
pu("进行了一次大规模的起义\n");
pu("想要建立一个新的国度\n");
pu("但\n");
pu("这引起了一些人的注意\n");
pu("于是乎\n");
pu("各个大国联合起来绞杀FaXiSi主义NaCui党成员\n");
pu("经历了无数场战争\n");
pu("只剩下一位FaXiSi主义NaCui党成员\n");
pu("那就是你\n");
pu("希望身为FaXiSi主义NaCui党成员的你\n");
pu("能够恢复我们曾经的辉煌!\n");
system("pause");
return;
}
inline void outputgameinfor(){
pu("一个蒟蒻创作的游戏\n");
pu("按WS移动,AD转向,空格开枪\n");
system("pause");
system("cls");
outputplot();
return;
}
inline void outputmap(){
for(int i=1;i<=100;i++){
for(int j=1;j<=100;j++){
if(Px==j&&Py==101-i) cout<<"卐";
else if(vis[i][j]) cout<<"■";
else cout<<"□";
}
putchar('\n');
}
return;
}
inline int inputaction(){
char x=_getch();
if(x=='w') return 1;
if(x=='a') return 2;
if(x=='s') return 3;
if(x=='d') return 4;
if(x==' ') return 5;
return 0;
}
inline void refresh(){
system("cls");
color(0*16+12);
pu("你的血量:");cout<<Ph<<"\n";
color(0*16+10);
pu("当前坐标: x=");cout<<Px;pu(" y=");cout<<Py<<"\n";
color(0*16+11);
pu("当前方向:");
switch(Pd){
case 1:pu("北\n");break;
case 2:pu("西\n");break;
case 3:pu("南\n");break;
case 4:pu("东\n");break;
}
initcolor();
outputmap();
return;
}
int main(){
outputgameinfor();
while(Plive){
refresh();
pu(":");
int x=inputaction();
if(!x){
pu("无效输入!!!");
continue;
}
switch(x){
case 1:break;
case 2:break;
case 3:break;
case 4:break;
case 5:break;
}
}
return 0;
}