对打小游戏
某一天,我在摸鱼的时候突发奇想,
做了一个对打小游戏,是人和AI对打,十分锻炼协调能力,空格攻击,上键是跳,左右键移动,我玩了好多次都输了 ( 主要是AI太活泼了) 各位
可以试试`
#include <bits/stdc++.h>
#include<windows.h>
using namespace std;
string name;
struct ren{
int x,y;
int l;
}a,b;
int xa=a.x,xb=b.x,ya=a.y,yb=b.y;
void gotoxy(int x,int y){
COORD pos={x,y};
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),pos);
}
void xy(){
gotoxy(xa,ya);
cout<<" ";
gotoxy(xa-1,ya+1);
cout<<" ";
gotoxy(xa-1,ya+2);
cout<<" ";
gotoxy(a.x,a.y);
cout<<"o\n";
gotoxy(a.x-1,a.y+1);
cout<<"-|-\n";
gotoxy(a.x-1,a.y+2);
cout<<"/\\";
xa=a.x;
ya=a.y;
gotoxy(xb,yb);
cout<<" ";
gotoxy(xb-1,yb+1);
cout<<" ";
gotoxy(xb-1,yb+2);
cout<<" ";
gotoxy(b.x,b.y);
cout<<"o\n";
gotoxy(b.x-1,b.y+1);
cout<<"-|-\n";
gotoxy(b.x-1,b.y+2);
cout<<"/\\";
xb=b.x;
yb=b.y;
}
int xc,xc2=30,yc,yc2=30;int from,jump,jump2,jia2,jia,from2;
void chong(){
if(from==1){
gotoxy(xc2,a.y);
cout<<" ";
gotoxy(xc,a.y);
cout<<">";
xc2=xc;
xc++;
if(xc==b.x&&a.y-b.y<2){
b.l-=10;
gotoxy(0,0);
cout<<name<<":"<<a.l<<" computer:"<<b.l<<" ";
from=0;
}
if(xc>=100)
from=0;
}
if(from2==1){
gotoxy(yc2,b.y);
cout<<" ";
gotoxy(yc,b.y);
cout<<"<";
yc2=yc;
yc--;
if(yc==a.x&&a.y-b.y>-3&&a.y-b.y<3){
a.l-=10;
gotoxy(0,0);
cout<<name<<":"<<a.l<<" computer:"<<b.l<<" ";
from2=0;
if(yc2<1)
from2=0;
}
}
}
void tiao(){
if(jump==1){
if(jia==-1){
a.y=a.y-1;
Sleep(20);
if(a.y<=2){
jia=1;
}
}
else{
a.y+=jia;
Sleep(20);
if(a.y>=10){
jia=-1;
jump=0;
}
}
}
if(jump2==1){
if(jia2==-1){
b.y=b.y-1;
Sleep(20);
if(b.y<=2){
jia2=1;
}
}
else{
b.y+=jia2;
Sleep(20);
if(b.y>=10){
jia2=-1;
jump2=0;
}
}
}
}
int main(){
cin>>name;
system("cls");
a.l=b.l=100;
a.x=a.y=10;
b.x=15;
b.y=10;
cout<<"你的名字:"<<name<<":"<<a.l<<" computer:"<<b.l;
xy();
gotoxy(b.x,b.y);
cout<<"o\n";
gotoxy(b.x-1,b.y+1);
cout<<"-|-\n";
gotoxy(b.x-1,b.y+2);
cout<<"/\\";
srand(time(0));
// gotoxy(b.x,b.y);
// cout<<"o\n";
// gotoxy(b.x-1,b.y+1);
// cout<<"-|-\n";
// gotoxy(b.x-1,b.y+2);
// cout<<"/\\";
gotoxy(10,13);
cout<<"--------------------------------------------------";
while(a.l>0&&b.l>0){
chong();
tiao();
int xqq=rand()%3-1,kp=rand()%30,wwww=rand()%50;
if(xqq+b.x>0&&xqq+b.x<100)
b.x+=xqq;
if(wwww==1)
a.l++;
if(wwww==2)
b.l++;
gotoxy(0,0);
cout<<name<<":"<<a.l<<" computer:"<<b.l;
if(/*kp==1&&*/a.x>b.x||from==1){
from2=1;
yc=b.x;
}
if(kp==1&&jump2!=1){
jump2=1;
jia=-1;
}
if(GetAsyncKeyState(VK_SPACE)){
xc=a.x;
from=1;
}
if(GetAsyncKeyState(VK_RIGHT))
{
a.x+=1;
}
if(GetAsyncKeyState(VK_UP)){
jump=1;
jia=-1;
}
if(GetAsyncKeyState(VK_LEFT))
{
a.x-=1;
gotoxy(xb,yb);
cout<<" ";
gotoxy(xb-1,yb+1);
cout<<" ";
gotoxy(xb-1,yb+2);
cout<<" ";
gotoxy(b.x,b.y);
cout<<"o\n";
gotoxy(b.x-1,b.y+1);
cout<<"-|-\n";
gotoxy(b.x-1,b.y+2);
cout<<"/\\";
xb=b.x;
yb=b.y;
}
xy();
Sleep(10);
}
system("cls");
if(a.l>0)
cout<<"你赢了";
else{
cout<<"你输了";
}
getchar();
Sleep(1000000);
return 0;
}
问题已解决,可玩
持续更新中,码字不易,求关