Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # uzduotis http://galvosukykla.lt/failai/mokymas/programavimas/2013-pavasaris/ktug/KD2-pasiruosimas-sokiai.pdf
- from turtle import *
- reset()
- X=[100, 400, 200, 300, 250, 100]
- Y=[0, 100, 200, 100, 150, 200 ]
- L=['v', 'm', 'v', 'v', 'm', 'm']
- Vardai=['Tomas', 'Agne', 'Petras', 'Vytas', 'Egle', 'Ona']
- Merginos=[]
- Vaikinai=[]
- class Dancer(Turtle):
- def dance(self, x, y):
- sx, sy = self.pos() # startine pozicija, pries pajudant
- self.goto(x, y) # vaikino judesys
- dx=x-sx; dy=y-sy # kiek pajudejo vaikins
- msx, msy = self.issirinkta.pos() # merginos start. vieta
- self.issirinkta.goto(msx+dx, msy+dy) # merginos judesys
- n=len (X);
- for i in range (n):
- ##d = Turtle(); # sukuria piestuka
- d = Dancer() # sukuria sokti poroje galinti piestuka
- d.up()
- d.goto(X[i], Y[i]) # sokejas nueina i vieta
- d.name=Vardai[i]
- d.write(d.name)
- d.lytis=L[i]
- d.poroje=False
- if L[i]=='v':
- d.ondrag(d.dance) # susiejam tempima pele su poros judejimu
- d.shape('square')
- Vaikinai.append(d)
- if L[i]=='m':
- d.shape('circle')
- Merginos.append(d)
- d.shapesize(0.5)
- for v in Vaikinai:
- v.color('blue')
- for m in Merginos:
- m.color('yellow')
- def renkasi_vaikinai(M, V):
- for v in V:
- print(v.name)
- u=1000 # maziausio atstumo kintamasis (pradine reiksme, kad galetu mazeti)
- for m in M:
- print(m.name, m.pos(), v.distance(m), m.poroje ) # spausd merginos varda, vieta, atstuma iki jos, ir ar poroje
- # jeigu mergina dar laisva ir pakankamai arti
- if m.poroje==False and v.distance(m) < u:
- u = v.distance(m) # isidemim atstuma iki jos
- v.issirinkta = m # isidemim mergina
- print("issirinko", v.issirinkta.name) # spausdinam vaikino issirinktosios varda
- v.issirinkta.poroje=True # pazymim, kad mergina jau nelaisva
- color("blue") # nubreziam linija
- up(); goto(v.pos()) # nuo vaikino
- down(); goto(v.issirinkta.pos()) #iki merginos
- renkasi_vaikinai(Merginos, Vaikinai) #iskvieciam "poravimosi" funkcija
- mainloop() # kad leistu peles veiksmus
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement