class Biljardipeli(Widget): def __init__(self, pallot): super(Biljardipeli, self).__init__() self.pelaajat = Pelaajat() self.lisaakiihtyvyydet = LisaaKiihtyvyydet() self.nopeusVerlet = VelocityVerlet(LautaData.dt) self.seina = Seina() self.reiat = Reiat() self.keppi = Keppi() self.pallot = pallot #self.piirtoalusta = PiirtoAlusta(); #self.piirtoalusta.set_peli(self.biljardipeli) self.jatka = True self.pallotliikkuu = True #self.piirtoalusta.piirra_keppi() def juokse(self): while (self.jatka): # ammutaan lyöntipallo #setDelay(1); print "jatketaan...", self.nopeusVerlet.getMaxSiirtyma( ), self.pallot.suurinNopeus() self.reiat.resetoiReiat() while (self.pallotliikkuu and self.jatka): #self.pallot.update_child() #print "loopissa...",self.nopeusVerlet.getMaxSiirtyma(),self.pallot.suurinNopeus(), self.pallot.suurinKiihtyvyys(), self.pallot.getPallotArray()[2].x self.pallot.nollaaKiihtyvyydet() print "before", self.pallot.getPallotArray( )[0].x, self.pallot.getPallotArray()[0].y #self.lisaakiihtyvyydet.lisaaCoulombKiihtyvyydetBiljardiPallot( # self.pallot); self.lisaakiihtyvyydet.lisaaHardCoreKiihtyvyydet(self.pallot) #self.lisaakiihtyvyydet.lisaaKitka(self.pallot); self.nopeusVerlet.PaivitaVelocityVerlet(self.pallot) print "after", self.pallot.getPallotArray( )[0].x, self.pallot.getPallotArray()[0].y self.seina.VaihdaLiikemaara(self.pallot) self.reiat.setEkanaReiassa(self.pallot) self.reiat.lisaaReikiinMenneet(self.pallot) self.pelaajat.alkaakoYrittaaMustaa(self.reiat) self.reiat.tapaNormiPallot(self.pallot) self.jatka = self.reiat.tarkastaPallo( self.pallot.getMustaPallo()) if (not (self.reiat.tarkastaPallo( self.pallot.getLyontiPallo()))): self.pallot.arvoLyontiPallonPaikka(0, 0, LautaData.MaxLautaX, LautaData.MaxLautaY, 0.20) self.pallotliikkuu = False self.pallot.nollaaNopeudet() # tutkitaan mitä tapahtui self.jatka = self.pelaajat.tarkastaTilanne( self.reiat, self.pallot) elif ((self.nopeusVerlet.getMaxSiirtyma() < LautaData.maxSiirtyma) and (self.pallot.suurinNopeus() < LautaData.maxNopeus)): self.pallotliikkuu = False self.pallot.nollaaNopeudet() self.nopeusVerlet.setMaxSiirtyma(1.0) # tutkitaan mitä tapahtui self.jatka = self.pelaajat.tarkastaTilanne( self.reiat, self.pallot) #sys.exit() # nollataan reikien tilanne uutta lyöntiä varten self.jatka = self.pelaajat.tarkastaTilanne(self.reiat, self.pallot) def getPallot(self): return self.pallot def getPelaajat(self): return self.pelaajat def getKeppi(self): return self.keppi def getReiat(self): return self.reiat def getPallotLiikkuu(self): return self.pallotliikkuu def setPallotLiikkuu(self, pallotliikkuu): self.pallotliikkuu = pallotliikkuu def getJatka(self): return self.jatka def setPaivitettava(self, paivitettava): self.paivitettava = paivitettava