Прикреплённый файл «drawer.py»
Загрузка 1 #!/usr/bin/env python
2 # -*- coding: UTF-8 -*-
3 '''
4 Рисовальщик: программа , котороая читает из файла и отображает
5 0. Размер картинки (первая строка файла)
6 <ширина> <высота>
7 1. Линии, окружности, прямогуольники с цветом и шириной
8 color <R,G,B>
9 width <ширина>
10 line <начало> <конец>
11 cicrle <центр> <радиус>
12 rect <угол1> <угол3>
13 2. Ломаные и многоугольники (пока не сделано)
14 3. Фигуры с заливкой (пока не сделано)
15 '''
16
17 from math import *
18 import sys
19
20 import pygame
21 pygame.init()
22
23 def int1(s):
24 'Разбить строку на слова, пребразовать все элементы, кроме первого, в целые'
25 if s.startswith('#'): return s,[] # комментарий
26 l=s.split(' ')
27 return [l[0].lower()]+[int(e) for e in l[1:]]
28
29 # как ввести имя файла?
30 f = file(sys.argv[1],"r")
31 fig = [int1(l) for l in f.readlines()]
32 print fig
33 W,H = int(fig[0][0]),int(fig[0][1])
34 width,color = 1, (255,25,255)
35 screen = pygame.display.set_mode((W,H))
36
37 for l in fig[1:]:
38 print l
39 if not l[0] or l[0].startswith('#'):
40 pass
41 elif l[0] == 'width': width = l[1]
42 elif l[0] == 'color': color = l[1:]
43 elif l[0] == 'line': pygame.draw.line(screen, color, l[1:3], l[3:5], width)
44 elif l[0] == 'rect': pygame.draw.rect(screen, color, l[1:5], width)
45 elif l[0] == 'circle': pygame.draw.circle(screen, color, l[1:3], l[3], width)
46 else: print >> sys.stderr, "Warning: unknown '%s' figure"%l[0]
47 pygame.display.flip() # для медленного красивого отображения
48
49 while pygame.event.wait().type != pygame.QUIT:
50 pass
Прикреплённые файлы
Для ссылки на прикреплённый файл в тексте страницы напишите attachment:имяфайла, как показано ниже в списке файлов. Не используйте URL из ссылки «[получить]», так как он чисто внутренний и может измениться.- [получить | показать] (2011-09-26 11:35:20, 1.8 KB) [[attachment:drawer.py]]
- [получить | показать] (2011-09-26 11:35:20, 5.0 KB) [[attachment:drawer2.py]]
- [получить | показать] (2011-09-26 11:35:20, 0.2 KB) [[attachment:figure]]
Вам нельзя прикреплять файлы к этой странице.