def __init__(self): self.feldObjekt= Feld([], []) self.feldObjekt.anfang() Spiel.registriere_maus_gedrueckt(self.maus_gedrueckt) Spiel.setze_aktualisierung(self.aktualisieren) self.rechteckListe = [] self.anfang = True self.an_feld = None self.ziel_feld = None self.weiss = True self.figuren_g = [] self.mensch = True
class Grafik(object): def __init__(self): self.feldObjekt= Feld([], []) self.feldObjekt.anfang() Spiel.registriere_maus_gedrueckt(self.maus_gedrueckt) Spiel.setze_aktualisierung(self.aktualisieren) self.rechteckListe = [] self.anfang = True self.an_feld = None self.ziel_feld = None self.weiss = True self.figuren_g = [] self.mensch = True def feldErstellen(self): rechteckListe = [] for x in range(8): for y in range(8): if x %2 == 0 and y%2 == 0 or x %2 != 0 and y %2 !=0: box = Rechteck(x*50, y*50, 50, 50, WEISS) else: box = Rechteck(x*50, y*50, 50, 50, SCHWARZ) rechteckListe.append(box) self.rechteckListe = rechteckListe def figuren_erstellen_2(self, feld): for figur in self.figuren_g: figur.selbst_entfernen() self.figuren_g = [] hoch = 7 breit = 0 while True: if feld[breit][hoch] != "O": self.figuren_g.append(Text(feld[breit][hoch], breit * 50, self.brett_spiegeln(hoch) *50, Schrift(50),ROT)) breit += 1 if breit == 7 and hoch == 0: if feld[breit][hoch] != "O": self.figuren_g.append(Text(feld[breit][hoch], breit * 50, self.brett_spiegeln(hoch) *50, Schrift(50),ROT)) break if hoch < 0: hoch = 7 if breit > 7: print() breit = 0 hoch -= 1 def brett_spiegeln(self, zahl): if zahl == 0: return 7 elif zahl == 1: return 6 elif zahl == 2: return 5 elif zahl == 3: return 4 elif zahl == 4: return 3 elif zahl == 5: return 2 elif zahl == 6: return 1 elif zahl == 7: return 0 def figuren_erstellen(self, figuren): for figur in self.figuren_g: figur.selbst_entfernen() self.figuren_g = [] for figur in figuren: if not figur.geschlagen: self.figuren_g.append(Text(figur.zeichen, figur.posXan * 50, figur.posYan *50, Schrift(50),ROT)) # Wird aufgerufen, immer wenn die Maus gedrueckt (geklickt) wird def maus_gedrueckt(self, pyg_event): maus_position = pyg_event.pos if self.mensch: for feld in self.rechteckListe : if feld.punkt_in_rechteck(maus_position)and self.anfang: self.an_feld = feld self.anfang = False elif feld.punkt_in_rechteck(maus_position) and not self.anfang: self.ziel_feld = feld if self.ziel_feld and self.an_feld: moeglich = self.feldObjekt.zug_mit_xy(self.an_feld.x // 50,\ self.brett_spiegeln(self.an_feld.y // 50), \ self.ziel_feld.x // 50,\ self.brett_spiegeln(self.ziel_feld.y // 50), self.weiss) self.feldObjekt.ausgabe() mattObjekt = Matt(deepcopy(self.feldObjekt.spielListe)) if self.weiss: deinKoenig = 32 else: deinKoenig = 31 if mattObjekt.matt(deinKoenig): print("Matt") if moeglich: self.figuren_erstellen_2(self.feldObjekt.feld) self.mensch = False self.weiss = False self.an_feld = None self.ziel_feld = None self.anfang = True def aktualisieren(self, dt): if not self.mensch: self.feldObjekt.comp_zug(self.weiss) self.figuren_erstellen_2(self.feldObjekt.feld) self.feldObjekt.ausgabe() self.mensch = True self.weiss = True