Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.05.2012, 22:53   #1
Нейллин
 
Аватар для Нейллин
 
Регистрация: 12.05.2012
Сообщений: 4
По умолчанию Крестики нолики по обьектному программированию

Добрый вечер!
Помогите мне пожалуйста.Мне нужно напсиать крестики нолики по объектному программированию
Вот само задание:

Написать программу, реализующую игру «Крестики-нолики» между двумя игроками: пользователем и компьютером (роботом). В программе использовать коллекции.

Я не знаю вообще как писать. Есть только программа на С++, а мне нужно на Си шарпе и причем объект.програмировнаие.
Помогите пожалуйста.

Вот программа на С++. может ее как-то переделать?Подскажите пожалуйста!


Цитата:
#include<iostream>
#include<conio.h>

using namespace std;

int const size=3;
char A[size][size]={{'_','_','_'}
,{'_','_','_'}
,{'_','_','_'}};
char play1='X';
char play2='O';
int index;
bool test=false;

int movePlayer(char player);
void printArray(char A[][size],int size);
bool testLine(int index,char player);

void main()
{
printArray(A,size);
int i=0;
while(!test||i++<9)
{
index=movePlayer(play1);
printArray(A,size);
test=testLine(index,play1);
if(!test)
{
index=movePlayer(play2);
printArray(A,size);
test=testLine(index,play2);
}
}
cout<<"you win\n";
_getch();
}

void printArray(char A[][size],int size)
{
system("cls");
for(int i=0;i<size;i++){
for(int j=0;j<size;j++){
cout<<A[i][j];
}
cout<<endl;
}
}

int movePlayer(char player)
{
int i,j;
cout<<"player "<<player<<" enter i : ";
cin>>i;
cout<<"player "<<player<<"enter j : ";
cin>>j;
A[i][j]=player;
return 3*i+j;
}
bool testLine(int index,char player)
{
bool res=false;
switch(index){
case 0:{
if((A[0][0]==A[1][1]&&A[0][0]==A[2][2])||
(A[0][0]==A[1][0]&&A[0][0]==A[2][0])||
(A[0][0]==A[0][1]&&A[0][0]==A[0][2]))
res=true;
break;
}
case 1:{
if((A[0][1]==A[0][0]&&A[0][1]==A[0][2])||
(A[0][1]==A[1][1]&&A[0][1]==A[2][1]))
res=true;
break;
}
case 2:{
if((A[0][2]==A[0][1]&&A[0][2]==A[0][0])||
(A[0][2]==A[1][2]&&A[0][2]==A[2][2])||
(A[0][2]==A[1][1]&&A[0][2]==A[2][0]))
res=true;
break;
}
case 3:{
if((A[1][0]==A[0][0]&&A[1][0]==A[2][0])||
(A[1][0]==A[1][1]&&A[1][0]==A[1][2]))
res=true;
break;
}
case 4:{
if((A[1][1]==A[0][0]&&A[1][1]==A[2][2])||
(A[1][1]==A[0][1]&&A[1][1]==A[2][1])||
(A[1][1]==A[0][2]&&A[1][1]==A[2][0])||
(A[1][1]==A[1][2]&&A[1][1]==A[1][0]))
res=true;
break;
}
case 5:{
if((A[1][2]==A[0][2]&&A[1][2]==A[2][2])||
(A[1][2]==A[1][0]&&A[1][2]==A[1][1]))
res=true;
break;
}
case 6:{
if((A[2][0]==A[1][0]&&A[2][0]==A[0][0])||
(A[2][0]==A[1][1]&&A[2][0]==A[1][2])||
(A[2][0]==A[2][1]&&A[2][0]==A[2][2]))
res=true;
break;
}
case 7:{
if((A[2][1]==A[1][1]&&A[2][1]==A[0][1])||
(A[2][1]==A[2][0]&&A[2][1]==A[2][2]))
res=true;
break;
}
case 8:{
if((A[2][2]==A[1][2]&&A[2][2]==A[0][2])||
(A[2][2]==A[1][1]&&A[2][2]==A[0][0])||
(A[2][2]==A[2][1]&&A[2][2]==A[2][0]))
res=true;
break;
}
}
return res;
}

˜”*°•Это так банально, что вполне сойдет за глубокую и оригинальную мыслю•°*”˜
Нейллин вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Крестики нолики!!!!! Аля:-) Помощь студентам 13 11.10.2011 20:32
крестики нолики aesoem Общие вопросы Delphi 11 12.06.2011 11:32
Крестики-нолики yura_zb Общие вопросы C/C++ 4 21.02.2011 13:57
Крестики нолики revaldo666 Общие вопросы C/C++ 8 20.01.2011 17:02
Крестики-нолики С++ ROD Помощь студентам 7 21.12.2008 20:07