小zz游戏
主要有一下几个技能:
1、攻击(b)
2、锁住小zz(g)
3、esc退出(esc建)
4、造墙(j、l、i、k)
5、四面拆墙(f)
6、tnt炸药(t)
不用打entre,上下左右w、a、s、d
代码(因为不是我一个人写的,所以格式有点乱):
#include <iostream>
#include <ctime>
#include <conio.h>
#include <windows.h>
using namespace std;
char g[20][40]=
{
{'O',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
{' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '},
{'|',' ',' ','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','|'},
{'|',' ',' ','|',' ',' ',' ','|',' ',' ',' ','|',' ',' ',' ','|',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','|'},
{'|',' ',' ','|',' ',' ',' ','|',' ',' ',' ','|',' ',' ',' ','|',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','|'},
{'|',' ',' ','|',' ',' ',' ','|',' ',' ',' ','|',' ',' ',' ','|',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','|'},
{'|',' ',' ','|',' ',' ',' ','|',' ',' ',' ','|',' ',' ',' ','|',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','|'},
{'|',' ',' ','|',' ',' ',' ','|',' ',' ',' ','|',' ',' ',' ','|',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','|'},
{'|',' ',' ','|','-','-',' ','|','-','-',' ','|',' ',' ',' ','|',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','|'},
{'|',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','|'},
{'|',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','|'},
{'|',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','|'},
{'|',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','|'},
{'|',' ',' ',' ',' ',' ',' ',' ','V',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','|'},
{'|',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','|'},
{'|',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','|'},
{'|',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','|'},
{'|',' ',' ',' ',' ',' ',' ','|','-','-','|','-','-','|','-','-','|','-','-',' ',' ',' ',' ',' ',' ',' ',' ','|'},
{'|',' ',' ',' ',' ',' ',' ','|',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','|'},
{'|','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','-','|'}};
int main()
{
int x=0,y=0;
int x2=13,y2=8;
int sm=100,m = 0,n = 0,z;
bool flag2=false;
while(true)
{
if(sm<=0)
{
cout << "小ZZ 被 玩家1 击败了!"<< endl;
break;
}
for (int i=0;i<20;i++)
{
for (int j=0;j<29;j++)
{
cout <<g[i][j];
}
cout << endl;
}
cout << "小ZZ的生命值:" << sm << endl;
g[x][y]=' ';
char op= _getch();//使用_getch()函数获取按下的键值
if (op == 27)
{
break;
}//当按下ESC时循环,ESC键的键值时27.
//cin >> op;
if (op=='w'&&g[x-1][y]==' '&&x-1>=0)
{
x--;
}
else if (op=='s'&&g[x+1][y]==' '&&x+1<29)
{
x++;
}
else if (op=='a'&&g[x][y-1]==' '&&y-1>=0)
{
y--;
}
else if (op=='d'&&g[x][y+1]==' '&&y+1<29)
{
y++;
}
else if (op=='k'&&x+1<20)
{
g[x+1][y]='X';
}
else if (op=='i'&&x-1>=0)
{
g[x-1][y]='X';
}
else if (op=='l'&&x+1<20)
{
g[x][y+1]='X';
}
else if (op=='j'&&x-1>=0)
{
g[x][y-1]='X';
}
else if (op=='f')
{
g[x+1][y]=' ';
g[x-1][y]=' ';
g[x][y+1]=' ';
g[x][y-1]=' ';
}
else if (op=='g')
{
g[x2+1][y2]='X';
g[x2-1][y2]='X';
g[x2][y2+1]='X';
g[x2][y2-1]='X';
}
else if (op=='b')
{
if (g[x+1][y]=='V'||g[x-1][y]=='V'||g[x][y+1]=='V'||g[x][y-1]=='V')
{
srand(time(0));
int bj=rand()%4;
if (bj==3)
{
sm-=9;
}
else
{
sm-=2;
}
}
} else if(op == 't' && x - 1 >= 0 && z >=0){
g[x - 1][y] = 't';
z = 5;
m = x - 1;
n = y;
}
g[x2][y2]=' ';
bool flag=true;
srand(time(0));
op=rand()%4;
if (op==0&&g[x2-1][y2]==' '||g[x2-1][y2]=='t'&&x2-1>=0)
{
x2--;
flag=false;
}
else if (op==1&&g[x2+1][y2]==' '||g[x2+1][y2]=='t'&&x2+1<20)
{
x2++;
flag=false;
}
else if (op==2&&g[x2][y2-1]==' '||g[x2][y2-1]=='t'&&y2-1>=0)
{
y2--;
flag=false;
}
else if (op==3&&g[x2][y2+1]==' '||g[x2][y2+1]=='t'&&y2+1<20)
{
y2++;
flag=false;
}
if (x2 == m && y2 == n){
cout << endl;
cout << "win!!!";
return 0;
}
if (z > 0){
z--;
}
if (z == 0){
g[m][n] = ' ';
m = 0;
n = 0;
}
/*while (flag)
{
srand(time(0));
int op=rand()%4;
if (op==0&&g[x2-1][y2]==' '&&x2-1>=0)
{
x2--;
flag=false;
}
else if (op==1&&g[x2+1][y2]==' '&&x2+1<20)
{
x2++;
flag=false;
}
else if (op==2&&g[x2][y2-1]==' '&&y2-1>=0)
{
y2--;
flag=false;
}
else if (op==3&&g[x2][y+1]==' '&&y2+1<20)
{
y2++;
flag=false;
}
}*/
g[x2][y2]='V';
g[x][y]='O';
system("cls");
}
return 0;
}