|
@@ -7,6 +7,8 @@
|
|
import Tkinter as tk
|
|
import Tkinter as tk
|
|
import turtle
|
|
import turtle
|
|
import time
|
|
import time
|
|
|
|
+import sys
|
|
|
|
+import tkMessageBox
|
|
|
|
|
|
#Groesse des Fensters
|
|
#Groesse des Fensters
|
|
|
|
|
|
@@ -40,16 +42,16 @@ class Roboter(object):
|
|
if position[1] == 0:
|
|
if position[1] == 0:
|
|
self.Richtung_y = 0.5 #fahr weiter Richtung y_Achse, (=Ausgangskoord.+0.5)
|
|
self.Richtung_y = 0.5 #fahr weiter Richtung y_Achse, (=Ausgangskoord.+0.5)
|
|
if position[2] == self.width:
|
|
if position[2] == self.width:
|
|
- self.Richtung_x = -0.5 #bei Kollision (seitliche Wand) drehe um (90°)
|
|
|
|
|
|
+ self.Richtung_x = -0.5 #bei Kollision (seitliche Wand) drehe um (90 Grad)
|
|
if position[3] == self.height:
|
|
if position[3] == self.height:
|
|
- self.Richtung_y = -0.5 #bei Kollision (obere/untere Wand) drehe um (90°)
|
|
|
|
|
|
+ self.Richtung_y = -0.5 #bei Kollision (obere/untere Wand) drehe um (90 Grad)
|
|
self.canvas.after(self.Geschwindigkeit, self.maehen)
|
|
self.canvas.after(self.Geschwindigkeit, self.maehen)
|
|
|
|
|
|
x0= position[0]
|
|
x0= position[0]
|
|
y0= position[1]
|
|
y0= position[1]
|
|
x1= position[2]
|
|
x1= position[2]
|
|
y1= position[3]
|
|
y1= position[3]
|
|
- self.canvas.create_oval(x0, y0,x1, y1, fill="red") #Markierung des Maehweges mit Neuzeichnung des Roboters
|
|
|
|
|
|
+ self.canvas.create_oval(x0, y0,x1, y1, fill="#FF0000") #Markierung des Maehweges mit Neuzeichnung des Roboters
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -60,83 +62,47 @@ class Roboter(object):
|
|
|
|
|
|
# input=open("Koordinaten.py").readlines()
|
|
# input=open("Koordinaten.py").readlines()
|
|
start_x=30
|
|
start_x=30
|
|
|
|
+ start_y=10
|
|
Liste=[] #Hauptliste
|
|
Liste=[] #Hauptliste
|
|
- x0_Koordinate=[] #4 Unterlisten in Hauptliste, Darst. als 4 Spalten
|
|
|
|
- y0_Koordinate=[]
|
|
|
|
- x1_Koordinate=[]
|
|
|
|
- y1_Koordinate=[]
|
|
|
|
- x0_Koordinate.append(x0) #Daten in entsprechende Unterlisten hinzufuegen
|
|
|
|
- y0_Koordinate.append(y0)
|
|
|
|
- x1_Koordinate.append(x1)
|
|
|
|
- y1_Koordinate.append(y1)
|
|
|
|
-
|
|
|
|
- input=open("Koordinaten.py") #Hauptliste und Unterlisten in Koordinaten-Programm hinzufuegen
|
|
|
|
|
|
+
|
|
|
|
+ Liste.append(x0) #Daten in entsprechende Unterlisten hinzufuegen
|
|
|
|
+ Liste.append(y0)
|
|
|
|
+ Liste.append(x1)
|
|
|
|
+ Liste.append(y1)
|
|
|
|
+ input=open("Koordinaten.txt") #Hauptliste und Unterlisten in Koordinaten-Programm hinzufuegen
|
|
linenr=0
|
|
linenr=0
|
|
while True:
|
|
while True:
|
|
line=input.readline()
|
|
line=input.readline()
|
|
if not line: break
|
|
if not line: break
|
|
- Liste.append(line.split()) #zeilenweises Hinzufuegen
|
|
|
|
- Liste.append(x0_Koordinate)
|
|
|
|
- Liste.append(y0_Koordinate)
|
|
|
|
- Liste.append(x1_Koordinate)
|
|
|
|
- Liste.append(y1_Koordinate)
|
|
|
|
|
|
+ Liste.append(line) #zeilenweises Hinzufuege
|
|
|
|
|
|
laenge= len(Liste) #Laenge der Liste
|
|
laenge= len(Liste) #Laenge der Liste
|
|
# print laenge
|
|
# print laenge
|
|
|
|
|
|
input.close()
|
|
input.close()
|
|
- output=open("Koordinaten.py", "w")
|
|
|
|
-
|
|
|
|
- for i in range (0,start_x)
|
|
|
|
-
|
|
|
|
- #print x0_Koordinate[0], y0_Koordinate[0], x1_Koordinate[0], y1_Koordinate[0]
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-# print x0
|
|
|
|
-# print y0
|
|
|
|
-# print x1
|
|
|
|
-# print y1
|
|
|
|
|
|
+ output=open("Koordinaten.txt", "w")
|
|
|
|
|
|
-# def maehen(self):
|
|
|
|
- # line1= self.canvas.create_line(self.Richtung_x,self.Richtung_y ,width=1, fill="#000")
|
|
|
|
-# self.canvas.move(self.tag, self.Richtung_x, self.Richtung_y)
|
|
|
|
|
|
+ #for i in range (0,)
|
|
|
|
|
|
-# position = self.canvas.coords(self.tag)
|
|
|
|
-# if position[0] == 0:
|
|
|
|
-# self.Richtung_x = 0.5 #Geschwindigkeit nach Kollision
|
|
|
|
-# if position[1] == 0:
|
|
|
|
-# self.Richtung_y = 0.5
|
|
|
|
-# if position[2] == self.width:
|
|
|
|
-# self.Richtung_x = -0.5
|
|
|
|
-# if position[3] == self.height:
|
|
|
|
-# self.Richtung_y = -0.5
|
|
|
|
- # self.canvas.after(self.Geschwindigkeit, self.fahren)
|
|
|
|
|
|
+ # print Liste[0], Liste[1], Liste[2], Liste[3]
|
|
|
|
+ if (start_x==x0) and (start_y==y0):
|
|
|
|
+ tkMessageBox.showinfo(title="Hinweis", message="Der Rasen wurde gemaeht!")
|
|
|
|
+ sys.exit()
|
|
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-#Zeitmessung Maehvorgang
|
|
|
|
-#Startzeit
|
|
|
|
start_zeit = time.time()
|
|
start_zeit = time.time()
|
|
-#Koordinaten zwischenspeichern in Extradatei
|
|
|
|
-#input=open("Koordinaten.py").readlines()
|
|
|
|
-#x_Koordinate=[]
|
|
|
|
-#y_Koordinate=[]
|
|
|
|
-
|
|
|
|
-
|
|
|
|
|
|
|
|
Hauptfenster=tk.Tk()
|
|
Hauptfenster=tk.Tk()
|
|
Hauptfenster.title("Maehroboter")
|
|
Hauptfenster.title("Maehroboter")
|
|
Garten = tk.Canvas(Hauptfenster, bg='green', width=BREITE, height=HOEHE)
|
|
Garten = tk.Canvas(Hauptfenster, bg='green', width=BREITE, height=HOEHE)
|
|
Garten.pack()
|
|
Garten.pack()
|
|
-Roboter = Roboter(Hauptfenster, Garten, BREITE, HOEHE, 50, "Red", 2,30, 10,"Roboter")
|
|
|
|
|
|
+Roboter = Roboter(Hauptfenster, Garten, BREITE, HOEHE,50 , "Red", 2,30, 10,"Roboter")
|
|
|
|
|
|
-#Roboter.fahren()
|
|
|
|
Roboter.maehen()
|
|
Roboter.maehen()
|
|
Hauptfenster.mainloop()
|
|
Hauptfenster.mainloop()
|
|
|
|
|
|
#Endzeit
|
|
#Endzeit
|
|
end_zeit=time.time()
|
|
end_zeit=time.time()
|
|
|
|
+print "Die Maehdauer betraegt:"
|
|
print ("%.1f seconds" %(end_zeit - start_zeit))
|
|
print ("%.1f seconds" %(end_zeit - start_zeit))
|
|
|
|
|
|
|
|
|