#! /usr/local/bin/python

# BEREINIGTE VERSION !!!!!

from roboter_C import *

class Roboter_Modell_S(Roboter_Modell_C):
   def __init__(self,welt):
      Roboter_Modell_C.__init__(self,welt)                  

   def Stadion_links_gefunden(self):
      return not self.links_frei()
      
   def Stadion_rechts_gefunden(self):
      return not self.rechts_frei()
      
   def gehe_rechtssuchend(self):
      while self.rechts_frei() and self.vorne_frei():
         self.vor()

   def gehe_linkssuchend(self):
      while self.links_frei() and self.vorne_frei():
         self.vor()

   def markiere_dein_Heim(self):
      self.gib()

   def suche_das_Stadion(self):
      self.gehe_linkssuchend()
      while not self.Stadion_links_gefunden():
         self.Linkskurve()
         self.gehe_rechtssuchend()
         if self.Stadion_rechts_gefunden():
            self.kehrt()
            break
         else:
            self.Rechtskurve()
            self.gehe_linkssuchend()
   
   def Eingang_gefunden(self):
      self.vor()
      Zustand=self.links_frei()
      self.kehrt()
      self.vor()
      self.kehrt()
      return Zustand

   def suche_den_Eingang(self):
      while 1:
         while not self.links_frei():
            self.vor()
         self.links()
         self.vor()
         if self.Eingang_gefunden():
            break

   def drehe_eine_Runde(self):
      self.vor(); self.rechts()
      self.vor_bis_Hindernis()
      self.links()
      self.vor_bis_Hindernis()
      self.links()
      self.vor_bis_Hindernis()
      self.links()
      self.vor_bis_Hindernis()
      self.links()
      while not self.rechts_frei():
         self.vor()
      self.rechts()

   def gehe_nach_Hause(self):
      self.vor_bis_Hindernis()
      self.links()
      while self.Feld_leer():
         self.vor_bis_Hindernis()
         self.links()
      pass

meine_Welt=Welt("stadion.welt")
mein_Roboter=Roboter_Modell_S(meine_Welt)

mein_Roboter.markiere_dein_Heim()
mein_Roboter.suche_das_Stadion()
mein_Roboter.suche_den_Eingang()
mein_Roboter.drehe_eine_Runde()
mein_Roboter.gehe_nach_Hause()

Tkinter.mainloop()

