C++五子棋小游戏

自制的小游戏,两个棋子会重叠,

又不知道怎么改,请大佬指教:

//禁止抄袭与发布!!!!!
#include<iostream>
#include<string>
#include<windows.h>
#include<conio.h>
using namespace std;
int main()
{
	system("color 60"); 
	system("mode con cols=40 lines=21");
	cout<<"请先看说明再玩:"<<endl<<endl;
	cout<<"1.WASD移动╋,按J在╋的位置下棋"<<endl<<endl;  
	cout<<"2.╋会覆盖棋子,移走就可以看见棋子"<<endl<<endl;  
	cout<<"3.黑子下完白子下,白子下完黑子下"<<endl<<endl;
	cout<<"4.黑子先下,●是黑,◎是白"<<endl<<endl;
	cout<<"5.黑子为玩家1,白子为玩家2"<<endl<<endl;
	for(int i=1;i<=8;i++)cout<<endl;
	system("pause");
 	int player=1; //定义一个玩家
 	int qiPan[19][19];//19行19列的数组存储棋盘1
 	for(int h=0;h<19;h++)//数组遍历,初始化(赋值),默认为0值
 	{
 		for(int l=0;l<19;l++)
 		{
  			qiPan[h][l]=0;//进行初始化(赋值),默认为0值
 		}
 	}
 	int qiPanTwo[19][19];//19行19列的数组存储棋盘2
 	for(int h=0;h<19;h++)//数组遍历,初始化(赋值),默认为0值
 	{
 		for(int l=0;l<19;l++)
 		{
  			qiPanTwo[h][l]=0; //进行初始化(赋值),默认为0值
 		}
 	}
 	int X=9;//初始化光标坐标
 	int Y=9;   
 	qiPan[9][9]=8;
 	for(int h=0;h<19;h++)
 	{
  		for(int l=0;l<19;l++)
  		{
  			if(qiPan[h][l]==8)
  			{
   				cout<<"╋";
  			}
  			else if(qiPanTwo[h][l]==0)
  			{
   				cout<<"□";
  			}
  			else if(qiPanTwo[h][l]==1)
  			{
   				cout<<"●";
  			}
  			else if(qiPanTwo[h][l]==2)
  			{
   				cout<<"◎";
  			}
  		}
  		cout<<endl;
 	}
 	while(true)
 	{
 		char xx=getch();//从键盘获得一个字符
 		switch(xx)//控制
 		{
  			case 'w'://上
  			Y=Y-1;//纵坐标-1
  			qiPan[Y][X]=8;//写入棋盘
  			qiPan[Y+1][X]=0;//原本位置值还原
  			break;
  			case 's'://下
  			Y=Y+1;
  			qiPan[Y][X]=8;
  			qiPan[Y-1][X]=0;
  			break;
  			case 'a'://左
  			X=X-1;
  			qiPan[Y][X]=8;
  			qiPan[Y][X+1]=0;
  			break;
  			case 'd'://右
  			X=X+1;
  			qiPan[Y][X]=8;
  			qiPan[Y][X-1]=0;
  			break;
  			case 'j'://落子
  			if(player==1)//如当前玩家为白方
  			{
   				qiPanTwo[Y][X]=1;
   				player=2;//白棋落子后更换玩家   
  			}
  			else if(player==2)
  			{
   				qiPanTwo[Y][X]=2;
   				player=1;   
  			}
  			break;   
 	system("cls");  
 	for(int h=0;h<19;h++)
 	{
  		for(int l=0;l<19;l++)
  		{
  			if(qiPan[h][l]==8)
  			{
   				cout<<"╋";
  			}
  			else if(qiPanTwo[h][l]==0)
  			{
   				cout<<"□";
  			}
  			else if(qiPanTwo[h][l]==1)
  			{
   				cout<<"●";
  			}
  			else if(qiPanTwo[h][l]==2)
  			{
   				cout<<"◎";
  			}
  		}
  		cout<<endl;
 	}
 	int shu=1,heng=1,pie=1,na=1;//横竖撇捺
 	for(int i=1;i<=4;i++)//上
 	{
  		if(qiPanTwo[Y+i][X]==qiPanTwo[Y][X]&&qiPanTwo[Y][X]!=0)
  		shu++;
  		else
  		break;
 	}
 	for(int i=1;i<=4;i++)//下
 	{
  		if(qiPanTwo[Y-i][X]==qiPanTwo[Y][X]&&qiPanTwo[Y][X]!=0)
  		shu++;
  		else
  		break;
 	}
 	for(int i=1;i<=4;i++)//左
 	{
  		if(qiPanTwo[Y][X-i]==qiPanTwo[Y][X]&&qiPanTwo[Y][X]!=0)
  		heng++;
  		else
  		break;
 	}
 	for(int i=1;i<=4;i++)//右
 	{
  		if(qiPanTwo[Y][X+i]==qiPanTwo[Y][X]&&qiPanTwo[Y][X]!=0)
  		heng++;
  		else
  		break;
 	}
 	for(int i=1;i<=4;i++)//左下
 	{
  		if(qiPanTwo[Y+i][X-i]==qiPanTwo[Y][X]&&qiPanTwo[Y][X]!=0)
  		pie++;
  		else
  		break;
 	}
 	for(int i=1;i<=4;i++)//右上
 	{
  		if(qiPanTwo[Y-i][X+i]==qiPanTwo[Y][X]&&qiPanTwo[Y][X]!=0)
  		pie++;
  		else
  		break;
 	}
 	for(int i=1;i<=4;i++)//右下
 	{
  		if(qiPanTwo[Y+i][X+i]==qiPanTwo[Y][X]&&qiPanTwo[Y][X]!=0)
  		na++;
  		else
  		break;
 	}
 	for(int i=1;i<=4;i++)//左上
 	{
  		if(qiPanTwo[Y-i][X-i]==qiPanTwo[Y][X]&&qiPanTwo[Y][X]!=0)
  		na++;
  		else
  		break;
 	}	
 		if(shu==5||heng==5||pie==5||na==5)
 		{
  			if(qiPanTwo[Y][X]==1)
  			{
   				cout<<"玩家1黑子获胜!玩家2白子KO!"<<endl; 
   				system("pause");
   				break;
  			}
  			else
  			{
   				cout<<"玩家2白子获胜!玩家1黑子KO!"<<endl;
   				system("pause");
   				break;
  			}
 		}
 	}
 	system("cls");
 	system("mode con cols=80 lines=25");
 	int p1s,p2s;
	cout<<"请两位玩家评价,先输入玩家1,再输入玩家2"<<endl; 
	cout<<"玩家1:"<<endl<<"1.非常好玩 2.比较好玩 3.一般般 4.比较不好玩 5.非常不好玩"<<endl;
	cin>>p1s;
	if(p1s==1)cout<<"非常感谢您的支持!";
	if(p1s==2)cout<<"我应该可以再改进一下。";
	if(p1s==3)cout<<"OK,收到。";
	if(p1s==4)cout<<"你是个SBSBSB大傻逼!";
	if(p1s==5)cout<<"你这个混蛋以后别来玩了!滚!";
	if(p1s>5||p1s<1)cout<<"1~5里有"<<p1s<<"吗?你数学没学好吧?"<<endl; 
	cout<<endl<<"玩家2:"<<endl<<"1.非常好玩 2.比较好玩 3.一般般 4.比较不好玩 5.非常不好玩"<<endl;
	cin>>p2s;
	if(p2s==1)cout<<"非常感谢您的支持!";
	if(p2s==2)cout<<"我应该可以再改进一下。";
	if(p2s==3)cout<<"OK,收到。";
	if(p2s==4)cout<<"你是个SBSBSB大傻逼!";
	if(p2s==5)cout<<"你这个混蛋以后别来玩了!滚!";
	if(p2s>5||p2s<1)cout<<"1~5里有"<<p2s<<"吗?你数学没学好吧?"<<endl; 
 	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值