Advertisement
Guest User

Untitled

a guest
Mar 15th, 2013
234
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. from turtle import *
  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. up()
  28. spalvos = "green blue black orange yellow".split() # sukuria sąrašą: ["green", "blue", "black", "orange", "yellow"]
  29. for i in range(n):
  30.     m = MyTurtle()       # sukuriamas miestas/pieštukas
  31.     m.goto(X[i], Y[i])   # padedamas į vietą
  32.     # dot(10)
  33.     m.write(i)           # parašomas jo numeris
  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.     Miestai.append(m)   # Miestų sąrašo papildymas
  44.     m.nr = i            # miesto nr sąraše
  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.  
  62.  
  63. mainloop()  # kad lauktų įv. naudotojo (pelės) veiksmų
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement