C++

Крестики-нолики

Игра "Крестики-нолики"...
#include <iostream>
#include<locale>
#include <math.h>
#include <cmath>
#include<conio.h>
#include <stdio.h>
#include "windows.h"
using namespace std;
char mass[3][3]={{' ',' ',' '},{' ',' ',' '},{' ',' ',' '}};
int x=0,y=0,s=0,s1=0;
int i,j;
void main1();
void point()
{
	for(i=0;i<3;i++)
			{
				for(j=0;j<3;j++)
					{
						if(s1==0&&mass[i][j]==' ')
						{
							mass[i][j]='x';
							y=i;
							x=j;
								s1=1;
						}
					}
			}
		s1=0;
}
void print()
{
	for(i=0;i<3;i++)
		{
			cout<<mass[i][0]<<"|"<<mass[i][1]<<"|"<<mass[i][2]<<endl;

				if(i<2)
					{
						cout<<"-+-+-"<<endl;
					}
		}
}
void move(int get)
{
	if(get==72)
			{
				if(mass[y-1][x]==' ')
				{
					mass[y][x]=' ';
					mass[y-1][x]='x';
					y--;
				}
				else
				{
					if(mass[y-1][x]!=' '&&mass[y-2][x]==' '&&y==2)
						{
							mass[y][x]=' ';
							mass[0][x]='x';
							y=0;
						}
					
				}
			}
			if(get==80&&((y+1)!=3))
			{
				if(mass[y+1][x]==' ')
				{
					mass[y][x]=' ';
					mass[y+1][x]='x';
					y++;
				}
				else
				{
					if(mass[y+1][x]!=' '&&mass[y+2][x]==' '&&y==0)
						{
							mass[y][x]=' ';
							mass[2][x]='x';
							y=2;
						}
				}
				
			}
			if(get==75)
			{
				if(mass[y][x-1]==' ')
				{
					mass[y][x]=' ';
					mass[y][x-1]='x';
					x--;;
				}
				else
				{
					if(mass[y][x-1]!=' '&&(mass[y][x-2]==' ')&&x==2)
						{
							mass[y][x]=' ';
							mass[y][0]='x';
							x=0;
						}
					
				}
			}
			if(get==77)
			{
				if(mass[y][x+1]==' ')
				{
					mass[y][x]=' ';
					mass[y][x+1]='x';
					x++;
				}
				else
				{
					if(mass[y][x+1]!=' '&&mass[y][x+2]==' '&&x==0)
						{
							
							mass[y][x]=' ';
							mass[y][2]='x';
							x=2;
						}
					
				}
			}
			if(get==32)
			{
			for(i=0;i<3;i++)
			{
				for(j=0;j<3;j++)
					{
						if(s1==0&&mass[i][j]==' ')
						{
							mass[y][x]=' ';
							mass[i][j]='x';
							y=i;
							x=j;
								s1=1;
						}
					}
			}
			s1=0;
			}
			system("cls");
}
void test_1()
{
	int res[4]={0,0,0,0};
				for(i=0;i<3;i++)
				{
						if(mass[i][0]=='x'&&mass[i][1]=='x'&&mass[i][2]=='x')
						{
							res[0]+=3;
						}
						if(mass[0][i]=='x'&&mass[1][i]=='x'&&mass[2][i]=='x')
						{
							res[1]+=3;
						}
				}
					if(mass[0][0]=='x'&&mass[1][1]=='x'&&mass[2][2]=='x')
						{
							res[2]+=3;
						}
						else
						{
							res[2]=0;
						}
					if(mass[0][2]=='x'&&mass[1][1]=='x'&&mass[2][0]=='x')
						{
							res[3]+=3;
						}
						else
						{
							res[3]=0;
						}
					for(i=0;i<4;i++)
					{
						if(res[i]>=3)
						{
							cout<<"Player one win!"<<endl;
							exit(0);
						}
					}
}
void test_2()
{
	int res2[4]={0,0,0,0};
				for(i=0;i<3;i++)
				{
						if(mass[i][0]=='0'&&mass[i][1]=='0'&&mass[i][2]=='0')
						{
							res2[0]+=3;
						}
						if(mass[0][i]=='0'&&mass[1][i]=='0'&&mass[2][i]=='0')
						{
							res2[1]+=3;
						}
				}
					if(mass[0][0]=='0'&&mass[1][1]=='0'&&mass[2][2]=='0')
						{
							res2[2]+=3;
						}
						else
						{
							res2[2]=0;
						}
					if(mass[0][2]=='0'&&mass[1][1]=='0'&&mass[2][0]=='0')
						{
							res2[3]+=3;
						}
						else
						{
							res2[3]=0;
						}
					for(i=0;i<4;i++)
					{
						if(res2[i]>=3)
						{
							cout<<"Player two win!"<<endl;
							exit(0);
						}
					}
}
void point2()
{
	for(i=0;i<3;i++)
			{
				for(j=0;j<3;j++)
					{
						if(s1==0&&mass[i][j]==' ')
						{
							mass[i][j]='0';
							y=i;
							x=j;
								s1=1;
						}
					}
			}
		s1=0;
}
void move2(int get)
{
		if(get==72)
			{
				if(mass[y-1][x]==' ')
				{
					mass[y][x]=' ';
					mass[y-1][x]='0';
					y--;
				}
				else
				{
					if(mass[y-1][x]!=' '&&mass[y-2][x]==' '&&y==2)
						{
							mass[y][x]=' ';
							mass[0][x]='0';
							y=0;
						}
					
				}
			}
			if(get==80&&((y+1)!=3))
			{
				if(mass[y+1][x]==' ')
				{
					mass[y][x]=' ';
					mass[y+1][x]='0';
					y++;
				}
				else
				{
					if(mass[y+1][x]!=' '&&mass[y+2][x]==' '&&y==0)
						{
							mass[y][x]=' ';
							mass[2][x]='0';
							y=2;
						}
				}
				
			}
			if(get==75)
			{
				if(mass[y][x-1]==' ')
				{
					mass[y][x]=' ';
					mass[y][x-1]='0';
					x--;;
				}
				else
				{
					if(mass[y][x-1]!=' '&&(mass[y][x-2]==' ')&&x==2)
						{
							mass[y][x]=' ';
							mass[y][0]='0';
							x=0;
						}
					
				}
			}
			if(get==77)
			{
				if(mass[y][x+1]==' ')
				{
					mass[y][x]=' ';
					mass[y][x+1]='0';
					x++;
				}
				else
				{
					if(mass[y][x+1]!=' '&&mass[y][x+2]==' '&&x==0)
						{
							
							mass[y][x]=' ';
							mass[y][2]='0';
							x=2;
						}
					
				}
			}
			if(get==32)
			{
			for(i=0;i<3;i++)
			{
				for(j=0;j<3;j++)
					{
						if(s1==0&&mass[i][j]==' ')
						{
							mass[y][x]=' ';
							mass[i][j]='0';
							y=i;
							x=j;
								s1=1;
						}
					}
			}
		s1=0;
			}
			system("cls");
}
void test3()
{
	int ser=0;
	for(int m=0;m<3;m++)
		{
			for(int c=0;c<3;c++)
			{
				if(mass[m][c]!=' ')
				{
					ser++;
				}
				else
				{
					ser=0;
				}
			}
		}
		if(ser==9)
		{
			cout<<"You too lose!"<<endl;
			exit(0);
		}
}
void main()
{
	int get;
	while(1)
	{
		point();
			do
			{
			print();
			get=_getch();
			move(get);
			}while(get!=13);
		system("cls");
		test_1();
		test3();
		point2();
			do
			{
			print();
			get=_getch();
			move2(get);
			}while(get!=13);
		test_2();
				
	}
}
Добавлено: 03 Августа 2013 09:06:57 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...