#define KEY_DOWN(VK_NONAME) ((GetAsyncKeyState(VK_NONAME) & 0x8000) ? 1:0)
#include<bits/stdc++.h>
#include<windows.h>
#include<algorithm>
#include<iostream>
#include<cstring>
#include<time.h>
#include<string>
#include<cmath>
using namespace std;
int main();
void reset(){//重置界面
system("cls");
system("color 0f");
system("title wzh的游戏空间");
}
void start(){//开始界面
string a=" ";
string b="===============================================================";
HWND hwnd=GetForegroundWindow();
int x=GetSystemMetrics(SM_CXSCREEN)+300;
int y=GetSystemMetrics(SM_CYSCREEN)+300;
char setting[30];
sprintf(setting,"mode con:cols=%d lines=%d",x,y);
system(setting);
SetWindowPos(hwnd,HWND_TOPMOST,0,0,x+300,y+300,NULL);
MoveWindow(hwnd,-10,-40,x+300,y+300,1);
reset();
cout<<endl<<b<<"欢迎来到wzh的游戏空间"<<b<<endl<<endl;
cout<<" 温馨提示:游戏前请切换至大写模式,游戏编号以最后一个字符为准"<<endl<<endl;
cout<<a<<"1.躲避障碍"<<endl<<endl;
cout<<a<<"2.手速射击"<<endl<<endl;
cout<<a<<"3.恐龙跳一跳"<<endl<<endl;
cout<<a<<"4.移动小人"<<endl<<endl;
cout<<" ";
}
void rest(){//暂停
system("pause");
}
int random(int a,int b){//随机数
b-=a;
srand(time(0));
return (rand()%b)+a;//返回a和b之间的随机数
}
void dbza(){//躲避障碍
reset();
int w=10,a=0,fs=0;
while(1){
int d=random(1,18);
//cout<<d<<endl;
for(int n=0;n<10;n++){
for(int i=0;i<10;i++){
for(int t=0;t<20;t++){
if(i==a&&t==d){
cout<<"v";
}else if(i==9&&t==w||(i==8&&t==w)){
cout<<"^";
}else{
cout<<" ";
}if((i==8||i==9)&&(d==w)){
reset();
cout<<"游戏结束,得分:"<<fs;
Sleep(1000);
main();
}
}
cout<<endl;
}
cout<<"A向左,D向右";
a+=1;
if(KEY_DOWN('A')){
w-=1;
}else if(KEY_DOWN('D')){
w+=1;
}
if(w>18){
w=18;
}else if(w<1){
w=1;
}
if(KEY_DOWN('P')){
reset();
rest();
}
Sleep(100);
reset();
}
a=0;
fs+=1;
}
}
void sj(){//手速射击
reset();
int x=0;
cout<<"按K射击";
char map[10][10]={{'\\',' ',' ',' ',' ',' ',' ',' ',' ','/'},
{' ','\\',' ',' ',' ',' ',' ',' ','/',' '},
{' ',' ','\\',' ',' ',' ',' ','/',' ',' '},
{' ',' ',' ','\\',' ',' ','/',' ',' ',' '},
{' ',' ',' ',' ','\\','/',' ',' ',' ',' '},
{' ',' ',' ',' ','/','\\',' ',' ',' ',' '},
{' ',' ',' ','/',' ',' ','\\',' ',' ',' '},
{' ',' ','/',' ',' ',' ',' ','\\',' ',' '},
{' ','/',' ',' ',' ',' ',' ',' ','\\',' '},
{'/',' ',' ',' ',' ',' ',' ',' ',' ','\\'},};
bool cg=0;
Sleep(2000);
Sleep(random(1,10)*100);
reset();
for(int i=0;i<10;i++){
for(int j=0;j<10;j++){
cout<<map[i][j];
}
cout<<endl;
}
if(KEY_DOWN('K')){
reset();
cout<<"游戏失败";
Sleep(2000);
main();
}
for(int i=0;i<1000000;i++){
if(KEY_DOWN('K')){
reset();
cout<<"游戏成功,得分:"<<100-i/10000<<endl;
Sleep(2000);
cout<<"游戏结束";
Sleep(2000);
cg=1;
break;
}
}
if (cg==0){
reset();
cout<<"游戏失败"<<endl;
Sleep(2000);
cout<<"游戏结束";
Sleep(2000);
}
main();
}
void kltyt(){//恐龙跳一跳
reset();
int z=0,d=30,lc=0,lq=0;
Sleep(2000);
while(1){
for(int n=1;n<=30;n++){
reset();
for(int i=1;i<=25;i++){
cout<<" ";
}
printf("%05d", lc);
cout<<endl<<endl<<endl<<endl;
if(z==1){
cout<<"$";
}
cout<<endl;
for(int i=1;i<=30;i++){
if(i==1&&z==0){
cout<<"$";
}
if(i==d){
cout<<"^";
}else{
cout<<" ";
}
}
cout<<endl;
for(int i=1;i<=30;i++){
cout<<"=";
}
cout<<endl<<"W跳";
if(KEY_DOWN('W')&&lq>=0){
z=1;
lq-=2;
}else{
z=0;
lq+=1;
}
if(KEY_DOWN('P')){
reset();
rest();
}
d-=1;
lc+=1;
if(d==1&&z==0){
reset();
cout<<"游戏失败,路程:"<<lc<<endl;
Sleep(2000);
cout<<"游戏结束";
Sleep(2000);
main();
}
Sleep(100);
}
d=30;
}
}
void ydxr(){//移动小人
reset();
cout<<"加载中";
int bx=random(1,9);
int x=5,y=5;
Sleep(random(0,2000));
int by=random(1,9);
reset();
for(int i=0;i<10;i++){
for(int j=0;j<10;j++){
if(i==by&&j==bx){
cout<<'$';
}else if(i==y&&j==x){
cout<<'^';
}else{
cout<<'_';
}
}
cout<<endl;
}
cout<<"输入提示:W上S下A左D右"<<endl<<"请输入:";
string a;
getline(cin,a);
for(int i=0;i<a.size();i++){
switch(a[i]){
case 'W':
y-=1;
break;
case 'S':
y+=1;
break;
case 'A':
x-=1;
break;
case 'D':
x+=1;
break;
}
reset();
for(int i=0;i<10;i++){
for(int j=0;j<10;j++){
if(i==by&&j==bx){
cout<<'$';
}else if(i==y&&j==x){
cout<<'^';
}else{
cout<<'_';
}
}
cout<<endl;
}
Sleep(500);
}
if(x==bx||y==by){
reset();
cout<<"游戏成功,路程:"<<a.size()<<endl;
Sleep(2000);
cout<<"游戏结束";
Sleep(2000);
main();
}else{
cout<<"游戏失败"<<endl;
Sleep(2000);
cout<<"游戏结束";
Sleep(2000);
main();
}
}
int main(){
reset();
string yx;
start();
cout<<"请选择游戏,游戏编号:";
getline(cin,yx);
while(1){
switch(yx[yx.size()-1]){
case '1':
dbza();
break;
case '2':
sj();
break;
case '3':
kltyt();
break;
case '4':
ydxr();
break;
default:
start();
cout<<"没有找到这个游戏,请重新选择游戏,游戏编号:";
getline(cin,yx);
}
}
}
/*
cout<<" .扫雷"<<endl;
void sl(){//扫雷
start();
int pl=0,lx,cx,cy,ly;
int sz[10][10]={0},seemap[10][10]={0},x[10]={-1,-1,-1,0,0,1,1,1},y[10]={-1,0,1,-1,1,-1,0,1};
for(int i=1;i<=5;i++){
start();
lx=random(1,10);
Sleep(random(600,1000));
ly=random(1,10);
if(sz[ly][lx]!=9){
sz[ly][lx]=9;
}else{
i-=1;
}
cout<<"加载中:";
for(int n=1;n<=i;n++){
cout<<"■";
}
for(int n=i;n<=4;n++){
cout<<"□";
}
Sleep(random(600,1000));
}
for(int i=0;i<=9;i++){
for(int j=0;j<=9;j++){
if(sz[i][j]==9){
for(int k=0;k<=7;k++){
if(sz[i+x[k]][j+y[k]]!=9){
sz[i+x[k]][j+y[k]]++;
}
}
}
}
}
seemap[0][5]=0;
seemap[0][6]=0;
seemap[0][7]=0;
while(1){
start();
for(int i=0;i<=9;i++){
for(int j=0;j<=9;j++){
cout<<sz[i][j];
}
cout<<endl;
}
cout<<endl<<endl;
for(int i=0;i<=9;i++){
for(int j=0;j<=9;j++){
cout<<seemap[i][j];
}
cout<<endl;
}
cout<<endl<<endl;
for(int i=0;i<=9;i++){
for(int j=0;j<=9;j++){
if(seemap[i][j]==0){
cout<<"#"<<' ';
}else if(seemap[i][j]==1){
cout<<sz[i][j]<<' ';
}else if(seemap[i][j]==2){
cout<<"P"<<' ';
}
}
cout<<endl;
}
cout<<"按B开始排雷"<<endl;
cout<<"请输入需要排查的地方在第几列:";
cin>>cx;
cout<<endl<<"请输入需要排查的地方在第几行:";
cin>>cy;
if(sz[cy-1][cx-1]==9){
start();
cout<<"游戏失败"<<endl<<"你被雷炸死了";
Sleep(2000);
main();
}else if(sz[cy-1][cx-1]!=9){
seemap[cy-1][cx-1]=1;
pl+=1;
}
if(KEY_DOWN('B')){
start();
cout<<"游戏胜利"<<endl<<"你排完了所有的雷";
Sleep(2000);
main();
}
}
}*/
#define KEY_DOWN(VK_NONAME) ((GetAsyncKeyState(VK_NONAME) & 0x8000) ? 1:0)
#include<bits/stdc++.h>
#include<windows.h>
#include<algorithm>
#include<iostream>
#include<cstring>
#include<time.h>
#include<string>
#include<cmath>
using namespace std;
int main();
void reset(){//重置界面
system("cls");
system("color 0f");
system("title wzh的游戏空间");
}
void start(){//开始界面
string a=" ";
string b="===============================================================";
HWND hwnd=GetForegroundWindow();
int x=GetSystemMetrics(SM_CXSCREEN)+300;
int y=GetSystemMetrics(SM_CYSCREEN)+300;
char setting[30];
sprintf(setting,"mode con:cols=%d lines=%d",x,y);
system(setting);
SetWindowPos(hwnd,HWND_TOPMOST,0,0,x+300,y+300,NULL);
MoveWindow(hwnd,-10,-40,x+300,y+300,1);
reset();
cout<<endl<<b<<"欢迎来到wzh的游戏空间"<<b<<endl<<endl;
cout<<" 温馨提示:游戏前请切换至大写模式,游戏编号以最后一个字符为准"<<endl<<endl;
cout<<a<<"1.躲避障碍"<<endl<<endl;
cout<<a<<"2.手速射击"<<endl<<endl;
cout<<a<<"3.恐龙跳一跳"<<endl<<endl;
cout<<a<<"4.移动小人"<<endl<<endl;
cout<<" ";
}
void rest(){//暂停
system("pause");
}
int random(int a,int b){//随机数
b-=a;
srand(time(0));
return (rand()%b)+a;//返回a和b之间的随机数
}
void dbza(){//躲避障碍
reset();
int w=10,a=0,fs=0;
while(1){
int d=random(1,18);
//cout<<d<<endl;
for(int n=0;n<10;n++){
for(int i=0;i<10;i++){
for(int t=0;t<20;t++){
if(i==a&&t==d){
cout<<"v";
}else if(i==9&&t==w||(i==8&&t==w)){
cout<<"^";
}else{
cout<<" ";
}if((i==8||i==9)&&(d==w)){
reset();
cout<<"游戏结束,得分:"<<fs;
Sleep(1000);
main();
}
}
cout<<endl;
}
cout<<"A向左,D向右";
a+=1;
if(KEY_DOWN('A')){
w-=1;
}else if(KEY_DOWN('D')){
w+=1;
}
if(w>18){
w=18;
}else if(w<1){
w=1;
}
if(KEY_DOWN('P')){
reset();
rest();
}
Sleep(100);
reset();
}
a=0;
fs+=1;
}
}
void sj(){//手速射击
reset();
int x=0;
cout<<"按K射击";
char map[10][10]={{'\\',' ',' ',' ',' ',' ',' ',' ',' ','/'},
{' ','\\',' ',' ',' ',' ',' ',' ','/',' '},
{' ',' ','\\',' ',' ',' ',' ','/',' ',' '},
{' ',' ',' ','\\',' ',' ','/',' ',' ',' '},
{' ',' ',' ',' ','\\','/',' ',' ',' ',' '},
{' ',' ',' ',' ','/','\\',' ',' ',' ',' '},
{' ',' ',' ','/',' ',' ','\\',' ',' ',' '},
{' ',' ','/',' ',' ',' ',' ','\\',' ',' '},
{' ','/',' ',' ',' ',' ',' ',' ','\\',' '},
{'/',' ',' ',' ',' ',' ',' ',' ',' ','\\'},};
bool cg=0;
Sleep(2000);
Sleep(random(1,10)*100);
reset();
for(int i=0;i<10;i++){
for(int j=0;j<10;j++){
cout<<map[i][j];
}
cout<<endl;
}
if(KEY_DOWN('K')){
reset();
cout<<"游戏失败";
Sleep(2000);
main();
}
for(int i=0;i<1000000;i++){
if(KEY_DOWN('K')){
reset();
cout<<"游戏成功,得分:"<<100-i/10000<<endl;
Sleep(2000);
cout<<"游戏结束";
Sleep(2000);
cg=1;
break;
}
}
if (cg==0){
reset();
cout<<"游戏失败"<<endl;
Sleep(2000);
cout<<"游戏结束";
Sleep(2000);
}
main();
}
void kltyt(){//恐龙跳一跳
reset();
int z=0,d=30,lc=0,lq=0;
Sleep(2000);
while(1){
for(int n=1;n<=30;n++){
reset();
for(int i=1;i<=25;i++){
cout<<" ";
}
printf("%05d", lc);
cout<<endl<<endl<<endl<<endl;
if(z==1){
cout<<"$";
}
cout<<endl;
for(int i=1;i<=30;i++){
if(i==1&&z==0){
cout<<"$";
}
if(i==d){
cout<<"^";
}else{
cout<<" ";
}
}
cout<<endl;
for(int i=1;i<=30;i++){
cout<<"=";
}
cout<<endl<<"W跳";
if(KEY_DOWN('W')&&lq>=0){
z=1;
lq-=2;
}else{
z=0;
lq+=1;
}
if(KEY_DOWN('P')){
reset();
rest();
}
d-=1;
lc+=1;
if(d==1&&z==0){
reset();
cout<<"游戏失败,路程:"<<lc<<endl;
Sleep(2000);
cout<<"游戏结束";
Sleep(2000);
main();
}
Sleep(100);
}
d=30;
}
}
void ydxr(){//移动小人
reset();
cout<<"加载中";
int bx=random(1,9);
int x=5,y=5;
Sleep(random(0,2000));
int by=random(1,9);
reset();
for(int i=0;i<10;i++){
for(int j=0;j<10;j++){
if(i==by&&j==bx){
cout<<'$';
}else if(i==y&&j==x){
cout<<'^';
}else{
cout<<'_';
}
}
cout<<endl;
}
cout<<"输入提示:W上S下A左D右"<<endl<<"请输入:";
string a;
getline(cin,a);
for(int i=0;i<a.size();i++){
switch(a[i]){
case 'W':
y-=1;
break;
case 'S':
y+=1;
break;
case 'A':
x-=1;
break;
case 'D':
x+=1;
break;
}
reset();
for(int i=0;i<10;i++){
for(int j=0;j<10;j++){
if(i==by&&j==bx){
cout<<'$';
}else if(i==y&&j==x){
cout<<'^';
}else{
cout<<'_';
}
}
cout<<endl;
}
Sleep(500);
}
if(x==bx||y==by){
reset();
cout<<"游戏成功,路程:"<<a.size()<<endl;
Sleep(2000);
cout<<"游戏结束";
Sleep(2000);
main();
}else{
cout<<"游戏失败"<<endl;
Sleep(2000);
cout<<"游戏结束";
Sleep(2000);
main();
}
}
int main(){
reset();
string yx;
start();
cout<<"请选择游戏,游戏编号:";
getline(cin,yx);
while(1){
switch(yx[yx.size()-1]){
case '1':
dbza();
break;
case '2':
sj();
break;
case '3':
kltyt();
break;
case '4':
ydxr();
break;
default:
start();
cout<<"没有找到这个游戏,请重新选择游戏,游戏编号:";
getline(cin,yx);
}
}
}
/*
cout<<" .扫雷"<<endl;
void sl(){//扫雷
start();
int pl=0,lx,cx,cy,ly;
int sz[10][10]={0},seemap[10][10]={0},x[10]={-1,-1,-1,0,0,1,1,1},y[10]={-1,0,1,-1,1,-1,0,1};
for(int i=1;i<=5;i++){
start();
lx=random(1,10);
Sleep(random(600,1000));
ly=random(1,10);
if(sz[ly][lx]!=9){
sz[ly][lx]=9;
}else{
i-=1;
}
cout<<"加载中:";
for(int n=1;n<=i;n++){
cout<<"■";
}
for(int n=i;n<=4;n++){
cout<<"□";
}
Sleep(random(600,1000));
}
for(int i=0;i<=9;i++){
for(int j=0;j<=9;j++){
if(sz[i][j]==9){
for(int k=0;k<=7;k++){
if(sz[i+x[k]][j+y[k]]!=9){
sz[i+x[k]][j+y[k]]++;
}
}
}
}
}
seemap[0][5]=0;
seemap[0][6]=0;
seemap[0][7]=0;
while(1){
start();
for(int i=0;i<=9;i++){
for(int j=0;j<=9;j++){
cout<<sz[i][j];
}
cout<<endl;
}
cout<<endl<<endl;
for(int i=0;i<=9;i++){
for(int j=0;j<=9;j++){
cout<<seemap[i][j];
}
cout<<endl;
}
cout<<endl<<endl;
for(int i=0;i<=9;i++){
for(int j=0;j<=9;j++){
if(seemap[i][j]==0){
cout<<"#"<<' ';
}else if(seemap[i][j]==1){
cout<<sz[i][j]<<' ';
}else if(seemap[i][j]==2){
cout<<"P"<<' ';
}
}
cout<<endl;
}
cout<<"按B开始排雷"<<endl;
cout<<"请输入需要排查的地方在第几列:";
cin>>cx;
cout<<endl<<"请输入需要排查的地方在第几行:";
cin>>cy;
if(sz[cy-1][cx-1]==9){
start();
cout<<"游戏失败"<<endl<<"你被雷炸死了";
Sleep(2000);
main();
}else if(sz[cy-1][cx-1]!=9){
seemap[cy-1][cx-1]=1;
pl+=1;
}
if(KEY_DOWN('B')){
start();
cout<<"游戏胜利"<<endl<<"你排完了所有的雷";
Sleep(2000);
main();
}
}
}*/