Освой Python играючи
/* Моя кошка замечательно разбирается в программировании. Стоит мне объяснить проблему ей - и все становится ясно. */
John Robbins, Debugging Applications, Microsoft Press, 2000
Модуль pygame помогает разработчикам создавать игры, позволяя быстро и удобно добавлять графику, музыку в стандартные десктопные приложения. Модуль не поставляется с Python, его можно установить бесплатно. Он также поставляется вместе с редактором Mu.
Пример приложения, написанного при помощи модуля pygame - выведем несколько фигур и текст в окне.
import pygame, sys
from pygame.locals import *
# инициализация pygame
pygame.init()
# настройка окна - размер и другие настройки
windowSurface = pygame.display.set_mode((500, 400), 0, 32)
pygame.display.set_caption('Hello Kitty') # заголовок окна
BLACK = (0, 0, 0)
WHITE = (255, 255, 255)
RED = (255, 0, 0)
GREEN = (0, 255, 0)
BLUE = (0, 0, 255)
# шрифт по умолчанию и его размер
basicFont = pygame.font.SysFont(None, 48)
text = basicFont.render('Hi, Barsik', True, WHITE, BLUE)
textRect = text.get_rect()
textRect.centerx = windowSurface.get_rect().centerx
textRect.centery = windowSurface.get_rect().centery
# заливаем окно белым цветом
windowSurface.fill(WHITE)
# рисуем различные фигуры
pygame.draw.polygon(windowSurface, GREEN, ((146, 0), (291, 106), (236, 277), (56, 277), (0, 106)))
pygame.draw.line(windowSurface, BLUE, (60, 60), (120, 120), 4)
pygame.draw.circle(windowSurface, BLUE, (300, 50), 20, 0)
pygame.draw.ellipse(windowSurface, RED, (300, 250, 40, 80), 1)
pygame.draw.rect(windowSurface, RED, (textRect.left - 20, textRect.top - 20, textRect.width + 40, textRect.height + 40))
# Получение массива пикселей поверхности
pixArray = pygame.PixelArray(windowSurface)
pixArray[480, 380] = BLACK
del pixArray
# Нанесение текста на поверхность
windowSurface.blit(text, textRect)
# Отображение окна на экране
pygame.display.update()
# Запуск игрового цикла
while True:
for event in pygame.event.get():
if event.type == QUIT:
pygame.quit()
sys.exit()