from Globals import InitializeClass, DTMLFile, Persistent from OFS.Folder import Folder def lisamisKonstruktor(lisaja): "Uus tervitaja" lisaja.Destination()._setObject("tripsumang", Trips()) return "Lisatud trips" class Trips(Folder, Persistent): "Pysivate andmetega klass" meta_type="Trips1" andmed=['_', '_', '_', '_', '_', '_', '_', '_', '_'] kelleKord='X' def index_html(self): "Vaikimisi meetod" return "Tere tulemast" def alustaUus(self, REQUEST): "Uue mangu algus" self.andmed=['_', '_', '_', '_', '_', '_', '_', '_', '_'] self.kelleKord='X' self.voitja="puudub" REQUEST.RESPONSE.redirect('mangulaud') #return "Alustati uus" def kysiVoitja(self): "V6itja symbol" return self.voitja def kysiSymbol(self, koht): "Symbol ruudustikus" return self.andmed[int(koht)] def voiduKontroll(self, koht1, koht2, koht3, kes): "Teade, kas viimatine k8ija v6itis" if self.andmed[koht1]!=kes: return 0 if self.andmed[koht1]==self.andmed[koht2] and \ self.andmed[koht2]==self.andmed[koht3]: return 1 return 0 def koikVoiduKontrollid(self): "Kui kasv6i yks v6itev kombinatsioon, siis v6itnud" if self.voiduKontroll(0, 1, 2, self.kelleKord): return 1 if self.voiduKontroll(3, 4, 5, self.kelleKord): return 1 if self.voiduKontroll(6, 7, 8, self.kelleKord): return 1 if self.voiduKontroll(0, 3, 6, self.kelleKord): return 1 if self.voiduKontroll(1, 4, 7, self.kelleKord): return 1 if self.voiduKontroll(2, 5, 8, self.kelleKord): return 1 if self.voiduKontroll(0, 4, 8, self.kelleKord): return 1 if self.voiduKontroll(2, 4, 6, self.kelleKord): return 1 return 0 def vajutus(self, REQUEST, koht): "Viitele reageerimine" if(self.andmed[int(koht)]!='_'): return "Koht "+koht+" juba kinni!" self.andmed[int(koht)]=self.kelleKord self.andmed=self.andmed vastus="Kohale "+koht+" kirjutati "+self.kelleKord if self.koikVoiduKontrollid(): self.voitja=self.kelleKord if self.kelleKord=='X': self.kelleKord='0' else: self.kelleKord='X' #return vastus REQUEST.RESPONSE.redirect('mangulaud') InitializeClass(Trips)