对打小游戏

对打小游戏

某一天,我在摸鱼的时候突发奇想,
做了一个对打小游戏,是人和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;
}

问题已解决,可玩

持续更新中,码字不易,求关

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值