Работа с файлами. Шрифты в PyGame. Задание на зимние каникулы
Файловые объекты. Функция open(имя, режим). Обязательность файл.close() для файлов, в особенности открытых на запись ("w")
Операция print >> файл, …
.readline() и .readlines(); конструкция for l in файл:
.read() и .write()
Чтение и запись объектов Python с помощью pickle.dump() и pickle.load()
Вывод текста в PyGame
- Регистрация шрифта
Формирование surface с изображением текста с помощью font.render()
Размещение текста-изображения на другом изображении при помощи .blit()
Домашнее задание
Прочитать про работу с файлами и pickle в учебнике
Прочитать про вывод текста в учебнике по PyGame и в документации по модулю pygame.font
Освоить какой-нибудь модуль ввода текста для PyGame (на выбор):
pyginput (© FrBrGeorge )
что-нибудь с сайта PyGame
- Заставить работать и чуть-чуть переиначить какую-нибудь готовую прото-игрушку (на выбор):
«Пришиби обезьянку» из документации по PyGame
«Breakout» из учебника по PyGame (обратите внимание: код там не очень, можно было бы и покороче написать; зато всё понятно!)
Попробовать написать работающую графическую программу. Варианты:
- Доработать «примитивный графический редактор» из предыдущего занятия, добавив туда всякого по желанию:
- сохранение в файл и чтение оттуда
- какие-то ещё нужные фигуры (например, с заливкой)
- групповые действия над точками
- рисованные кнопки вместо нажатий на клавиатуру
- … что в голову взбредёт
Написать простейшую платформенную игру по аналогии с более сложным проектом на Хабре
- гравитация, перемещение, прыжки
- картинки вместо однотонных клеток
- монстры, стрельба
- …
- Причесать «шарик с ракеткой» из предыдущих занятий, чтобы он стал похож на игру:
- ввести понятие "гол" (одна из стенок) и вычитать очки за каждый гол
- а за каждой удачное отбитие, наоборот, прибавлять
- цель игры — продержаться как можно дольше положительными очками
- выводить счёт
- подобрать параметры ракетки так, чтобы увелияивалась сложность (например, немного увеличивать скорость шара при отбитии)
- …
- Обход лабиринта. Рисовать лабиринт и бонусы/антибонусы в нём, а потом их собирать главгероем
- …довести это до игры «змей»: главгерой удлинняется по мере питания
- …или довести это до игры «пакман»: имеются другие хаотично движущиеся персонажи, которых надо опасаться или к которым стремиться
- +не хаотично, а целенаправленно движущиеся
- …
- Самому что-нибудь придумать
- Доработать «примитивный графический редактор» из предыдущего занятия, добавив туда всякого по желанию:
Условные обозначения
— тема по Linux
— тема повышенной сложности
— теоретическое задание
— тема для самостоятельного изучения