In dieser Arbeit geht es darum, das Strategiespiel Käsekästchen in der Programmiersprache "C" zu konfigurieren. Es geht darum, abwechselnd zwischen Spieler 1 und Spieler 2 möglichst viele Kästchen zu erobern. Ein Kästchen ist erobert, sobald die vierte Wand um ein Kästchen platziert wird. In jedem Zug setzt ein Spieler eine Wand. Wenn ein Spieler ein Kästchen erobert hat, muss er gleich noch einen Zug tätigen und kann so gegebenenfalls ein weiteres Kästchen gewinnen. Wenn alle Wände durch Spieler 1 und Spieler 2 besetzt sind, ist das Spiel zu Ende. Derjenige, der die meisten Kästchen besetzt, ist der Gewinner des Spiels. Des Weiteren ist das Spiel auch gegen einen Roboter möglich. Im Englischen wird das Spiel "Dots and Boxes" bezeichnet.
Inhaltsverzeichnis
1. Einführung in die Thematik
1.1 Beschreibung der Aufgabe
2. Entwurf der Spielabläufe
2.1 Bildschirmdarstellung
2.2 Eingabe der Spielzüge
2.3 Feststellen des Ergebnisses – Zählen der gewonnenen Felder
3. Programm-Umsetzung
3.1 Funktion „int ZufallszahlZwischen(int low, int high)“
3.2 Funktion „void loescheSpielFeld()“
3.3 Funktion „void zeigeSpielFeld()“
3.4 Funktion „int Gewinnabfrage(int spieler)“
3.5 Funktion „int Spielende()“
3.6 Funktion „int IstFeldfrei(int iZeile, int iSpalte)“
3.7 Funktion „int EingabeToRowCol(char *Eingabe, int *Zeile, int *Spalte)“
3.8 Funktion „int iWertEingabe(char *text)“
3.9 Funktion „void kk_spiele_listen()“
3.10 Funktion „void kk_spiel_speichern()“
Zielsetzung & Themen
Das Hauptziel dieser Arbeit ist die Konfiguration und Umsetzung des Strategiespiels "Käsekästchen" (Dots and Boxes) in der Programmiersprache C, inklusive der Implementierung grundlegender Spielmechaniken, logischer Abfragen und einer Dateischnittstelle zur Speicherung von Spielergebnissen.
- Struktureller Entwurf des Spielablaufs und der Bildschirmdarstellung.
- Algorithmische Umsetzung der Gewinnabfrage und Spiellogik.
- Implementierung von Interaktionsmöglichkeiten und Benutzereingaben.
- Persistente Datenhaltung durch Speicherung und Auflistung von Ergebnissen.
Auszug aus dem Buch
Funktion „int ZufallszahlZwischen(int low, int high)“
In der Bibliothek stdlib.h gibt es die Funktion rand(), welche eine willkürliche Zufallszahl generiert und ausgibt. Die Zahl liegt zwischen 0 und einer maximalen Zahl. Möchte man den Bereich der Zufallszahl eingrenzen, kann der Modulo-Operator verwendet werden. Bevor die Zufallszahlen erstellt werden, sollte die Funktion srand() aufgerufen werden. Diese initialisiert den Zufallszahlen-Generator, um die Zufälligkeit der Zahlen zu gewährleisten.
Zusammenfassung der Kapitel
1. Einführung in die Thematik: Dieses Kapitel beschreibt die Aufgabenstellung, das Spielprinzip von Käsekästchen und die grundlegende Programmumgebung.
2. Entwurf der Spielabläufe: Hier werden die grafische Oberfläche und das Konzept für die Benutzereingaben sowie die Logik zur Punkteermittlung erläutert.
3. Programm-Umsetzung: Dieser Hauptteil detailliert die einzelnen C-Funktionen des Programms, von der Zufallszahlengenerierung bis hin zur Dateiverarbeitung für Spielergebnisse.
Schlüsselwörter
Käsekästchen, C-Programmierung, Spieletwicklung, Algorithmus, Datentypen, Array, Zufallszahlengenerator, Schleifenstruktur, Verzweigungslogik, Dateiverarbeitung, Speichermanagement, Benutzeroberfläche, Programmstruktur, Spiellogik, Dots and Boxes.
Häufig gestellte Fragen
Was ist das grundlegende Thema dieser Seminararbeit?
Gegenstand der Arbeit ist die technische Realisierung des Strategiespiels „Käsekästchen“ (international als „Dots and Boxes“ bekannt) unter Verwendung der Programmiersprache C.
Welche zentralen Themenbereiche werden behandelt?
Die Schwerpunkte liegen auf der algorithmischen Umsetzung von Spiellogiken, der Steuerung von Programmabläufen mittels Schleifen und Verzweigungen sowie der Anbindung von Dateisystemen.
Was ist das primäre Ziel der Arbeit?
Das Ziel ist die Erstellung eines voll funktionsfähigen Spielprogramms, das neben dem klassischen Spielmodus auch eine KI-Option sowie die Speicherung von Spielergebnissen bietet.
Welche wissenschaftlichen bzw. technischen Methoden kommen zum Einsatz?
Es wird eine strukturierte Softwareentwicklung angewandt, wobei die Programmabläufe grafisch durch Struktogramme dokumentiert und die Implementierung über C-Funktionen realisiert werden.
Was deckt der Hauptteil der Arbeit ab?
Der Hauptteil analysiert detailliert die implementierten Programmfunktionen, wie die Spielfeldverwaltung, die Gewinnabfrage und die Möglichkeiten zur Datenpersistenz.
Durch welche Schlüsselwörter lässt sich die Arbeit beschreiben?
Die wichtigsten Charakteristika sind C-Programmierung, Spieletwicklung, Algorithmen, Datenverarbeitung und strukturierte Programmierung.
Wie wird das Spielfeld im Speicher repräsentiert?
Das Spielfeld wird als ein Array mit 11 Zeilen und 11 Spalten abgebildet, wodurch eine 5x5-Kästchenstruktur generiert wird.
Welche Rolle spielt die Dateiverarbeitung in dem Programm?
Die Dateiverarbeitung ermöglicht es, Spielergebnisse persistent in einer Textdatei namens „spiele.txt“ zu speichern und diese zu einem späteren Zeitpunkt wieder auszugeben.
Wie verarbeitet das Programm die Benutzereingaben?
Für Zeilen und Spalten werden Zeichen (A-K für Zeilen) und Ganzzahlen (1-11 für Spalten) verwendet, die in der Funktion „EingabeToRowCol“ in interne Indizes umgewandelt werden.
- Arbeit zitieren
- Tobias Hüttig (Autor:in), 2020, Programmentwurf. Spielprogramm Käsekästchen, München, GRIN Verlag, https://www.grin.com/document/1284348