Главная страница
Навигация по странице:

  • Глава 10. Игра «Крестики-нолики» .....................................................................159

  • Глава 11. Дедуктивная игра «Холодно-горячо» .................................................192

  • Глава 12. Декартова система координат .............................................................209

  • Глава 14. Шифр Цезаря .........................................................................................248

  • Глава 15. Игра «Реверси» ......................................................................................263

  • Глава 16. Искусственный интеллект игры «Реверси» .......................................299

  • Учим Python, делая крутые игры 2018. Invent your owncomputer gameswith python


    Скачать 6.56 Mb.
    НазваниеInvent your owncomputer gameswith python
    Дата10.12.2022
    Размер6.56 Mb.
    Формат файлаpdf
    Имя файлаУчим Python, делая крутые игры 2018.pdf
    ТипДокументы
    #837554
    страница2 из 39
    1   2   3   4   5   6   7   8   9   ...   39
    Глава 9. Доработка игры «Виселица» ..................................................................147
    Увеличение числа угадываний ................................................................................147
    Словари .........................................................................................................................148
    Определение размера словаря с помощью функции len() ......................... 149
    Различия между списком и словарем .............................................................. 150
    Методы словаря keys() и values() ...................................................................... 151
    Использование словаря слов в игре «Виселица» ........................................... 152
    Случайный выбор из списка ....................................................................................152
    Удаление элементов списка ......................................................................................154
    Множественное присваивание ...............................................................................156
    Выбор игроком категории слов ...............................................................................157
    Заключение ...................................................................................................................158
    Глава 10. Игра «Крестики-нолики» .....................................................................159
    Пример запуска игры «Крестики-нолики» ..........................................................160
    Исходный код игры «Крестики-нолики» ..............................................................161
    Проектирование программы ...................................................................................166
    Данные для прорисовки игрового поля .......................................................... 166
    Стратегия игры ИИ ............................................................................................... 167
    Импорт модуля random................................................................................................168
    Вывод игрового поля на экран ................................................................................169
    Предоставление игроку выбора между «Х» или «О» .........................................170
    Выбор — кто будет ходить первым ........................................................................171
    Размещение меток на игровом поле .......................................................................171
    Ссылки на список .................................................................................................. 172
    Использование ссылок на списки в функции makeMove() ............................ 175
    Проверка — не победил ли игрок ...........................................................................175
    Дублирование данных игрового поля ...................................................................178
    Проверка — свободна ли клетка игрового поля .................................................178
    Разрешение игроку сделать ход ...............................................................................179
    Вычисление по короткой схеме ..............................................................................180

    Оглавление
    9
    Выбор хода из списка.................................................................................................182
    Значение None ...............................................................................................................183
    Создание искусственного интеллекта ...................................................................184
    Проверка — сможет ли компьютер победить, сделав ход .......................... 185
    Проверка — сможет ли игрок победить, сделав ход .................................... 185
    Проверка угловых, центральной и боковых клеток
    (в порядке очереди) .............................................................................................. 186
    Проверка — заполнено ли поле ......................................................................... 187
    Игровой цикл ..............................................................................................................187
    Выбор буквы игрока и того, кто будет ходить первым ............................... 188
    Переменная turn в значении 'Человек' ............................................................. 188
    Переменная turn в значении 'Компьютер'.......................................................... 190
    Предложение игроку сыграть заново............................................................... 190
    Заключение ...................................................................................................................191
    Глава 11. Дедуктивная игра «Холодно-горячо» .................................................192
    Пример запуска игры «Холодно-горячо» .............................................................193
    Исходный код игры «Холодно-горячо».................................................................193
    Блок-схема игры «Холодно-горячо» ......................................................................195
    Импорт модуля random и определение функции getSecretNum() .......................196
    Перетасовка уникального набора цифр ...............................................................197
    Изменение порядка элементов списка с помощью функции random.shuffl e()
    ........................................................................................................ 197
    Получение секретного числа из перетасованных цифр.............................. 198
    Расширенные операторы присваивания...............................................................198
    Подсчет выдаваемых подсказок ..............................................................................200
    Метод списка sort() ...................................................................................................201
    Строковый метод join() ............................................................................................202
    Проверка на содержание в строке только чисел .................................................203
    Начало игры .................................................................................................................203
    Интерполяция строк ..................................................................................................204
    Игровой цикл ..............................................................................................................205
    Получение предположения игрока ................................................................... 206
    Получение подсказок в зависимости от предположения игрока ............. 206
    Проверка победы или поражения игрока ....................................................... 207
    Предложение сыграть снова ............................................................................... 207
    Заключение ...................................................................................................................208
    Глава 12. Декартова система координат .............................................................209
    Сетки и декартовы координаты ..............................................................................209
    Отрицательные числа ................................................................................................211
    Система координат компьютерного экрана .........................................................213
    Математические хитрости ........................................................................................213
    Хитрость 1: минус «съедает» плюс слева от себя .......................................... 214
    Хитрость 2: два минуса в сумме дают плюс ................................................... 214
    Хитрость 3: два слагаемых числа можно переставлять местами ............. 214
    Абсолютные величины и функция abs() ..............................................................215
    Заключение ...................................................................................................................216

    10
    Оглавление
    Глава 13. Игра «Охотник за сокровищами» .......................................................217
    Пример запуска игры «Охотник за сокровищами» ...........................................218
    Исходный код игры «Охотник за сокровищами» ...............................................222
    Проектирование программы ...................................................................................227
    Импорт модулей random, sys и math ..........................................................................227
    Создание поля для новой игры ...............................................................................228
    Генерация игрового поля ..........................................................................................229
    Изображение координат x вдоль верхней части поля ................................. 230
    Рисование океана ................................................................................................... 231
    Вывод ряда в океане .............................................................................................. 232
    Изображение координат x вдоль нижней части игрового поля ............... 233
    Создание случайных сундуков с сокровищами ..................................................233
    Определение допустимости хода ............................................................................234
    Отражение хода на игровом поле ...........................................................................234
    Поиск ближайшего сундука с сокровищами ................................................. 235
    Удаление значений с помощью метода списка remove() .............................. 238
    Получение хода игрока ..............................................................................................239
    Вывод игроку инструкций по игре ........................................................................241
    Игровой цикл ..............................................................................................................242
    Демонстрация игроку статуса игры ................................................................. 243
    Обработка хода игрока ........................................................................................ 243
    Нахождение затонувшего сундука с сокровищами ..................................... 244
    Проверка победы игрока ..................................................................................... 245
    Проверка проигрыша игрока ............................................................................. 245
    Завершение работы программы с помощью функции sys.exit() ............ 246
    Заключение ...................................................................................................................246
    Глава 14. Шифр Цезаря .........................................................................................248
    Криптография и шифрование .................................................................................248
    Как работает шифр Цезаря ......................................................................................249
    Пример запуска программы «Шифр Цезаря» .....................................................251
    Исходный код программы «Шифр Цезаря» .........................................................252
    Установление максимальной длины ключа .........................................................253
    Выбор между шифрованием и расшифровыванием сообщения ...................254
    Получение сообщения от игрока ............................................................................254
    Получение ключа от игрока .....................................................................................255
    Шифрование/расшифровывание сообщения .....................................................255
    Нахождение переданных строк с помощью строчного метода fi nd() ............................................................................................................. 256
    Шифрование/расшифровка каждой буквы .................................................... 257
    Запуск программы ......................................................................................................258
    Полный перебор .........................................................................................................259
    Добавление режима полного перебора .................................................................260
    Заключение ...................................................................................................................261
    Глава 15. Игра «Реверси» ......................................................................................263
    Как играть в «Реверси» ..............................................................................................263
    Пример запуска игры «Реверси» .............................................................................266
    Исходный код игры «Реверси» ................................................................................268

    Оглавление
    11
    Импорт модулей и создание констант ..................................................................275
    Структура данных игрового поля ..........................................................................275
    Отображение на экране структуры данных игрового поля....................... 276
    Создание структуры данных нового игрового поля.................................... 277
    Проверка допустимости хода ..................................................................................278
    Проверка каждого из восьми направлений ................................................... 279
    Определение наличия фишек, которые можно перевернуть .................... 280
    Проверка допустимости координат .......................................................................282
    Получение списка со всеми допустимыми ходами ...................................... 282
    Вызов функции bool() .......................................................................................... 283
    Получение игрового счета ........................................................................................284
    Получение сделанного игроком выбора фишки .................................................285
    Определение первого игрока ...................................................................................285
    Помещение фишки на поле ......................................................................................286
    Создание копии структуры данных игрового поля ...........................................286
    Определение того, находится ли клетка в углу ...................................................287
    Получение хода игрока ..............................................................................................287
    Получение хода компьютера ....................................................................................290
    Разработка стратегии с угловыми ходами ...................................................... 290
    Получения списка самых результативных ходов ......................................... 291
    Вывод игрового счета на экран ...............................................................................292
    Начало игры .................................................................................................................292
    Проверка на попадание в тупик ........................................................................ 293
    Выполнение хода игроком .................................................................................. 294
    Выполнение хода компьютером ........................................................................ 295
    Игровой цикл ..............................................................................................................296
    Предложение сыграть снова ....................................................................................297
    Заключение ...................................................................................................................298
    Глава 16. Искусственный интеллект игры «Реверси» .......................................299
    Компьютер против компьютера .............................................................................300
    Пример запуска модели 1 .................................................................................... 300
    Исходный код модели 1 ....................................................................................... 301
    Удаление приглашений для игрока и добавление игрока-компьютера ............................................................................................... 303
    Компьютер против компьютера — несколько партий ......................................304
    Пример запуска модели 2 .................................................................................... 304
    Исходный код модели 2 ....................................................................................... 305
    Отслеживание результатов партий .................................................................. 306
    Отключение вызовов функции print() ............................................................ 307
    Оценка искусственных интеллектов в процентном соотношении ............307
    Деление приводит к получению числа с плавающей запятой ........... 308
    Функция round() ...........................................................................................309
    Сравнение различных алгоритмов ИИ .................................................................309
    Исходный код модели 3 ....................................................................................... 310
    Принципы работы искусственных интеллектов в модели 3 ..................... 312
    ИИ лучшего углового хода ........................................................................312
    ИИ худшего хода ..........................................................................................312

    12
    Оглавление
    ИИ случайного хода ....................................................................................313
    Проверка на граничные ходы ...................................................................314
    ИИ лучшего углового-граничного хода .................................................314
    Сравнение искусственных интеллектов .......................................................... 315
    ИИ худшего хода против ИИ лучшего углового хода ........................315
    ИИ случайного хода против ИИ лучшего углового хода ..................316
    ИИ лучшего углового-граничного хода против ИИ лучшего углового хода ................................................................................................317
    Заключение ...................................................................................................................318
    1   2   3   4   5   6   7   8   9   ...   39


    написать администратору сайта