Exemple #1
0
 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
Exemple #2
0
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