Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from turtle import *
- import random # galima būtų ir: from random import * - tada nereikia kartoti random. prieš kiekvieną atsitiktinių skaičių komandą
- reset() ## Objektinis programavimas
- class MyTurtle(Turtle): # naujo tipo pieštukas (nauja klasė)
- def info(self, x, y):
- self.write(self.nr) # parašo savo nr
- self.fillcolor(self.spalva) # užpildo to miesto spalva
- def activate(self, x, y):
- self.fillcolor('red') # paryškina raudonai
- self.clear() # išvalo visus buvusius "write(..)"
- # nr: 0 1 2 3 4 5
- X = [ 20, 50, 100, 80, 0, -30]
- Y = [-100, 100, 0, 50, 40, 50 ]
- K = [ 20, 40, 30 , 100, 20, 40 ] # kuras
- Miestai = []
- kuras = 250
- n = len(X)
- up()
- spalvos = "green blue black orange yellow".split() # sukuria sąrašą: ["green", "blue", "black", "orange", "yellow"]
- for i in range(n):
- m = MyTurtle() # sukuriamas miestas/pieštukas
- m.goto(X[i], Y[i]) # padedamas į vietą
- # dot(10)
- m.write(i) # parašomas jo numeris
- m.spalva = random.choice(spalvos) # parenkama atsitiktinė spalva
- # kitais atvejais užtektų tiesiog "choice(spalvos)" (be "random.")
- m.shape('triangle') # parenkama forma (dar gali būti: circle, square, turtle, arrow)
- m.ondrag(m.goto) # miesto objekto reakcija į pelę
- m.onclick(m.activate)
- m.onrelease(m.info)
- m.kuras = K[i]
- Miestai.append(m) # Miestų sąrašo papildymas
- m.nr = i # miesto nr sąraše
- m.up() # kad judėdamas nepieštų
- m.speed(0) # kad greičiau judėtų
- m.shapesize(0.5) # forma sumažinama, kad numerio neužstoų
- ##def all_goto(x, y):
- ## start_x, start_y = pos()
- ## goto(x, y)
- ## dx = x-start_x
- ## dy = y-start_y
- ## for a in Miestai:
- ## sx, sy = a.pos()
- ## a.goto(sx+dx, sy+dy)
- ## a.clear()
- ## a.write(a.nr)
- ## onscreenclick(all_goto) # leistų perkelti visus pieštukus iš karto
- mainloop() # kad lauktų įv. naudotojo (pelės) veiksmų
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement