Прикреплённый файл «pygame_1-1.py»

Загрузка

   1 #!/usr/bin/env python
   2 # -*- coding: UTF-8 -*-
   3 '''
   4 Проект "Построение графика", подзадача pygame 1-1
   5 "Резиновые линии":
   6   левая кнопка мыши -- начать рисование "резиновой" линии
   7   перемещение мыши -- рисовать линию, если рисование начато
   8   правая кнопка мыши -- окончательно нарисовать линию
   9   "Q", закрытие окна -- выйти
  10   пробел -- включить/выключить вывод всех событий на текстовый экран
  11 '''
  12 
  13 from math import *
  14 import sys
  15 
  16 import pygame
  17 pygame.init()
  18 
  19 W, H = 800, 600
  20 pen=(10,100,200)
  21 screen=pygame.display.set_mode((W,H))
  22 Center,Copy,Debug=(),None,False
  23 
  24 while True:
  25   pygame.display.flip()
  26   event = pygame.event.wait()
  27   # Выход по закрытию окна и нажатии "q"
  28   if   event.type == pygame.QUIT or \
  29        event.type == pygame.KEYDOWN and event.unicode == u"q":
  30 	    sys.exit()
  31   # Рисовать линию, если стартовые координаты непусты
  32   elif event.type == pygame.MOUSEMOTION:
  33     if Center:
  34       screen.blit(Copy, (0,0))	# восстанавливаем состояние экрана без линии
  35       pygame.draw.line(screen, pen, Center, event.pos)
  36   elif event.type == pygame.MOUSEBUTTONDOWN:
  37     # Нажата левая кнопка -- начать рисовать линию
  38     if event.button == 1:
  39       Center = event.pos
  40       Copy = screen.copy()	# состояние экрана без нарисованной линии
  41     # Нажата правая кнопка -- нарисовать линию
  42     elif event.button == 3:
  43       Center = ()		# нарисованная линия остаётся на экране
  44   # Включить/выключить отладку -- вывод всех событий по пробелу
  45   elif event.type == pygame.KEYDOWN and event.unicode == u" ":
  46     Debug = not Debug
  47     print "=== Trace", Debug
  48     # не надо этот пробел больше обрабатывать
  49     continue
  50   # выводить все события, если отладка включена
  51   if Debug:
  52     print event

Прикреплённые файлы

Для ссылки на прикреплённый файл в тексте страницы напишите attachment:имяфайла, как показано ниже в списке файлов. Не используйте URL из ссылки «[получить]», так как он чисто внутренний и может измениться.

Вам нельзя прикреплять файлы к этой странице.