- Единый интерфейс задержки перехода хода от Человека к Компьютеру - пока 1)мышь и 2)ShowMessage - click OK.
- Когда компьютер не угадывает фигуру - не видно, какую клетку он атакует, просто появляется сообщение "не угадал".
- Поправить "глюк ФСФ" - двойное засчитывание фигуры при открытии и далее открытии её ряда.
- При ходе Человека исправить глюк с обработкой нажатия на своё поле
- Запретить Человеку делать несколько ходов поряд, не дожидаясь хода Компьютера
- Вести статистику побед/поражений. Сделать таблицу рекордов.
- Сделать сетевую игру людей
Мое творчество. Игра Шахматный сапёр
-
- Архитектор
- Сообщения: 7378
- Зарегистрирован: 06 май 2015, 14:10
- Откуда: Чехов
- Благодарил (а): 526 раз
- Поблагодарили: 462 раза
Re: Мое творчество. Игра Шахматный бой
Что нужно реализовать:
-
- Сообщения: 703
- Зарегистрирован: 22 дек 2017, 13:55
- Благодарил (а): 154 раза
- Поблагодарили: 66 раз
Re: Мое творчество. Игра Шахматный бой
Стоп. Такого на доске никогда не было видно.Андрей писал(а):Михаил Киселев, зачем ты сделал то, что компьютер при открытии ряда открывает несколько рядов подряд, пока не встретит фигуру? У меня оставался последний ряд с 1 фигурой. Он 2 ряда открыл пустых, фигуры не обнаружил и открыл третий. Из-за этого у меня очки неправильно и начислялись.
Но ты понимал(-ешь), что компьютеру поставил нечестную игру?
-
- Архитектор
- Сообщения: 7378
- Зарегистрирован: 06 май 2015, 14:10
- Откуда: Чехов
- Благодарил (а): 526 раз
- Поблагодарили: 462 раза
Re: Мое творчество. Игра Шахматный бой
Последняя версия от меня до следующих выходных. Играбельна полностью, несмотря на вышеперечисленные недочёты.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Сообщения: 703
- Зарегистрирован: 22 дек 2017, 13:55
- Благодарил (а): 154 раза
- Поблагодарили: 66 раз
Re: Мое творчество. Игра Шахматный бой
Такого вроде бы в старых версиях никогда не было.Андрей писал(а):В общем, я полностью исправил начисление очков (=правильно), зато отключил мухлёж с открытием рядов, пока не встречена фигура.
Также, я нашёл ещё один глюк. Человек может, быстро щёлкая мышью, открыть 6-7 клеток, не дожидаясь хода Компьютера, в то время, как Компьютер успеет сделать всего один ход.
-
- Архитектор
- Сообщения: 7378
- Зарегистрирован: 06 май 2015, 14:10
- Откуда: Чехов
- Благодарил (а): 526 раз
- Поблагодарили: 462 раза
Re: Мое творчество. Игра Шахматный бой
Ну то, что тебе этого было не видно, не значит, что этого нет.Михаил Киселев писал(а):Стоп. Такого на доске никогда не было видно.Андрей писал(а):Михаил Киселев, зачем ты сделал то, что компьютер при открытии ряда открывает несколько рядов подряд, пока не встретит фигуру? У меня оставался последний ряд с 1 фигурой. Он 2 ряда открыл пустых, фигуры не обнаружил и открыл третий. Из-за этого у меня очки неправильно и начислялись.
Но ты понимал(-ешь), что компьютеру поставил нечестную игру?
Можешь найти в коде слово "Мухлевать" и в режиме отладки или с ShowMessage проверить.
Так как он накручивал себе лишние очки я всё же докопался до сути.
Да там и в поиске фигур тоже мухлёж, 9 раз из 10 постоянно бьёт подряд 5 фигур. Что касается написания логики ИИ, тут ты невероятно плохого кода наворотил.
-
- Архитектор
- Сообщения: 7378
- Зарегистрирован: 06 май 2015, 14:10
- Откуда: Чехов
- Благодарил (а): 526 раз
- Поблагодарили: 462 раза
Re: Мое творчество. Игра Шахматный бой
Не оправдывайся старым кодом. Он ряды сканирует незаметно, а открывает тот в котором фигура.
Я в логику игры пока ни строчки не вставлял (добавлял). Чисто улучшал "обвязку".
Я в логику игры пока ни строчки не вставлял (добавлял). Чисто улучшал "обвязку".
-
- Сообщения: 703
- Зарегистрирован: 22 дек 2017, 13:55
- Благодарил (а): 154 раза
- Поблагодарили: 66 раз
Re: Мое творчество. Игра Шахматный бой
Андрей, я конечно понимаю, что компьютер играет нечестно. Когда я писал код, у меня главная задача была сделать из компьютера игрока, с которым бы было более-менее интересно играть в Шахматный бой. Чтоб он постоянно не проигрывал.Андрей писал(а):Да там и в поиске фигур тоже мухлёж, 9 раз из 10 постоянно бьёт подряд 5 фигур. Что касается написания логики ИИ, тут ты невероятно плохого кода наворотил.Андрей писал(а):Михаил Киселев, зачем ты сделал то, что компьютер при открытии ряда открывает несколько рядов подряд, пока не встретит фигуру?
Но ты понимал(-ешь), что компьютеру поставил нечестную игру?
Задача создать ИИ Шахматного боя, чтоб он довольно сильно играл честно - задача очень интересная, и хорошо бы её реализовать. Но такая задача мне, к сожалению, не по силам.
Я имел ввиду другое. Глюка, когда
не было ещё в версии 1.32. Он появился с версий 1.5... . Думаю, я догадываюсь, как можно исправить этот глюк, если ты не возражаешь, могу постараться его поправить.
-
- Архитектор
- Сообщения: 7378
- Зарегистрирован: 06 май 2015, 14:10
- Откуда: Чехов
- Благодарил (а): 526 раз
- Поблагодарили: 462 раза
Re: Мое творчество. Игра Шахматный бой
Согласен! Более того игра очень интересна в противостоянии против другого человека, допустим до 3 побед. Логика выставления и логика поиска довольно нетривиальная. Можно, например, специально прятать 1-2 фигуры в битые поля. И человек хорош тем, что он играет следующую партию на основе анализа предыдущей, обучается. Комп же каждый раз видит доску, как баран - новые ворота (С.Ю. Шипов )
Очень интересен момент с угадыванием фигуры и открытием ряда. Обе задачи тоже нетривиальны. Есть и вариант случайности (попал фигуру первым ходом - попробуй угадай!)
-
- Архитектор
- Сообщения: 7378
- Зарегистрирован: 06 май 2015, 14:10
- Откуда: Чехов
- Благодарил (а): 526 раз
- Поблагодарили: 462 раза
Re: Мое творчество. Игра Шахматный бой
Да, это стоит в планах, ты можешь делать любые задачи из планов.Михаил Киселев писал(а):Глюка, когдане было ещё в версии 1.32. Он появился с версий 1.5... . Думаю, я догадываюсь, как можно исправить этот глюк, если ты не возражаешь, могу постараться его поправить.
Я представляю себе поправку этого глюка так:
Код: Выделить всё
существует глобальная переменная, которая хранит, чей сейчас ход.
Если Человек походил - она переключается (ход Компа). Затем в обработке нажатия проверяется, Человека ли ход. Если нет - обработки нажатия не происходит. Когда комп походил, переменная переключается назад в прежнее значение (ход Человека). Достаточно (0/1).
-
- Сообщения: 703
- Зарегистрирован: 22 дек 2017, 13:55
- Благодарил (а): 154 раза
- Поблагодарили: 66 раз
Re: Мое творчество. Игра Шахматный бой
Я тоже так думаю. У меня такое в этой игре уже где-то было реализовано, но, наверное, не в этом месте.Андрей писал(а):
Я представляю себе поправку этого глюка так:Код: Выделить всё
существует глобальная переменная, которая хранит, чей сейчас ход. Если Человек походил - она переключается (ход Компа). Затем в обработке нажатия проверяется, Человека ли ход. Если нет - обработки нажатия не происходит. Когда комп походил, переменная переключается назад в прежнее значение (ход Человека). Достаточно (0/1).