Задание 0. Разобраться с примером и попытаться самостоятельно сделать окно, в котором где-то написано Ваше имя.
Пример:
import pygame
pygame.init()
screen = pygame.display.set_mode([600,800])
ft = pygame.font.Font(None, 80) #Создать новый шрифт вида None (то есть стандартный, можете вставить сюда свой шрифт из файла), размера 80 text = "TeXT" #Переменная со строкой
size = ft.size(text) #У шрифта спрашиваем, какого размера будет текст из переменной, строкой ниже печататаем. К размеру можно позже обращаться, что #можно увидеть ниже print(size)
ren = ft.render(text, 0, (255,255,255), (0,0,0)) # По какой-то неведомой причине рендер создаёт новую "поверхность", и поэтому если вы хотите #нарисовать на своей поверхности, нужно сначала создать новую с текстом, а потом командой ниже "приклеить" её к старой
# *шрифт*.render(*строка*, *просто ставьте 0, этот параметр влияет на политру*, *цвет текста*, *цвет фона, можно этот параметр опустить*) # Обратите внимание, что можно только 1 строчку так напечатать, поэтому если у Вас большой текст, нужно обрабатывать каждую строчку отдельно
screen.blit(ren, (10, 10)) # Собственно функция приклеивания к поверхности screen, первое - кого приклеить, второе - куда screen.blit(ren, (10 + size[0], 10 + size[1])) # Здесь мы приклеиваем на угол к предыдущему тексту, можете попробовать поменять переменную text на что угодно, и вы заметите, как текст "клеится" именно на угол
pygame.display.update()
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
pygame.quit() |
Задание 1. Напишите Ваше ФИО ровно посередине экрана размера 600, 600. *шрифт*.size(*текст*) Вам в помощь!
Задание 2. Напишите программу, которая будет рисовать последовательно числа от 0 до 9 в строчку одно за другим каждый раз, когда вы нажимаете на окно.
Задание 3. Напишите программу, которая будет рисовать символы одно за другим каждый раз, когда вы нажимаете на соотв. символ на клавиатуре (то есть если вы нажали на букву г, то рисует букву г). Вспомните, что в обработке событий клавиатуры мы обсуждали, что есть некий unicode, который можно достать из события.
Задание 4. (Бонус) К Заданию 3 прикрутите переход через строчку, то есть нажатие Enter заставляет печатать на следующей строчку.
Прикрутите стирание символов, то есть нажатие Backspace стирает ранее набранные символы. (Для этого нужно запоминать, какие символы у вас напечатаны в массив, и удалять последний символ массива, когда нажимается соотв. кнопка)
БОНУС_БОНУС: Сделать моргающую вертикальную палочку, которая показывает, где сейчас происходит набор текста. (Лучше сделать через pygame.draw.line(screen, *цвет*, *координаты начала*, *координаты конца*, width=*ширина, по желанию*) )