Maehroboter.py 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. #Linda Napieralski
  2. #Andre Giesbrecht
  3. #Alexa Tschernitschek
  4. #Modul importieren
  5. import Tkinter as tk
  6. import turtle
  7. import time
  8. #Groesse des Fensters
  9. BREITE= 600 #Hauptfensterbreite
  10. HOEHE = 400 #Hauptfensterhoehe
  11. #global
  12. #global
  13. class Roboter(object):
  14. def __init__(self, Hauptfenster, canvas, BREITE, HOEHE, Roboter_width, Farbe, Geschwindigkeit, start_x, start_y, tag):
  15. self.width = BREITE #Einfuegen Hauptfensterbreite in Klasse
  16. self.height = HOEHE #Einfuegen Hauptfensterhoehe in Klasse
  17. self.canvas = canvas
  18. self.Geschwindigkeit = Geschwindigkeit
  19. self.Richtung_x = 0.5 #Geschwindigkeit in x_Richtung
  20. self.Richtung_y = 0.5 #Geschwindigkeit in y_Richtung
  21. self.tag = tag #Neuzeichnen
  22. #Roboter erstellen
  23. self.canvas.create_oval(start_x, start_y, start_x + Roboter_width, start_y + Roboter_width, fill=Farbe, tag=tag)
  24. #Funktion "Fahren" des Roboters
  25. def maehen(self):
  26. self.canvas.move(self.tag, self.Richtung_x, self.Richtung_y)
  27. position = self.canvas.coords(self.tag)
  28. if position[0] == 0:
  29. self.Richtung_x = 0.5 #Geschwindigkeit nach Kollision
  30. if position[1] == 0:
  31. self.Richtung_y = 0.5
  32. if position[2] == self.width:
  33. self.Richtung_x = -0.5
  34. if position[3] == self.height:
  35. self.Richtung_y = -0.5
  36. self.canvas.after(self.Geschwindigkeit, self.maehen)
  37. x0= position[0]
  38. y0= position[1]
  39. x1= position[2]
  40. y1= position[3]
  41. self.canvas.create_oval(x0, y0,x1, y1, fill="red") #Markierung des Maehweges mit Neuzeichnung des Roboters
  42. # def maehen(self):
  43. # line1= self.canvas.create_line(self.Richtung_x,self.Richtung_y ,width=1, fill="#000")
  44. # self.canvas.move(self.tag, self.Richtung_x, self.Richtung_y)
  45. # position = self.canvas.coords(self.tag)
  46. # if position[0] == 0:
  47. # self.Richtung_x = 0.5 #Geschwindigkeit nach Kollision
  48. # if position[1] == 0:
  49. # self.Richtung_y = 0.5
  50. # if position[2] == self.width:
  51. # self.Richtung_x = -0.5
  52. # if position[3] == self.height:
  53. # self.Richtung_y = -0.5
  54. # self.canvas.after(self.Geschwindigkeit, self.fahren)
  55. #Zeitmessung Maehvorgang
  56. #Startzeit
  57. start_zeit = time.time()
  58. Hauptfenster=tk.Tk()
  59. Hauptfenster.title("Maehroboter")
  60. Garten = tk.Canvas(Hauptfenster, bg='green', width=BREITE, height=HOEHE)
  61. Garten.pack()
  62. Roboter = Roboter(Hauptfenster, Garten, BREITE, HOEHE, 50, "Red", 2,30, 10,"Roboter")
  63. #Roboter.fahren()
  64. Roboter.maehen()
  65. Hauptfenster.mainloop()
  66. #Endzeit
  67. end_zeit=time.time()
  68. print ("%.10f seconds" %(end_zeit - start_zeit))