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' mangija1="nimetu" mangija2="nimetu" kaikudeArv=0 def index_html(self): "Vaikimisi meetod" return "Tere tulemast" def alustaUus(self, REQUEST): "Uue mangu algus" self.andmed=['_', '_', '_', '_', '_', '_', '_', '_', '_'] self.kelleKord='X' self.voitja="puudub" self.mangija1="nimetu" self.mangija2="nimetu" self.kaikudeArv=0 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 kysiMangijad(self): "Mangijate andmed" return "X/"+self.mangija1+" - 0/"+self.mangija2 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.kaikudeArv=self.kaikudeArv+1 if self.kaikudeArv>2: if self.kaikudeArv % 2 == 1: if str(REQUEST.AUTHENTICATED_USER)!=self.mangija1: self.kaikudeArv=self.kaikudeArv-1 #jai tegemata return self.mangija1+" kord" else: if str(REQUEST.AUTHENTICATED_USER)!=self.mangija2: self.kaikudeArv=self.kaikudeArv-1 #jai tegemata return self.mangija2+" kord" 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.kaikudeArv==1: self.mangija1=str(REQUEST.AUTHENTICATED_USER) if self.kaikudeArv==2: self.mangija2=str(REQUEST.AUTHENTICATED_USER) print self.koikVoiduKontrollid() if self.kaikudeArv==9: if not self.koikVoiduKontrollid(): self.voitja="viik" if self.kelleKord=='X': self.kelleKord='0' else: self.kelleKord='X' #return vastus REQUEST.RESPONSE.redirect('mangulaud') InitializeClass(Trips)