Мое творчество. Игра Шахматный сапёр

Видео, книги, журналы, научные статьи, (по тематике форума), наше творчество
Аватара пользователя
Андрей
Архитектор
Сообщения: 7387
Зарегистрирован: 06 май 2015, 14:10
Откуда: Чехов
Благодарил (а): 535 раз
Поблагодарили: 462 раза

Re: Мое творчество. Игра Шахматный сапёр

Сообщение Андрей »

Методом эксперимента я для себя подобрал число, при котором угадывание для 5 фигур выглядит более реальным, это число 267 вместо 17. Пишу только в целях тестов. Понятно, что тупость этого алгоритма не заштопать никакими переменными. Компьютер, чтобы угадать фигуру, не обстреливает дальние клетки или клетки удара Коня. Он не делает вообще ничего от ИИ. Только настроение компа и число которое он соизволит выкинуть. На сложность расстановки или угадывания ему плевать.
Аватара пользователя
Андрей
Архитектор
Сообщения: 7387
Зарегистрирован: 06 май 2015, 14:10
Откуда: Чехов
Благодарил (а): 535 раз
Поблагодарили: 462 раза

Re: Мое творчество. Игра Шахматный сапёр

Сообщение Андрей »

Шахматный сапёр v2.10b

Добавлено ограничение времени на ход, одинаковое для обоих соперников, если в начале игры в поле таймера стоит "0", ограничение не используется (бесконечное время).

Таймер каждую секунду визуально уменьшается у того, чей ход. Последние 5 секунд до нуля компьютер пикает (или тикает).

При достижении таймером 0, если юзер не успел сделать ход, он переходит к сопернику,
аналогично - для соперника.

После возврата хода просрочившему игроку, компьютер помнит, если ему (игроку) до этого нужно было угадать фигуру или открыть ряд и не даёт делать другие действия.

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

+ тоже изменено условие угадывания фигуры, как написал выше Михаил Киселев
Аватара пользователя
Андрей
Архитектор
Сообщения: 7387
Зарегистрирован: 06 май 2015, 14:10
Откуда: Чехов
Благодарил (а): 535 раз
Поблагодарили: 462 раза

Re: Мое творчество. Игра Шахматный сапёр

Сообщение Андрей »

Найден глюк версии 2.10b (привнесён недавно, свойственен только этой версии).

При победе человека открытием ряда, комп продолжает атаковать.

Глюк поправлен в версии 2.11b

+ найден и добавлен звук аськи в чат (для входящих сообщений)
Аватара пользователя
Андрей
Архитектор
Сообщения: 7387
Зарегистрирован: 06 май 2015, 14:10
Откуда: Чехов
Благодарил (а): 535 раз
Поблагодарили: 462 раза

Re: Мое творчество. Игра Шахматный сапёр

Сообщение Андрей »

Игра Шахматный сапёр 2.11b тестировалась сегодня в сетевом варианте с 3 разными людьми.

+ Даже на ADSL-модеме тянет неплохо (была задержка пакета 1-2 раза, но не потеря)
+ ни одного глюка не было

- на старой Win XP не оказалось шахматного шрифта, вместо фигур были пустые места. Выслал другу шрифт Arial Unicode MS. Гуглится в инете легко. Фигуры появились после установки шрифта в систему и перезапуска приложения.

От HDV поступило предложение (играли на время 30 сек на ход) не считать попадание в пустое место ходом, т.е. не перезапускать таймер при открытии пустой клетки. Долго спорили что делать в этом случае, я предлагал добавлять +5 сек по типу фишеровского добавления, но не выше 30 сек. Он предлагал ничего не добавлять, а продолжать отсчёт до 0, до тех пор, пока нет попадания в фигуру или X. В крайнем случае +1 +2 сек добавлять.

Также от него поступило предложение ЖИРНЫМ выделять - чей ход, притом в начале строки. Я и сам один раз "зевал" пока таймер не стал пищать. Принимается.

