コード例 #1
0
ファイル: KoSy.py プロジェクト: huegit/q11
        self.masunten = box(frame=self, pos=(0,-50,0), size=(100,.5,.5),
                            axis=axis, color=color)

class maßbandy(frame):
    def __init__(self, pos, axis, color=color.black):
        frame.__init__(self, pos=pos, axis=axis)
        self.pos = pos
        self.axis = axis
        self.color = color

        self.masunten = box(frame=self, pos=(0,50,0), size=(.5,100,.5),
                            axis=axis, color=color)
     
    

if __name__ == "__main__":

    my1 = maßbandy((0,0,0), (0,1,0))
    my2 = maßbandy((25,0,0), (0,1,0))
    my3 = maßbandy((50,0,0), (0,1,0))
    my4 = maßbandy((75,0,0), (0,1,0))
    my5 = maßbandy((100,0,0), (0,1,0))
    mx1 = maßbandx((0,0,0), (1,0,0))
    mx2 = maßbandx((0,25,0), (1,0,0))
    mx3 = maßbandx((0,50,0), (1,0,0))
    mx4 = maßbandx((0,75,0), (1,0,0))
    mx5 = maßbandx((0,100,0), (1,0,0))
    s = Spielbrett()
    s.animation()
コード例 #2
0
ファイル: mainprogram.py プロジェクト: huegit/q11
    def spielstart(self):   # Spielroutine
        "Hauptmethode, steuert Spiel und Zugroutinen"
        
        self.listeKontinente.sort(key=self.sort_k)      # Kontinente werden nach Name sortiert
        root=Tk()

        
        while True:         # Anfangsschleife für S hinzufügen
            try:            # veruche folgendes

                    def spieler_einfuegen(event):
                        "Methode um S einzufügen"
                        spielername.config(state=DISABLED)
                        
                        name = spielername.get() # Speichere aktuelle Eingabe unter Name
                        
                        if name == "":          # Wenn keine Eingabe
                            spielerl.insert(END, "Bitte Name eingeben!\n")  # bitte Eingabe erscheint im Fenster
                            return              # Ende der Fkt
                        if name.count(" ") == len(name):    # Wenn nur Leerzeichen (HaHaHa)
                            spielerl.insert(END, "Bitte gültigen Namen eingeben!\n")    # bitte korrekte Eingabe erscheint im Fenster
                            spielername.delete(0,END)       # Eingabe wird entfernt
                            return              # Ende der Fkt.
                        farbe_waehlen()

                    def kulanz_test(name, farbe):
                        aktname = None
                        aktnamezahl = 0

                        for i in self.listeSpieler:
                            if i.name == name:
                                aktnamezahl += 1 
                            else:
                                pass
                            
                        if aktnamezahl >= 1:
                                spielerl.insert(END, "Name bereits vergeben!\n")
                        else:
                            self.listeSpieler.append(Spieler(name=name, farbe=farbe))
                            spielerl.insert(END, "Spieler "+name+" hinzugefügt!\n")

                    def weiter():
                        "Wenn keine Spieler mehr eingefügt werden sollen"
                        if len(self.listeSpieler) > 0:  # wenn mehr als ein S vorhanden sind
                            root.destroy()              # Fenster wird zerstört (sehr brutal)
                        else:                           # wenn kein S vorhanden
                            spielerl.insert(END, "Vor Start bitte Name eingeben!\n")    # Bitte S hinzufügen erscheint im Fenster

                    def farbe_waehlen():                      
                        global rot
                        global blau
                        global gruen
                        global gelb
                        global lila
                        global weiss
                        
                        rot   = Button(root, text="Rot wählen", command = farbe_zuweisen_rot, width=20, background="red")
                        rot.grid(row=2, sticky=W)
                        blau  = Button(root, text="Blau wählen", command = farbe_zuweisen_blau, width=20, background="blue")
                        blau.grid(row=2, sticky=E)
                        gruen = Button(root, text="Grün wählen", command = farbe_zuweisen_gruen, width=20, background="green")
                        gruen.grid(row=3, sticky=W)
                        gelb  = Button(root, text="Gelb wählen", command = farbe_zuweisen_gelb, width=20, background="yellow")
                        gelb.grid(row=3, sticky=E)
                        lila  = Button(root, text="Lila wählen", command = farbe_zuweisen_lila, width=20, background="purple")
                        lila.grid(row=4, sticky=W)
                        weiss = Button(root, text="Weiss wählen", command = farbe_zuweisen_weiss, width=20, background="white")
                        weiss.grid(row=4, sticky=E)
                        spielerl.insert(END, "Bitte Farbe wählen!\n")

                    def farbe_zuweisen_rot():
                        aktname = spielername.get() # Speichere aktuelle Eingabe unter Name
                        kulanz_test(aktname, color.red)
                        farbe_ende()
                    def farbe_zuweisen_blau():
                        aktname = spielername.get() # Speichere aktuelle Eingabe unter Name
                        kulanz_test(aktname, color.blue)
                        farbe_ende()
                    def farbe_zuweisen_gruen():
                        aktname = spielername.get() # Speichere aktuelle Eingabe unter Name
                        kulanz_test(aktname, color.green)
                        farbe_ende()
                    def farbe_zuweisen_gelb():
                        aktname = spielername.get() # Speichere aktuelle Eingabe unter Name
                        kulanz_test(aktname, color.yellow)
                        farbe_ende()
                    def farbe_zuweisen_lila():
                        aktname = spielername.get() # Speichere aktuelle Eingabe unter Name
                        kulanz_test(aktname, color.magenta)
                        farbe_ende()
                    def farbe_zuweisen_weiss():
                        aktname = spielername.get() # Speichere aktuelle Eingabe unter Name
                        kulanz_test(aktname, color.white)
                        farbe_ende()
                        
                    def farbe_ende():
                        spielerl.see(END)
                        starten.config(state=NORMAL)
                        rot.destroy()
                        blau.destroy()
                        gruen.destroy()
                        gelb.destroy()
                        lila.destroy()
                        weiss.destroy()
                        spielername.config(state=NORMAL)
                        spielername.delete(0,END)   # Eingabe wird entfernt
                        
                    Label(root, text="Name eingeben:").grid(row=1, sticky=W)    # Schriftzug neben dem Eingabefeld
                    spielerl = Text(root, height=5, width=40)                   # Ausgabefenster
                    spielerl.grid(row=0)                                        # wird positioniert
                    spielername = Entry(root)                                   # Eingabefeld
                    spielername.bind("<Return>", spieler_einfuegen)             # wird an Eingabetaste gebunden
                    spielername.grid(row=1, sticky=E)                           # und positioniert

                    starten     = Button(root, text="Spiel starten", command = weiter, width=20, state=DISABLED) # Startbutton, ist an weiter() gebunden
                    starten.grid(row=5, sticky=W)
                    ende        = Button(root, text="Spiel beenden", command = exit, width=20)       # Endebutton, beendet Spiel
                    ende.grid(row=5, sticky=E)

                    root.mainloop()     # Fenster wird erstellt (mit allen Knöpfen Eingabe/Ausgabefeldern etc. , muss immer am Ende stehen
                    
            except TclError:            # wenn Fehler das Fenster nicht mehr existiert (nach Fenster zerstören, siehe weiter())
                    break               # breche Schleife ab, gehe weiter im Programm
        

        zaehler = 0     # definition Zähler
        
        self.karte = Spielbrett()   # Spielbrett ist karte des Controllers
        self.gui   = Konsole()      # Konsole ist GUI des Controllers
        
        
        while True:         # Hauptschleife, Spiel an sich

            self.karte.animation()  # coole Zoom/Schwenkanimation
            
            zaehler = zaehler+1     # Zähler + 1

            aktuellerSpieler = self.listeSpieler[zaehler%(len(self.listeSpieler))-1]    # aktueller S wird bestimmt
            if zaehler == 1:                            # erste Runde
                aktuellerSpieler.land_erobern()         # land_erobern wird ausgeführt (Testzweck)
                self.karte.land_waehlen()               # Methode um bestimmtes L auszuwählen
                aktuellerSpieler.kontinent_bekommen()   # kontinent_bekommen wird ausgeführt (fest)
                aktuellerSpieler.armeen_setzten(29, brasilien)  # 29 Figuren werden in Brasilien positioniert
                aktuellerSpieler.armeen_setzten(100, neuguinea) # 100 Figuren werden in Neu-Guinea positioniert
            print(aktuellerSpieler)                     # Ausgabe aktueller S
            aktuellerSpieler.armeen_bekommen()          # aktueller S bekommt A
            aktuellerSpieler.karten_eintauschen()       # aktueller S kann Karten tauschen ( in entwicklung)

            self.karte.animation_back()                 # coole Animation rückwärts

            if zaehler == 6:                            # nach 6 Spielzügen bricht das Spiel ab
                break