Seite 1 von 1

Snake zum millionsten Mal !

Verfasst: Freitag 2. Mai 2008, 21:45
von kaytec

Verfasst: Samstag 3. Mai 2008, 09:25
von BlackJack
Autovervollständigung ist schon was feines, oder hast Du tatsächlich `move_snale()` beide male "richtig" falsch geschrieben. :-)

Ich weiss jetzt nicht, ob die `keysym_num`-Werte plattformunabhängig sind, aber mir wäre das zu "magisch".

`snake_box` und `start_button` beide mit `grid()` ohne Argumente zu platzieren ist IMHO unschön.

Es werden GUI und Programmlogik vermischt. Insbesondere das speichern von Koordinaten und Rechnen (`move()`) mit ihnen innerhalb von `Tkinter` ist eine schlechte Idee, weil bei den ganzen Umrechnungen als Fliesskommazahlen, die innerhalb von `Tk` damit angestellt werden, Rechenungenauigkeiten auftreten können. Das war erst neulich Thema hier: Problem mit coords

Ausserdem hast Du auf diese Weise eine Menge "magischer" Konstanten im Programm.

Verfasst: Sonntag 4. Mai 2008, 16:04
von kaytec
Danke BlackJack !

Das mit dem Snale und Snake habe ich durchweg falsch gemacht - meine Freundin wollte aber ein schnelles Spiel und hat mich darauf hingewiesen, dass ich mal einen Volkshochschulkurs besuchen sollte.

Die Trennung Gui und Logik war mir schon fast klar.

Die Problematik mit den Floats ist mir schon bei der Zufallsposition fuer das Schlangenfutter aufgefallen. Schreibe es mal um und poste es.

gruss frank

Verfasst: Montag 5. Mai 2008, 14:15
von kaytec
Hallo !

Mal mit Trennung von Gui und Logik - muesste ich jetzt bei der Uebergabe alles in "int()" umwandeln ?

http://paste.pocoo.org/show/47486/

gruss frank

Verfasst: Montag 5. Mai 2008, 14:45
von BlackJack
Die Trennung sehe ich da nicht. Man kann mit der Klasse `Snake` das Spiel nicht spielen. Ausserdem werden da GUI-Koordinaten verwendet und keine Spielkoordinaten.

Verfasst: Montag 5. Mai 2008, 16:31
von kaytec
Danke BlackJack !

AHA - jetzt stehe ich gerade auf dem Schlauch. Habe eine kleine Vorahnung - nur die Umsetzung ist mir noch nicht so ganz klar. Steuerung / Spielfeld / die Zeichnung der Schlange in die Klasse Snake() und diese veraendert die Klasse Snake_Gui() ?

gruss frank

Verfasst: Montag 5. Mai 2008, 17:44
von Leonidas
Nein. ``Snake_GUI`` steuert ``Snake`` fern. Das heißt vereinfacht, du steuerst ``Snake_GUI`` und ``Snake_GUI`` steuert ``Snake``. Jedoch weiß und sollte ``Snake`` nichts davon wissen müssen, wer es steuert, ob es nun der Spieler selbst ist, oder die GUI.

Verfasst: Dienstag 6. Mai 2008, 22:22
von kaytec
Danke Leonidas !

Das Ganze ist ein(e)? MVC oder besser Control & View zusammen und noch das Modell.

Snake() = Modell
Sanke_Gui() = Control & View

Sehe ich das so richtig ?

gruss frank

Verfasst: Donnerstag 8. Mai 2008, 23:42
von kaytec
Hallo !

So naechster Versuch !

http://paste.pocoo.org/show/48740/

gruss frank

Verfasst: Donnerstag 15. Mai 2008, 21:40
von kaytec
Hallo !

Mit Highscore

http://paste.pocoo.org/show/50710/

gruss frank

Verfasst: Donnerstag 15. Mai 2008, 23:44
von audax
Hier auch noch einmal:

Code: Alles auswählen

def move_snake(self, event):
    if event.keysym_num == 65362:
        self.snake.set_move_direction(0, -10)
    elif event.keysym_num == 65364 :
        self.snake.set_move_direction(0, 10)
    elif event.keysym_num == 65363 :
        self.snake.set_move_direction(10, 0)
    elif event.keysym_num == 65361:
        self.snake.set_move_direction(-10, 0)

# Als Tabelle:

def move_snake(self, event):
    try:
        self.snake.set_move_direction(*{
            65362 : (0, -10),
            65364 : (0,  10),
            65363 : (10,  0),
            65361 : (-10, 0),
        }[event.keysym_num])
    except KeyError:
        pass

Verfasst: Donnerstag 18. September 2008, 03:51
von kaytec
Hallo !

Snake mit Wii als joypad.

http://paste.pocoo.org/show/85578/

gruss frank

edit: Beim Start an dem Wii-Controller die Tasten 1&2 druecken !

Verfasst: Donnerstag 18. September 2008, 16:07
von kaytec
Hallo !

Noch einige Veraenderungen gemacht und Vibration eingebaut.

http://paste.pocoo.org/show/85604/

gruss frank

Verfasst: Donnerstag 18. September 2008, 18:10
von sea-live
läuft das nur auf der WII konsole oder auch am pc
ich habs umgeschrieben und alle wii entfernt jetzt gehts auch auf dem pc
ohne wii

Verfasst: Donnerstag 18. September 2008, 19:01
von kaytec
Hallo Sea-Live !

Es war schon immer fuer den Pc, doch man kann es mit dem Wii-Controller spielen.

gruss frank

Verfasst: Freitag 19. September 2008, 13:58
von kaytec
Hallo !

Mit Ladungsanzeige:

http://paste.pocoo.org/show/85683/

gruss frank

Verfasst: Montag 31. August 2009, 09:18
von kaytec
Hallo !

Erster Versuch mit pygame: http://paste.pocoo.org/show/137242/

Gruß Frank

Verfasst: Dienstag 1. September 2009, 08:57
von kaytec
Hallo !

Nächster Versuch: http://paste.pocoo.org/show/137379/

Gruß Frank