Крестики-нолики в С (без графики)
Добавлено: 19 фев 2010, 01:40
Привет !
очень нужна ваша помощь...
я только начинаю учить С, но никак не могу закрыть сессию - учитель завалил меня на сложной проге - мол ты ее еще не смогла бы написать и дал мне задание на КРЕСТИКИ-НОЛИКИ...
вот часть варианта в с
Код:
но этого мало чтобы закрыть 
нужно еще чтобы хотя бы вписывать игроков,чей счас ход и выписать победителя...
или счет игор
помогите пожалуйста !!!!!!! очень нужно только попроще если можно...
очень нужна ваша помощь...

я только начинаю учить С, но никак не могу закрыть сессию - учитель завалил меня на сложной проге - мол ты ее еще не смогла бы написать и дал мне задание на КРЕСТИКИ-НОЛИКИ...
вот часть варианта в с
Код:
Код: Выделить всё
#include <stdio.h>
#include <stdlib.h>
int a[3][3];
void print_field()
{
int i, j;
system("clear");
printf("_______\n");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
printf("|");
if (a[i][j] == 1) printf("X");
else if (a[i][j] == -1) printf("0");
else printf(" ");
}
printf("|\n_______\n");
}
}
int test_for_win(int x,int y)
{
if((a[y][0] == a[y][1]) && (a[y][1] == a[y][2]) && (a[y][0] != 0)) return 1;
if((a[0][x] == a[1][x]) && (a[1][x] == a[2][x]) && (a[0][x] != 0)) return 1;
if(((a[0][0] == a[1][1]) && (a[1][1] == a[2][2]) && (a[0][0] != 0) || ((a[0][2] == a[1][1]) && (a[1][1] == a[2][0]) && a[0][2] != 0))) return 1;
return 0;
}
int main(int argc, char *argv[])
{
int i, j, val, c;
for(c =0;c<9;c++)
{
printf("Coordinates: ");
scanf("%d %d", &i, &j);
if (a[i-1][j-1] != 0) {printf("Already set. Retype.\n"); continue;}
if(c % 2 == 0) a[i-1][j-1] = -1;
else a[i-1][j-1] = 1;
print_field();
if (test_for_win(j-1, i-1))
{
exit(0);
}
}
return 0;
}

нужно еще чтобы хотя бы вписывать игроков,чей счас ход и выписать победителя...
или счет игор
помогите пожалуйста !!!!!!! очень нужно только попроще если можно...