SHOW:
|
|
- or go back to the newest paste.
1 | from turtle import * | |
2 | - | import random |
2 | + | import random # galima būtų ir: from random import * - tada nereikia kartoti random. prieš kiekvieną atsitiktinių skaičių komandą |
3 | ||
4 | reset() ## Objektinis programavimas | |
5 | ||
6 | class MyTurtle(Turtle): # naujo tipo pieštukas (nauja klasė) | |
7 | ||
8 | def info(self, x, y): | |
9 | self.write(self.nr) # parašo savo nr | |
10 | self.fillcolor(self.spalva) # užpildo to miesto spalva | |
11 | ||
12 | def activate(self, x, y): | |
13 | self.fillcolor('red') # paryškina raudonai | |
14 | self.clear() # išvalo visus buvusius "write(..)" | |
15 | ||
16 | ||
17 | # nr: 0 1 2 3 4 5 | |
18 | X = [ 20, 50, 100, 80, 0, -30] | |
19 | Y = [-100, 100, 0, 50, 40, 50 ] | |
20 | K = [ 20, 40, 30 , 100, 20, 40 ] # kuras | |
21 | Miestai = [] | |
22 | ||
23 | kuras = 250 | |
24 | ||
25 | n = len(X) | |
26 | ||
27 | - | spalvos = "green blue black orange yellow".split() |
27 | + | |
28 | spalvos = "green blue black orange yellow".split() # sukuria sąrašą: ["green", "blue", "black", "orange", "yellow"] | |
29 | for i in range(n): | |
30 | - | m.goto(X[i], Y[i]) |
30 | + | |
31 | m.goto(X[i], Y[i]) # padedamas į vietą | |
32 | - | m.write(i) |
32 | + | |
33 | - | m.spalva = random.choice(spalvos) |
33 | + | m.write(i) # parašomas jo numeris |
34 | - | m.shape('triangle') |
34 | + | m.spalva = random.choice(spalvos) # parenkama atsitiktinė spalva |
35 | # kitais atvejais užtektų tiesiog "choice(spalvos)" (be "random.") | |
36 | m.shape('triangle') # parenkama forma (dar gali būti: circle, square, turtle, arrow) | |
37 | ||
38 | m.ondrag(m.goto) # miesto objekto reakcija į pelę | |
39 | m.onclick(m.activate) | |
40 | m.onrelease(m.info) | |
41 | ||
42 | m.kuras = K[i] | |
43 | - | m.up() |
43 | + | |
44 | - | m.speed(0) |
44 | + | |
45 | - | m.shapesize(0.5) |
45 | + | m.up() # kad judėdamas nepieštų |
46 | m.speed(0) # kad greičiau judėtų | |
47 | m.shapesize(0.5) # forma sumažinama, kad numerio neužstoų | |
48 | ||
49 | ##def all_goto(x, y): | |
50 | ## start_x, start_y = pos() | |
51 | ## goto(x, y) | |
52 | ## dx = x-start_x | |
53 | ## dy = y-start_y | |
54 | ## for a in Miestai: | |
55 | ## sx, sy = a.pos() | |
56 | ## a.goto(sx+dx, sy+dy) | |
57 | ## a.clear() | |
58 | ## a.write(a.nr) | |
59 | ||
60 | ## onscreenclick(all_goto) # leistų perkelti visus pieštukus iš karto | |
61 | - | mainloop() |
61 | + | |
62 | ||
63 | mainloop() # kad lauktų įv. naudotojo (pelės) veiksmų |