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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.01.2014, 16:00   #1
Jeckor
Пользователь
 
Регистрация: 27.10.2013
Сообщений: 22
Вопрос Крестики-нолики

При запуске выдаёт ошибку error LNK2001: неразрешенный внешний символ ""char __cdecl check(void)" (?check@@YADXZ)"
Судя по всему, как-то неверно запрашиваю функцию check(). В любом случае, что-то с ней не так. Помогите плз)

Код:
//Игра "Крестики-нолики"
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>

char matrix[3][3]; //Игровое поле

void enter_matrix(); //Создание поля
char check(); //Определение победителя
void player(); //Ход игрока
void computer(); //Ход компьютера
void display(); //Текущее состояние игры

int main()
{
	char done;
	printf("Hey nigga! Welcome to the \"Krestiki-noliki\"!\n");
	printf("In this version your rival is computer!\n");
	done=' ';
	enter_matrix();
	do
	{
		display();
		player();
		done=check(); //Есть ли победитель?
		if(done!=' ')
			break; //Победитель определен
		computer();
		done=check();

	} while(done==' ');
	if(done=='X')
		printf("You win motherfucker!\n");
	else
		printf("You lose! OMG you fuckin' lose the peace of iron!\n");
	display();
	return 0;
}

void enter_matrix()
{
	int i,j;
	for(i=0; i<3; i++)
		for(j=0; j<3; j++)
			matrix[i][j]= ' ';
}

void display()
{
	int i;
	for(i=0;i<3;i++)
	{
		printf(" %c | %c | %c ", matrix[i][0], matrix[i][1], matrix[i][2]);
		if(i!=2)
			printf("\n-- | -- | --\n");
	}
	printf("\n");
}

void player()
{
	int x,y;
	printf("Choose the coordinates of cell - x,y: ");
	scanf("%d*c%d", &x, &y);
	x--;y--;
	if(matrix[x][y]!=' ')
	{
		printf("\nChoose another cell\n");
		player();
	}
	else 
		matrix[x][y]='X';
}

void computer()
{
	int i,j;
	for(i=0; i<3; i++)
	{
		for(j=0; j<3; j++)
			if(matrix[i][j]==' ') break;
		if(matrix[i][j]==' ') break;
	}
	if(i*j==9)
	{
		printf("Draw loser! You can't win the peace of iron!\n");
		exit(0);
	}
	else
		matrix[i][j]='O';
}

char chek()
{
	int i;
	for(i=0; i<3; i++)
	{
		if(matrix[i][0]==matrix[i][1] && matrix[i][0]==matrix[i][2])
			return matrix[i][0];
	}
	for(i=0; i<3; i++)
	{
		if(matrix[0][i]==matrix[1][i] && matrix[0][i]==matrix[2][i])
			return matrix[0][i];
	}
	if(matrix[0][0]==matrix[1][1] && matrix[1][1]==matrix[2][2])
		return matrix[0][0];
	if(matrix[0][2]==matrix[1][1] && matrix[1][1]==matrix[2][0])
		return matrix[0][2];
	return ' ';
}
Jeckor вне форума Ответить с цитированием
Старый 23.01.2014, 16:58   #2
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,371
По умолчанию

Сравните check() и chek()
waleri вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Крестики-нолики на с++ Freddieden Общие вопросы C/C++ 2 10.12.2011 03:46
Крестики-Нолики Jasper92 Помощь студентам 3 01.11.2010 18:35
крестики-нолики {PatRioT} Паскаль, Turbo Pascal, PascalABC.NET 4 14.05.2009 13:24
Крестики-нолики mish@ Общие вопросы Delphi 6 07.05.2009 11:01
КРЕСТИКИ-НОЛИКИ((( magadan Паскаль, Turbo Pascal, PascalABC.NET 8 02.05.2009 22:16