Знакомство с PyGame; циклический конструктор
Циклический конструктор вида [выражение for переменная in последовательность]
Разбор примера из руководства
Surface как поверхность для рисования
События и цикл обработки событий (т. н. mainloop)
Функции event.get(), event.wait() и event.poll()
- Глобальный характер mainloop
- Намётки на будущее: прямоугольники, работа с картинками и т. д.
Как пользоваться руководством по PyGame
Подмодуль pygame.draw: рисование линии и всего остального
Рисование точки и прямоугольника с помощью surface.fill()
Домашнее задание
Во всех задачах на рисование в конце программы можно ставить вот такой цикл:
while pygame.event.wait().type != pygame.QUIT: pygame.display.flip()
Всё что он делает — ожидает закрытия графического окна
Прочитать главу «Введение в графику» игрового учебника и попробовать сделать оттуда примеры
- Нарисовать прямоугольную спираль (из прошлого домашнего задания) на графическом экране. Вводить M и N не обязательно, можно начать из центра экрана и закончить где придётся.
- …хоть какую-нибудь непрямоугольную спираль
- …восьмиугольную спираль (восьмиугольник не обязан быть правильным, но соответствующие линии должны быть параллельны)
- …треугольную спираль
- Придумать метод визуализации игры в угадайку (из прошлого домашнего задания) и реализовать его
- обратите внимание на то, что ввод/вывод (задавать вопросы всё же придётся) происходит в одном окне, а рисование — в другом
Для простоты можно считать, что число загадывается в диапазоне от -300 до 300 (это подсказка !)
- Придумать метод визуализации обратной игры (компьютер задумывает число в диапазоне от -100 до 100, человек отгадывает)
- Идея в том, чтобы занятнее отображать подсказку
2013-11-15-ugad2.py (достаточно просто давить мышью на полосу: красный прямоугольник означает, что число меньше задуманного, синий — что больше)
Нарисовать график (на забываем подключить математические функции с помощью from math import *):
синуса y=sin(x) (хоть как-нибудь)
y=sin(x) с вводом начального и конечного x (ввести можно, например, -4,6)
функции y=2**x с вводом начального и конечного x
Условные обозначения
— тема по Linux
— тема повышенной сложности
— теоретическое задание
— тема для самостоятельного изучения