2009-03-12 25 views
7

Ich habe mit dem Schreiben einiger einfacher Kartenspiele in Python zum Spaß gespielt und ich würde gerne eine grafische Benutzeroberfläche (GUI) zu den Spielen hinzufügen. Welche Bibliothek würdest du zum Schreiben der GUI für ein einfaches Kartenspiel empfehlen?wxPython oder pygame für ein einfaches Kartenspiel?

Antwort

6

Wenn alles, was Sie wollen, eine GUI ist, sollte WxPython den Trick machen.

Wenn Sie Sound, Controller-Eingabe hinzufügen und es über ein einfaches Kartenspiel hinaus nehmen möchten, dann sollten Sie pygame verwenden.

1

Ich würde sagen pygame - ich habe gehört, es ist viel Spaß, einfach und glücklich. Auch alle meine Erfahrungen mit WxPython waren sehr schmerzhaft.

Aber ich bin keine Voreingenommenheit oder irgendetwas.

4

Ich habe nicht wxPython verwendet, aber Pygame selbst ist eher Low-Level. Es ermöglicht Ihnen, Tastenbetätigungen, Mausereignisse und Zeichen auf dem Bildschirm zu erfassen, bietet jedoch keine vorgefertigten GUI-Steuerelemente. Wenn Sie Pygame verwenden, müssen Sie entweder eigene GUI-Klassen schreiben oder vorhandene GUI-Erweiterungen für Pygame verwenden, z. B. Phil's Pygame Utilities.

2

Allgemeinen PyGame die Option Spiele für die Codierung besser. Aber das ist für die häufigere Art von Spielen - wo Dinge auf dem Bildschirm bewegen und Sie müssen eine gute "Bildrate" Leistung haben.

Für etwas wie ein Kartenspiel würde ich jedoch mit wxPython (oder besser PyQt) gehen. Dies liegt daran, dass ein Kartenspiel nicht viel Grafik hat (das Zeichnen von 2D-Kartenformen auf dem Bildschirm ist in wx/PyQt nicht schwieriger als in PyGame). Und auf der anderen Seite erhalten Sie viele Vorteile von wx - wie eine fertige GUI für die Interaktion.

In Pygame müssen Sie selbst eine GUI erstellen oder durch mehrere unfertige Bibliotheken waten, die das für Sie tun. Das ist für Pygame eigentlich sinnvoll, denn wenn Sie ein Spiel erstellen, möchten Sie normalerweise eine eigene Benutzeroberfläche, die zum Stil des Spiels passt. Aber für Kartenspiele, die meisten Chancen sind, dass wx Standard-GUI-Widgets den Trick machen und sparen Sie Stunden der Programmierung.

+0

Es ist interessant, dass Sie vorgeschlagen haben, 2D-Kartenformen zu zeichnen. Ich dachte daran, Bilder von Karten zu verwenden, um die Karten darzustellen. Gibt es Vorteile beim Zeichnen von Kartenformen im Vergleich zur Verwendung von Bildern? – adam

+0

@adam: zwei Vorteile. (1) Sie lernen, nichttriviale Formen zu zeichnen. (2) Sie können die Karten so gestalten, wie Sie es möchten, nicht an ein bestimmtes Bild gebunden. –