//-------------TicTacToe------------- // // Autor: Niclas Vödisch // Version: 1.0 // //-------------Variablen------------- // // Teller 1 - 9: Felder des Spielfeldes // Teller 10 - 19: Konstanten von Null bis Neun // Teller 20: Auswahl des Spielfeldes // Teller 21: aktueller Spieler: 0 Nudeln -> Spieler1 (Ja); 1 Nudel -> Spieler2 (Nein) // Teller 22: Anzeige, dass Feld bereits belegt ist: 0 Nudeln -> leer; 1 Nudel -> belegt // Teller 23: Zaehler (hochzaehlend) fuer Durchgaenge pro Spiel: max. 9 // Teller 24: Anzeige, welcher Spieler gewonnen hat: 1 Nudel -> Spieler1; 2 Nudeln -> Spieler2 // Teller 25 - 26: Speicher fuer Spielstand: Teller25 -> Spieler1; Teller26 -> Spieler2 // Teller 27: Auswahl des Menuepunktes // //---------------Menue--------------- // // 1) neues Spiel starten // 2) Spielstand anzeigen // 3) Spielstand zuruecksetzen // 4) Spiel beenden // //-------------Spielfeld------------- // // Teller1 Teller2 Teller3 // // Teller4 Teller5 Teller6 // // Teller7 Teller8 Teller9 // //----------------------------------- Hole dir 27 Teller! Lege 1 Nudel auf Teller 11! Lege 2 Nudeln auf Teller 12! Lege 3 Nudeln auf Teller 13! Lege 4 Nudeln auf Teller 14! Lege 5 Nudeln auf Teller 15! Lege 6 Nudeln auf Teller 16! Lege 7 Nudeln auf Teller 17! Lege 8 Nudeln auf Teller 18! Lege 9 Nudeln auf Teller 19! Wiederhole folgendes, // Auswahl des Menuepunktes frag mich, wieviele Nudeln auf Teller 27 liegen sollen, // 1) neues Spiel starten und mache folgendes, // "nimm-Anweisungen" dienen als Reset der Startbedingungen nimm soviele Nudeln, wie auf Teller 1 liegen, von Teller 1, und nimm soviele Nudeln, wie auf Teller 2 liegen, von Teller 2, und nimm soviele Nudeln, wie auf Teller 3 liegen, von Teller 3, und nimm soviele Nudeln, wie auf Teller 4 liegen, von Teller 4, und nimm soviele Nudeln, wie auf Teller 5 liegen, von Teller 5, und nimm soviele Nudeln, wie auf Teller 6 liegen, von Teller 6, und nimm soviele Nudeln, wie auf Teller 7 liegen, von Teller 7, und nimm soviele Nudeln, wie auf Teller 8 liegen, von Teller 8, und nimm soviele Nudeln, wie auf Teller 9 liegen, von Teller 9, und nimm soviele Nudeln, wie auf Teller 20 liegen, von Teller 20, und nimm soviele Nudeln, wie auf Teller 22 liegen, von Teller 22, und nimm soviele Nudeln, wie auf Teller 23 liegen, von Teller 23, und nimm soviele Nudeln, wie auf Teller 24 liegen, von Teller 24, // Feldauswahl, Setzen des Spielsteines und Ueberpruefung auf Gewinn und wiederhole folgendes, // Ausgabe zeigt an, welcher Spieler an der Reihe ist: Ja -> Spieler1; Nein -> Spieler2 sag mir, ob Teller 21 genauso voll wie Teller 10 ist, // Auswahl des Spielfeldes inkl. Abfangen von folgenden Fehlern: // - eingegebene Zahl entspricht keinem Spielfeld (zul. Felder: 1 - 9) // - Spielfeld ist bereits belegt und wiederhole folgendes, // setze Fehlervariable auf Startwert NULL (false) nimm soviele Nudeln, wie auf Teller 22 liegen, von Teller 22, // Auswahl des Feldes und frag mich, wieviele Nudeln auf Teller 20 liegen sollen, // "lege-Anweisungen": Wenn ausgewaehltes Feld bereits belegt ist, wird Fehlervariable auf EINS (true) gesetzt und mache folgendes, lege 1 Nudel auf Teller 22, wenn Teller 20 genauso voll wie Teller 11 und Teller 1 nicht leer ist, und mache folgendes, lege 1 Nudel auf Teller 22, wenn Teller 20 genauso voll wie Teller 12 und Teller 2 nicht leer ist, und mache folgendes, lege 1 Nudel auf Teller 22, wenn Teller 20 genauso voll wie Teller 13 und Teller 3 nicht leer ist, und mache folgendes, lege 1 Nudel auf Teller 22, wenn Teller 20 genauso voll wie Teller 14 und Teller 4 nicht leer ist, und mache folgendes, lege 1 Nudel auf Teller 22, wenn Teller 20 genauso voll wie Teller 15 und Teller 5 nicht leer ist, und mache folgendes, lege 1 Nudel auf Teller 22, wenn Teller 20 genauso voll wie Teller 16 und Teller 6 nicht leer ist, und mache folgendes, lege 1 Nudel auf Teller 22, wenn Teller 20 genauso voll wie Teller 17 und Teller 7 nicht leer ist, und mache folgendes, lege 1 Nudel auf Teller 22, wenn Teller 20 genauso voll wie Teller 18 und Teller 8 nicht leer ist, und mache folgendes, lege 1 Nudel auf Teller 22, wenn Teller 20 genauso voll wie Teller 19 und Teller 9 nicht leer ist, solange Teller 20 leerer als Teller 11 // Auswahl < 1 oder Teller 20 voller als Teller 19 // Auswahl > 9 oder Teller 22 nicht leer ist, // Fehlervariable ist true // Anweisungen zum Setzen des Spielsteines fuer Spieler1 und mache folgendes, mache folgendes, lege 1 Nudel auf Teller 1, // 1 Nudel -> Spieler1; Teller 1 -> Feld 1 (links oben) und lege 1 Nudel auf Teller 23, // erhoeht Counter fuer belegte Felder wenn Teller 20 genauso voll wie Teller 11 ist, // Spieler hat Feld 1 ausgewaehlt und mache folgendes, lege 1 Nudel auf Teller 2, und lege 1 Nudel auf Teller 23, wenn Teller 20 genauso voll wie Teller 12 ist, und mache folgendes, lege 1 Nudel auf Teller 3, und lege 1 Nudel auf Teller 23, wenn Teller 20 genauso voll wie Teller 13 ist, und mache folgendes, lege 1 Nudel auf Teller 4, und lege 1 Nudel auf Teller 23, wenn Teller 20 genauso voll wie Teller 14 ist, und mache folgendes, lege 1 Nudel auf Teller 5, und lege 1 Nudel auf Teller 23, wenn Teller 20 genauso voll wie Teller 15 ist, und mache folgendes, lege 1 Nudel auf Teller 6, und lege 1 Nudel auf Teller 23, wenn Teller 20 genauso voll wie Teller 16 ist, und mache folgendes, lege 1 Nudel auf Teller 7, und lege 1 Nudel auf Teller 23, wenn Teller 20 genauso voll wie Teller 17 ist, und mache folgendes, lege 1 Nudel auf Teller 8, und lege 1 Nudel auf Teller 23, wenn Teller 20 genauso voll wie Teller 18 ist, und mache folgendes, lege 1 Nudel auf Teller 9, und lege 1 Nudel auf Teller 23, wenn Teller 20 genauso voll wie Teller 19 ist, wenn Teller 21 leer ist, // -> Spieler1 // Anweisungen fuer Setzen des Spielsteines fuer Spieler2 und mache folgendes, mache folgendes, lege 2 Nudeln auf Teller 1, und lege 1 Nudel auf Teller 23, wenn Teller 20 genauso voll wie Teller 11 ist, und mache folgendes, lege 2 Nudeln auf Teller 2, und lege 1 Nudel auf Teller 23, wenn Teller 20 genauso voll wie Teller 12 ist, und mache folgendes, lege 2 Nudeln auf Teller 3, und lege 1 Nudel auf Teller 23, wenn Teller 20 genauso voll wie Teller 13 ist, und mache folgendes, lege 2 Nudeln auf Teller 4, und lege 1 Nudel auf Teller 23, wenn Teller 20 genauso voll wie Teller 14 ist, und mache folgendes, lege 2 Nudeln auf Teller 5, und lege 1 Nudel auf Teller 23, wenn Teller 20 genauso voll wie Teller 15 ist, und mache folgendes, lege 2 Nudeln auf Teller 6, und lege 1 Nudel auf Teller 23, wenn Teller 20 genauso voll wie Teller 16 ist, und mache folgendes, lege 2 Nudeln auf Teller 7, und lege 1 Nudel auf Teller 23, wenn Teller 20 genauso voll wie Teller 17 ist, und mache folgendes, lege 2 Nudeln auf Teller 8, und lege 1 Nudel auf Teller 23, wenn Teller 20 genauso voll wie Teller 18 ist, und mache folgendes, lege 2 Nudeln auf Teller 9, und lege 1 Nudel auf Teller 23, wenn Teller 20 genauso voll wie Teller 19 ist, wenn Teller 21 nicht leer ist, // -> Spieler2 // Ausgabe des aktuellen Spielfeldes und sag mir, wieviele Nudeln auf Teller 1 liegen, und sag mir, wieviele Nudeln auf Teller 2 liegen, und sag mir, wieviele Nudeln auf Teller 3 liegen, und sag mir, wieviele Nudeln auf Teller 4 liegen, und sag mir, wieviele Nudeln auf Teller 5 liegen, und sag mir, wieviele Nudeln auf Teller 6 liegen, und sag mir, wieviele Nudeln auf Teller 7 liegen, und sag mir, wieviele Nudeln auf Teller 8 liegen, und sag mir, wieviele Nudeln auf Teller 9 liegen, // Reset der Variable zur Feldauswahl und nimm soviele Nudeln, wie auf Teller 20 liegen, von Teller 20, // Wechselt den Spieler, der als naechstes an der Reihe ist und lege 1 Nudel auf Teller 21, und mache folgendes, nimm 2 Nudeln von Teller 21, wenn Teller 21 genauso voll wie Teller 12 ist, // Gewinnbedingungen und mache folgendes, // Anzahl der Nudeln auf Teller24 entspricht Nummer des Gewinners (1 oder 2) lege soviele Nudeln, wie auf Teller 1 liegen, auf Teller 24, wenn Teller 1 nicht leer // Erste Zeile ist gleich und Teller 1 genauso voll wie Teller 2 // und Teller 2 genauso voll wie Teller 3 ist, // und mache folgendes, lege soviele Nudeln, wie auf Teller 4 liegen, auf Teller 24, wenn Teller 4 nicht leer // Zweite Zeile und Teller 4 genauso voll wie Teller 5 // und Teller 5 genauso voll wie Teller 6 ist, // und mache folgendes, lege soviele Nudeln, wie auf Teller 7 liegen, auf Teller 24, wenn Teller 7 nicht leer // Dritte Zeile und Teller 7 genauso voll wie Teller 8 // und Teller 8 genauso voll wie Teller 9 ist, // und mache folgendes, lege soviele Nudeln, wie auf Teller 1 liegen, auf Teller 24, wenn Teller 1 nicht leer // Erste Spalte und Teller 1 genauso voll wie Teller 4 // und Teller 4 genauso voll wie Teller 7 ist, // und mache folgendes, lege soviele Nudeln, wie auf Teller 2 liegen, auf Teller 24, wenn Teller 2 nicht leer // Zweite Spalte und Teller 2 genauso voll wie Teller 5 // und Teller 5 genauso voll wie Teller 8 ist, // und mache folgendes, lege soviele Nudeln, wie auf Teller 3 liegen, auf Teller 24, wenn Teller 3 nicht leer // Dritte Spalte und Teller 3 genauso voll wie Teller 6 // und Teller 6 genauso voll wie Teller 9 ist, // und mache folgendes, lege soviele Nudeln, wie auf Teller 1 liegen, auf Teller 24, wenn Teller 1 nicht leer // Links oben nach rechts unten und Teller 1 genauso voll wie Teller 5 // und Teller 5 genauso voll wie Teller 9 ist, // und mache folgendes, lege soviele Nudeln, wie auf Teller 1 liegen, auf Teller 24, wenn Teller 3 nicht leer // Rechts oben nach links unten und Teller 3 genauso voll wie Teller 5 // und Teller 5 genauso voll wie Teller 7 ist, // solange Teller 23 nicht genauso voll wie Teller 19 // Anzahl der Durchgaenge ist max. 9 und Teller 24 leer ist, // Spieler gewinnt vorzeitig // Ausgabe: "Ja" -> Sieg eines Spielers und mache folgendes, sag mir, ob Teller 24 genauso voll wie Teller 24 ist, // Anzahl der Nudeln entspricht Spieler (1 oder 2) und sag mir, wieviele Nudeln auf Teller 24 liegen, // Erhoehe Spielstand fuer Spieler1 und mache folgendes, lege 1 Nudel auf Teller 25, wenn Teller 24 genauso voll wie Teller 11 ist, // Erhoehe Spielstand fuer Spieler2 und mache folgendes, lege 1 Nudel auf Teller 26, wenn Teller 24 genauso voll wie Teller 12 ist, wenn Teller 24 nicht leer ist, // Ausgabe: "Nein" -> Unentschieden und mache folgendes, sag mir, ob Teller 24 genauso voll wie Teller 11 ist, wenn Teller 24 leer ist, wenn Teller 27 genauso voll wie Teller 11 ist, // 2) Spielstand anzeigen und mache folgendes, sag mir, wieviele Nudeln auf Teller 25 liegen, // Spieler1 und sag mir, wieviele Nudeln auf Teller 26 liegen, // Spieler2 wenn Teller 27 genauso voll wie Teller 12 ist, // 3) Spielstand zuruecksetzen und mache folgendes, // loescht Spielstand von Spieler1 nimm soviele Nudeln, wie auf Teller 25 liegen, von Teller 25, // loescht Spielstand von Spieler2 und nimm soviele Nudeln, wie auf Teller 26 liegen, von Teller 26, // setzt Spieler, der an der Reihe ist, zurueck und nimm soviele Nudeln, wie auf Teller 21 liegen, von Teller 21, wenn Teller 27 genauso voll wie Teller 13 ist, // 4) Spiel beenden solange Teller 27 nicht genauso voll wie Teller 14 ist! Bis bald!