Sep 22, 2013 15:57
В предыдущих постах было рассказано, как я сделал сапёра с ободком по краям, и как легко в него оказалось играть. Для того, чтобы объяснить это явление, потребовалось сделать вариант сапёра, не отличающийся от варианта, реализованного в электронной книжке, и убедиться в том, что играть в него будет настолько же сложно и настолько же интересно. Чтобы не портить свою программу, ввёл в неё целочисленную константу, определяющую вариант игры: 0 - обычная игра, 1 - сапёр с ободком из незаминированных ячеек, 2 и т.д - на будущее. И добавил в игру вариант 0. Поначалу казалось, что всё работает так же, но потом заметил, что на книгочиталке я чаще выигрываю, а за компьютером постоянно подрываюсь. Объяснения нашёл два:
1. Техническое. По-видимому, невозможно сделать два одинаковых генератора случайных чисел. (Я генератор случайных чисел не писал, использовал готовый. Думаю, что и автор сапёра из книгочиталки тоже использовал готовый. Можно предположить, что в разных системах используется один и тот же устоявшийся алгоритм генератора. Но точно так же можно предположить и обратное.) Также можно придумать разные алгоритмы случайного бросания мин на поле на основе генератора случайных чисел. И, как уже отмечалось в комментариях к предыдущим постам, мины не обязательно расставляются случайно.
2. Психологическое. Когда кликаешь мышкой в экран, хочется побыстрее что-то открыть и проверить, есть мина или нет. У книгочиталки мышки нет, там есть кнопки перемещения курсора. Пока переместишь курсор к нужной ячейке, успеваешь подумать о том, может ли в этом месте стоять мина, а также осознать всю опасность бездумного открытия ячейки в случае, если мина там есть. Кроме того, книгочиталка запоминает состояние игры при выключении, переходе к чтению книг или прослушиванию подкастов. В моей программе не сделано сохранение игры, поэтому игра почти всегда проходит в спешке (надо куда-то идти, пора ложиться спать и т.д.).
Программирование