Завтра на работу, не знаю, когда этим займусь... Сделать можно, но не 5 минут, (от пары часов до полдня), плюс ещё опять тесты на локалке потребуются. Некогда будет.
Аватара пользователя
BDK
Сообщения: 3725
Зарегистрирован: 17 май 2015, 23:27
Откуда: Беларусь
Благодарил (а): 152 раза
Поблагодарили: 407 раз

Re: Мое творчество. Игра Шахматный сапёр

Сообщение BDK »

Приятно видеть увлеченных людей :)
Аватара пользователя
Андрей
Архитектор
Сообщения: 7387
Зарегистрирован: 06 май 2015, 14:10
Откуда: Чехов
Благодарил (а): 535 раз
Поблагодарили: 462 раза

Re: Мое творчество. Игра Шахматный сапёр

Сообщение Андрей »

Спасибо. Я очень рад не только тому, что мне удалось реализовать свою мечту о сетевой игре программы (о чём год назад я не имел понятия, как это сделать), но и тому, что выполнил свою часть идеально. Гордость пробивает )))
Аватара пользователя
BDK
Сообщения: 3725
Зарегистрирован: 17 май 2015, 23:27
Откуда: Беларусь
Благодарил (а): 152 раза
Поблагодарили: 407 раз

Re: Мое творчество. Игра Шахматный сапёр

Сообщение BDK »

Это всегда хорошо, наработка опыта и навыков. Позже сумма опыта и знаний пригодятся для более серьезных и больших проектов.
Михаил Киселев
Сообщения: 703
Зарегистрирован: 22 дек 2017, 13:55
Благодарил (а): 154 раза
Поблагодарили: 66 раз

Re: Мое творчество. Игра Шахматный сапёр

Сообщение Михаил Киселев »

Андрей, думаю, для ясности хорошо бы подписать таймер времени как как "таймер" вместо 0 сделать надпись "Выкл".
Идея не прерывать таймер обратного отсчета при попадании на пустое поле мне не нравится, в крайнем случае надо приплюсовывать по крайней мере 5 - 10 секунд. Все таки попасть на пустое поле тоже не всегда легко.

И ещё, связи с изменением условия угадывания фигур хорошо бы поправить строки в коде

if o<=3 then ad:=40 else ad:=ad+9;
На
if o<=3 then ad:=80 else ad:=ad+9;

И строку
begin if o<=4 then ad:=10*(o+1)
На
begin if o<=4 then ad:=10*(o+o)

А то компьютер стал не угадывать фигуры уже и в тех случаях когда фигура исходя из открытых полей очевидна.
Аватара пользователя
Андрей
Архитектор
Сообщения: 7387
Зарегистрирован: 06 май 2015, 14:10
Откуда: Чехов
Благодарил (а): 535 раз
Поблагодарили: 462 раза

Re: Мое творчество. Игра Шахматный сапёр

Сообщение Андрей »

Михаил Киселев, принято. Сделаю эти изменения вместе с изменением счетчика времени.

Пока тестируй ещё.
Аватара пользователя
Андрей
Архитектор
Сообщения: 7387
Зарегистрирован: 06 май 2015, 14:10
Откуда: Чехов
Благодарил (а): 535 раз
Поблагодарили: 462 раза

Re: Мое творчество. Игра Шахматный сапёр

Сообщение Андрей »

Михаил Киселев писал(а): Все таки попасть на пустое поле тоже не всегда легко.
Вот с этим не согласен. У тебя всего 2 варианта: попасть в битое поле или в пустое. В битое поле - переход хода, если нет - в пустое. В конце, когда все битые поля помечены и осталось много пустых полей нужно ограничить время, чтобы человек думал быстрее, где последняя фигура находится, а не вскрывал пустые поля одно за другим, прибавляя каждым ходом по полному таймеру.