008
31.07.2009, 08:38 Uhr
Hans
Library Walker (Operator)
|
Moin,
also ein Tutorial kenne ich nicht, aber die naive Vorgehensweise ist wohl: Man nehme sich die Spielanleitung für ein Spiel das einem gefällt, und versuche, diese irgendwie in Code umzusetzen. Nehmen wir zum Beispiel mal Mühle: als erstes malt man ein Spielfeld, etwa so:
Code: |
+-----------------------+------------------------+ | | | | | | | | | | +------------------+------------------+ | | | | | | | | | | | | | | | | | | +------------+------------+ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +----+-----+ +-----+-----+ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | +------------+------------+ | | | | | | | | | | | | | | | | | | +------------------+------------------+ | | | | | | | | | | +-----------------------+------------------------+
|
dann werden den Spielern die Steine "gegeben", und man fängt an sie auf das Spielfeld zu setzen. Da wäre dann die Frage zu klären, wie man die Felder, d.h. die Stellen, an denen ein Spielstein sein kann, bezeichnet, um z.B. per Tastatureingabe einen Stein zu setzen, oder zu bewegen. Oder macht man alles per Mauseingabe? Dann ist die Frage zu klären, wie man die Daten intern verwaltet, d.h. wie das Spielfeld in einer Datenstruktur repräsentiert wird, mit der man im weiteren Verlauf des Programms arbeiten kann. Denn es müssen die Positionen der Steine zueinander untersucht werden, ob irgendwo eine Mühle ist oder nicht, und wenn ja, welchem Spieler sie zuzuordnen ist. - Schliesslich verliert der Gegner dann ja einen Spielstein. Dann müssen Spielzüge auf ihre Gültigkeit überprüft werden; - es kann ja immer nur ein Stein, jeweils ein Feld weiter bewegt werden. Schliesslich ist immer wieder zu prüfen, ob ein Spieler noch genügend Spielsteine hat, in diesem Fall mindestens 3. Dabei fällt mir gerade auf: diese Prüfung braucht nur stattfinden, wenn ein Stein vom Spielfeld entfernt wurde. Wenn das Programm bis dahin steht, und man das Spiel auch spielen kann, dann (und zwar erst dann) kann man sich Gimmicks überlegen, wie z.B. alle Spielzüge in einer Liste aufzuzeichen, die man sich hinterher in aller Ruhe noch mal ansehen kann, um den Spielverlauf noch mal nachzuvollziehen, und zu sehen warum man verloren hat. - Hier, für dieses Gimmick bietet sich eine doppelt verkettete Liste an, weil man da alle Spielzüge eintragen kann, und in dieser von beliebigen Positionen vorwärts und rückwärts durchgehen kann. Aber was für eine Struktur das Spiefeld haben soll, weis ich auch (noch) nicht so recht. Meine erste Idee wäre ein zweidimensionales Feld, also etwa spielfeld[x][y]; was aber auch ein paar Haken und Ösen hat. Als nächstes fallen mir dazu Graphen ein. Die erfordern aber spezielle Informatikkenntnisse, mit denen man sich im Vorfeld herum ärgern muss. - Obwohl: Dazu gibt es auch ein paar Bücher die die Sache nicht so sehr von der mathematischen Seite her erklären. Wahrscheinlich ergibt sich bei der Beschäftigung mit Graphenalgorithmen eine Möglichkeit, sowohl das Spielfeld, als auch die Spielregeln in Datenstrukturen und Algorithmen zu "verpacken", die das Spiel dann auch am PC spielbar machen.
Während ich das hier schreibe, wächst bei mir der Eindruck, das es für den Anfang einfacher zu sein scheint, erst mal eine Kniffelvariante zu erarbeiten, weil man es da "nur" mit Zufallszahlen zu tun hat, wobei bestimmte Kombinationen (Pasch, Strasse, etc.) zu suchen und in einer Tabelle einzutragen sind.
Soweit erst mal dazu. Um das Thema zu vertiefen, sollte man einen neuen Thread anfangen.
Hans -- Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung. Dieser Post wurde am 31.07.2009 um 08:56 Uhr von Hans editiert. |