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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.11.2015, 09:36   #1
desets
 
Регистрация: 28.10.2015
Сообщений: 6
По умолчанию игрок для игры крестики/нолики

Доброе утру, у кого утро!
Простая игра Крестики нолики нолики на поле 10х10, победная комбинация 5 крестиков или ноликов по вертикали/горизонтали/диагонали. Задание: написать программу игрок, который будете сама делать ходы. Программа игрок получает информацию по поле от менеджер программы.

Так примерно должна выглядеть структура программы.
Код:
bool ReadField(char* FileName, char Field[10][10]) //чтение поля
{

}

bool SaveGamerInfo(char* FileName) //сохранение в файл данных об игроке(имя, фамилия, курс и группа)
{
	
}

bool SaveResult(char* FileName, int x, int y)//сохранение результата
{

}

//подключение к игровому полю

char Cell(char Field[10][10], int x, int y, char Fig)
{

}

char Cell(char Field[10][10], int x, int y, int Ofs, int Dir, int Fig)
{

}

//функции поиска шаблона 

bool CheckForTemplate(char Field[10][10], int x, int y, int Dir, char* LTem, char* RTem, char Fig)
{

}

bool CheckForTemplate(char Field[10][10], int x, int y, char* LTem,	char* RTem, char Fig)
{

}

bool SearchForTemplate(char Field[10][10], char* LTem, char* RTem, char Fig, int & x, int & y)
{

}

//функции анализа игрового поля

bool Search4(char Field[10][10], char Fig, int & x, int & y)
{

}

bool Search3(char Field[10][10], char Fig, int & x, int & y)
{

}

bool Search2(char Field[10][10], char Fig, int & x, int & y)
{

}

bool Search1(char Field[10][10], char Fig, int & x, int & y)
{

}

bool SearchR(char Field[10][10], char Fig, int & x, int & y)
{

}
Где что можно подсмотреть и как или с чего начать?
Помогите пожалуйста начать!
desets вне форума Ответить с цитированием
Старый 28.11.2015, 21:08   #2
chipside
Форумчанин
 
Регистрация: 03.08.2013
Сообщений: 208
По умолчанию

Не хочу за тебя писать программу. Нигде нельзя подсмотреть. Думай сам.
Начни с простой логики.
1) Счётчик по вертикали.
2) Счётчик по диагонали.
3) Найти пустую клетку.
Если счётчик по вертикали == 0,
То посмотреть позицию (x -1, y-1),
Если свободна -- заполнить.
Иначе посмотреть позицию (x-1, y+1),
Если свободна -- заполнить.
Иначе посмотреть позицию (x+1, y-1),
Если свободна -- заполнить.
Иначе посмотреть позицию (x+1, y+1),
Если свободна -- заполнить.
Иначе (если счётчик по вертикали не 0),
То Смотреть в том направлении, в котором уже проведена линия (взад-вперёд).
Если будут свободны ячейки -- заполнять.
Если нет -- искать клетки по горизонтали или другую пустую ячейку.
Также нужно постоянно следить за тем, чтобы не было выхода за пределы массива.
chipside вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ИИ Для игры крестики нолики Alexandr17-10 Общие вопросы Delphi 3 10.09.2013 21:19
алгоритм для изменения скорости игры крестики нолики tml2110 Помощь студентам 1 17.12.2011 16:19
Алгоритм минимакс (minimaxing) для игры крестики-нолики 3х3 JustFree Помощь студентам 1 11.10.2011 16:35
минимакс для игры крестики нолики Ежик Помощь студентам 2 17.05.2010 13:21