自己做的游戏
所有改动都会在此显示,实时更新,目前版本(5.7)可运行版:
/*
1.报错:
[Error]'mt19937'was not declared in this scope
1.解决方案:
(1)点击工具[T] (2)编译选项[C] (3)在下方文本框内加入这行代码:-std=c++14
*/
#define KEY_DOWN(VK_NONAME)((GetAsyncKeyState(VK_NONAME) & 0x8000)?1:0)
#include<bits/stdc++.h>
#include<windows.h>
#include<algorithm>
#include<iostream>
#include<fstream>
#include<cstring>
#include<time.h>
#include<string>
#include<vector>
#include<cmath>
#include<queue>
#include<deque>
#include<stack>
#include<set>
#include<map>
using namespace std;
string player="wzh";
ifstream fin("game.wzh",ios_base::app);
int allscore=0,playtime=0;
char c[1000][1000];
void print(string a){/*文本居中*/HANDLE hConsole=GetStdHandle(STD_OUTPUT_HANDLE);CONSOLE_SCREEN_BUFFER_INFO csbi;GetConsoleScreenBufferInfo(hConsole,&csbi);printf("\033[%dC%s",(csbi.dwSize.X-a.length())/2,a.c_str());
}
void reset(){/*重置界面*/system("color 0f"); system(("title "+player+"的游戏空间").c_str());system("cls");
}
void rest(){/*暂停*/system("pause");
}
int random(int a,int b){/*随机数*/mt19937 rnd(time(NULL));b-=a;return(rnd()%(b+1))+a;
}
void start(){/*开始界面*/reset();print("欢迎来到"+player+"的游戏空间");cout<<endl<<endl;print("目前获得了"+to_string(allscore)+"积分");cout<<endl<<endl;print("退出:a/A");cout<<endl<<endl;print("获得存档:b/B");cout<<endl<<endl;print("打开存档:c/C");cout<<endl<<endl;print("刷新:d/D");cout<<endl<<endl;print("温馨提示:游戏前请切换至大写模式,游戏编号以最后一个字符为准");cout<<endl<<endl;print("1.躲避障碍");cout<<endl<<endl;print("2.手速射击");cout<<endl<<endl;print("3.恐龙跳一跳");cout<<endl<<endl;print("4.移动小人");cout<<endl<<endl;print("5.扫雷");cout<<endl<<endl;print("6.贪吃蛇");cout<<endl<<endl;print("7.阻止污染");cout<<endl<<endl;
}
void write(){/*获得存档*/string a,cnt;reset();cout<<"请输入你的昵称:";getline(cin,player);ofstream fout("game.wzh");fout<<player.size()<<" ";cout<<endl<<"请再次输入你的密码:";getline(cin,a);cnt=player+" "+to_string(allscore);while(cnt.size()<a.size()){cnt+=' ';}while(a.size()<cnt.size()){a+=' ';}fout<<a.size()<<endl;for(int i=0;i<a.size();i++){fout<<a[i]-cnt[i]<<" "; }cout<<endl<<"创建存档完成"<<" ";rest();
}
void read(){/*读取存档*/reset();string a,b;int c,l,n,d;cout<<"请输入你的密码:";getline(cin,a);fin>>l>>n;for(int i=a.size();i<=n;i++){a+=' ';}for(int i=0;i<l;i++){fin>>c;b+=char(a[i]-c);}fin>>c;for(int i=l+1;i<n;i++){fin>>c;d*=10;d+=(a[i]-(c+'0'));}player=b;allscore=d;cout<<"存档读取成功,存档信息:昵称:"<<player<<" 分数:"<<allscore<<endl;rest();
}
void dbza(){/*躲避障碍*/reset();int w=10,a=0,fs=0,yn=1;while(yn){int d=random(0,17);for(int n=0;n<10;n++){for(int i=0;i<10;i++){for(int t=0;t<18;t++){if(i==a&&t==d){c[i][t]='v';}else if((i==9||i==8)&&t==w){c[i][t]='^';}else{c[i][t]=' ';}if((n==8||n==9)&&(d==w)){reset();cout<<"游戏结束,得分:"<<fs;allscore+=fs;Sleep(500);yn=0;}if(yn==0){break;}}if(yn==0){break;}cout<<endl;}if(yn==0){break;}reset();for(int i=0;i<10;i++){for(int j=0;j<18;j++)