View difference between Paste ID: Ja5bvFWr and 4LiKhre5
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ų