WinFuture-Forum.de: C++ Tic Tac Toe - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

C++ Tic Tac Toe


#1 Mitglied ist offline   MrNiceGuy 

  • Gruppe: aktive Mitglieder
  • Beiträge: 181
  • Beigetreten: 29. September 13
  • Reputation: 1
  • Geschlecht:Männlich

geschrieben 18. Januar 2015 - 20:32

Hallo zusammen,
ich habe mich mal an C++ gewagt und mein erstes Spiel programmiert.
Der Quellcode kommt mir noch ziemlich lang vor, daher wäre ich für eure Tipps sehr dankbar.
Bitte berücksichtigt, dass ich erst ein Anfänger bin :rolleyes:

Zum Spiel es gibt 2 Modi (Spieler gegen Spieler & Spieler gegen Computer). An den Modus "Spieler gegen Computer" wage ich mich noch nicht mit meinen Kenntnissen, also ignoriert diesen Teil. Der Rest erklärt sich meiner Meinung nach selbst, schaut selbst..

Falls jemand Lesestoff zum Thema C++ empfehlen kann, immer her damit :wink:

#include <iostream>
#include <stdlib.h>
#include <time.h>

using namespace std;

int main()
{
	int zzahl; // Zufallszahl zwischen 1-2, entscheidet welcher Spieler beginnt
	int zeile;
	int spalte;
	char feld[9];
	char ZeichenSpieler1;
	char ZeichenSpieler2;
	bool game;
	bool playerchoice;

	feld[0] = ' ';
	feld[1] = ' ';
	feld[2] = ' ';
	feld[3] = ' ';
	feld[4] = ' ';
	feld[5] = ' ';
	feld[6] = ' ';
	feld[7] = ' ';
	feld[8] = ' ';
	game = true;
	playerchoice = true;

	while (game == true)
	{
		cout << "Willkommen im Spiel TikTakTow" << endl << endl;

		cout << "Spielfeld" << endl << endl
			<< " " << feld[0] << " | " << feld[1] << " | " << feld[2] << " " << endl
			<< "---|---|---" << endl
			<< " " << feld[3] << " | " << feld[4] << " | " << feld[5] << " " << endl
			<< "---|---|---" << endl
			<< " " << feld[6] << " | " << feld[7] << " | " << feld[8] << " " << endl << endl;

		cout << "Welches Zeichen moechten Sie verwenden [X] oder [O]?" << endl << endl
			<< "Ihre Eingabe: ";
		cin >> ZeichenSpieler1;
		if (ZeichenSpieler1 == 'X' || ZeichenSpieler1 == 'x')
		{
			ZeichenSpieler1 = 'X';
			ZeichenSpieler2 = 'O';
		}
		if (ZeichenSpieler1 == 'O' || ZeichenSpieler1 == 'o')
		{
			ZeichenSpieler1 = 'O';
			ZeichenSpieler2 = 'X';
		}

		cout << "[1] Spieler gegen Spieler" << endl
			<< "[2] Spieler gegen Computer" << endl << endl
			<< "[0] Spiel beenden" << endl << endl;

		int auswahlmenue;
		cout << "Ihre Eingabe: ";
		cin >> auswahlmenue;
		switch (auswahlmenue)
		{
		case 1:
			cout << "Sie haben Spieler gegen Spieler gewaehlt" << endl << endl;
			srand(time(0));
			zzahl = rand() % 2 + 1;
			cout << "Der Zufall hat entschieden, Spieler " << zzahl << " faengt an." << endl << endl;
			cout << "Spielfeld" << endl << endl
				<< " " << feld[0] << " | " << feld[1] << " | " << feld[2] << " " << endl
				<< "---|---|---" << endl
				<< " " << feld[3] << " | " << feld[4] << " | " << feld[5] << " " << endl
				<< "---|---|---" << endl
				<< " " << feld[6] << " | " << feld[7] << " | " << feld[8] << " " << endl << endl;
			while (playerchoice == true)
			{
				if (zzahl == 1)
				{
					if (feld[0] == ZeichenSpieler1 && feld[1] == ZeichenSpieler1 && feld[2] == ZeichenSpieler1 || feld[0] == ZeichenSpieler2 && feld[1] == ZeichenSpieler2 && feld[2] == ZeichenSpieler2)
					{
						cout << "Spiel Ende! Glueckwunsch!" << endl << endl;
						feld[0] = ' ';
						feld[1] = ' ';
						feld[2] = ' ';
						feld[3] = ' ';
						feld[4] = ' ';
						feld[5] = ' ';
						feld[6] = ' ';
						feld[7] = ' ';
						feld[8] = ' ';
						playerchoice == false;
						break;
					}
					else if (feld[3] == ZeichenSpieler1 && feld[4] == ZeichenSpieler1 && feld[5] == ZeichenSpieler1 || feld[3] == ZeichenSpieler2 && feld[4] == ZeichenSpieler2 && feld[5] == ZeichenSpieler2)
					{
						cout << "Spiel Ende! Glueckwunsch!" << endl << endl;
						feld[0] = ' ';
						feld[1] = ' ';
						feld[2] = ' ';
						feld[3] = ' ';
						feld[4] = ' ';
						feld[5] = ' ';
						feld[6] = ' ';
						feld[7] = ' ';
						feld[8] = ' ';
						playerchoice == false;
						break;
					}
					else if (feld[6] == ZeichenSpieler1 && feld[7] == ZeichenSpieler1 && feld[8] == ZeichenSpieler1 || feld[6] == ZeichenSpieler2 && feld[7] == ZeichenSpieler2 && feld[8] == ZeichenSpieler2)
					{
						cout << "Spiel Ende! Glueckwunsch!" << endl << endl;
						feld[0] = ' ';
						feld[1] = ' ';
						feld[2] = ' ';
						feld[3] = ' ';
						feld[4] = ' ';
						feld[5] = ' ';
						feld[6] = ' ';
						feld[7] = ' ';
						feld[8] = ' ';
						playerchoice == false;
						break;
					}
					else if (feld[0] == ZeichenSpieler1 && feld[3] == ZeichenSpieler1 && feld[6] == ZeichenSpieler1 || feld[0] == ZeichenSpieler2 && feld[3] == ZeichenSpieler2 && feld[6] == ZeichenSpieler2)
					{
						cout << "Spiel Ende! Glueckwunsch!" << endl << endl;
						feld[0] = ' ';
						feld[1] = ' ';
						feld[2] = ' ';
						feld[3] = ' ';
						feld[4] = ' ';
						feld[5] = ' ';
						feld[6] = ' ';
						feld[7] = ' ';
						feld[8] = ' ';
						playerchoice == false;
						break;
					}
					else if (feld[1] == ZeichenSpieler1 && feld[4] == ZeichenSpieler1 && feld[7] == ZeichenSpieler1 || feld[1] == ZeichenSpieler2 && feld[4] == ZeichenSpieler2 && feld[7] == ZeichenSpieler2)
					{
						cout << "Spiel Ende! Glueckwunsch!" << endl << endl;
						feld[0] = ' ';
						feld[1] = ' ';
						feld[2] = ' ';
						feld[3] = ' ';
						feld[4] = ' ';
						feld[5] = ' ';
						feld[6] = ' ';
						feld[7] = ' ';
						feld[8] = ' ';
						playerchoice == false;
						break;
					}
					else if (feld[2] == ZeichenSpieler1 && feld[5] == ZeichenSpieler1 && feld[8] == ZeichenSpieler1 || feld[2] == ZeichenSpieler2 && feld[5] == ZeichenSpieler2 && feld[8] == ZeichenSpieler2)
					{
						cout << "Spiel Ende! Glueckwunsch!" << endl << endl;
						feld[0] = ' ';
						feld[1] = ' ';
						feld[2] = ' ';
						feld[3] = ' ';
						feld[4] = ' ';
						feld[5] = ' ';
						feld[6] = ' ';
						feld[7] = ' ';
						feld[8] = ' ';
						playerchoice == false;
						break;
					}
					else if (feld[0] == ZeichenSpieler1 && feld[4] == ZeichenSpieler1 && feld[8] == ZeichenSpieler1 || feld[0] == ZeichenSpieler2 && feld[4] == ZeichenSpieler2 && feld[8] == ZeichenSpieler2)
					{
						cout << "Spiel Ende! Glueckwunsch!" << endl << endl;
						feld[0] = ' ';
						feld[1] = ' ';
						feld[2] = ' ';
						feld[3] = ' ';
						feld[4] = ' ';
						feld[5] = ' ';
						feld[6] = ' ';
						feld[7] = ' ';
						feld[8] = ' ';
						playerchoice == false;
						break;
					}
					else if (feld[2] == ZeichenSpieler1 && feld[4] == ZeichenSpieler1 && feld[6] == ZeichenSpieler1 || feld[2] == ZeichenSpieler2 && feld[4] == ZeichenSpieler2 && feld[6] == ZeichenSpieler2)
					{
						cout << "Spiel Ende! Glueckwunsch!" << endl << endl;
						feld[0] = ' ';
						feld[1] = ' ';
						feld[2] = ' ';
						feld[3] = ' ';
						feld[4] = ' ';
						feld[5] = ' ';
						feld[6] = ' ';
						feld[7] = ' ';
						feld[8] = ' ';
						playerchoice == false;
						break;
					}
					else {
						cout << "In welche Zeile moechten Sie [1-3]?" << endl << endl
							<< "Ihre Eingabe: ";
						cin >> zeile;
						if (zeile == 1)
						{
							cout << "In welche Spalte moechten Sie [1-3]?" << endl << endl
								<< "Ihre Eingabe: ";
							cin >> spalte;
							if (spalte == 1)
							{
								if (feld[0] == ZeichenSpieler1 || feld[0] == ZeichenSpieler2)
								{
									cout << "Das Spielfeld ist schon besetzt!" << endl << endl;
								}

								else
								{
									feld[0] = ZeichenSpieler1;
									zzahl = 2;
								}
							}
							if (spalte == 2)
							{
								if (feld[1] == ZeichenSpieler1 || feld[1] == ZeichenSpieler2)
								{
									cout << "Das Spielfeld ist schon besetzt!" << endl << endl;
								}

								else
								{
									feld[1] = ZeichenSpieler1;
									zzahl = 2;
								}
							}
							if (spalte == 3)
							{
								if (feld[2] == ZeichenSpieler1 || feld[2] == ZeichenSpieler2)
								{
									cout << "Das Spielfeld ist schon besetzt!" << endl << endl;
								}

								else
								{
									feld[2] = ZeichenSpieler1;
									zzahl = 2;
								}
							}
						}
						if (zeile == 2)
						{
							cout << "In welche Spalte moechten Sie [1-3]?" << endl << endl
								<< "Ihre Eingabe: ";
							cin >> spalte;
							if (spalte == 1)
							{
								if (feld[3] == ZeichenSpieler1 || feld[3] == ZeichenSpieler2)
								{
									cout << "Das Spielfeld ist schon besetzt!" << endl << endl;
								}

								else
								{
									feld[3] = ZeichenSpieler1;
									zzahl = 2;
								}
							}
							if (spalte == 2)
							{
								if (feld[4] == ZeichenSpieler1 || feld[4] == ZeichenSpieler2)
								{
									cout << "Das Spielfeld ist schon besetzt!" << endl << endl;
								}

								else
								{
									feld[4] = ZeichenSpieler1;
									zzahl = 2;
								}
							}
							if (spalte == 3)
							{
								if (feld[5] == ZeichenSpieler1 || feld[5] == ZeichenSpieler2)
								{
									cout << "Das Spielfeld ist schon besetzt!" << endl << endl;
								}

								else
								{
									feld[5] = ZeichenSpieler1;
									zzahl = 2;
								}
							}
						}
						if (zeile == 3)
						{
							cout << "In welche Spalte moechten Sie [1-3]?" << endl << endl
								<< "Ihre Eingabe: ";
							cin >> spalte;
							if (spalte == 1)
							{
								if (feld[6] == ZeichenSpieler1 || feld[6] == ZeichenSpieler2)
								{
									cout << "Das Spielfeld ist schon besetzt!" << endl << endl;
								}

								else
								{
									feld[6] = ZeichenSpieler1;
									zzahl = 2;
								}
							}
							if (spalte == 2)
							{
								if (feld[7] == ZeichenSpieler1 || feld[7] == ZeichenSpieler2)
								{
									cout << "Das Spielfeld ist schon besetzt!" << endl << endl;
								}

								else
								{
									feld[7] = ZeichenSpieler1;
									zzahl = 2;
								}
							}
							if (spalte == 3)
							{
								if (feld[8] == ZeichenSpieler1 || feld[8] == ZeichenSpieler2)
								{
									cout << "Das Spielfeld ist schon besetzt!" << endl << endl;
								}

								else
								{
									feld[8] = ZeichenSpieler1;
									zzahl = 2;
								}
							}
						}
						cout << "Spielfeld" << endl << endl
							<< " " << feld[0] << " | " << feld[1] << " | " << feld[2] << " " << endl
							<< "---|---|---" << endl
							<< " " << feld[3] << " | " << feld[4] << " | " << feld[5] << " " << endl
							<< "---|---|---" << endl
							<< " " << feld[6] << " | " << feld[7] << " | " << feld[8] << " " << endl << endl;
					}
				}
					if (zzahl == 2)
					{
						if (feld[0] == ZeichenSpieler1 && feld[1] == ZeichenSpieler1 && feld[2] == ZeichenSpieler1 || feld[0] == ZeichenSpieler2 && feld[1] == ZeichenSpieler2 && feld[2] == ZeichenSpieler2)
						{
							cout << "Spiel Ende! Glueckwunsch!" << endl << endl;
							feld[0] = ' ';
							feld[1] = ' ';
							feld[2] = ' ';
							feld[3] = ' ';
							feld[4] = ' ';
							feld[5] = ' ';
							feld[6] = ' ';
							feld[7] = ' ';
							feld[8] = ' ';
							playerchoice == false;
							break;
						}
						else if (feld[3] == ZeichenSpieler1 && feld[4] == ZeichenSpieler1 && feld[5] == ZeichenSpieler1 || feld[3] == ZeichenSpieler2 && feld[4] == ZeichenSpieler2 && feld[5] == ZeichenSpieler2)
						{
							cout << "Spiel Ende! Glueckwunsch!" << endl << endl;
							feld[0] = ' ';
							feld[1] = ' ';
							feld[2] = ' ';
							feld[3] = ' ';
							feld[4] = ' ';
							feld[5] = ' ';
							feld[6] = ' ';
							feld[7] = ' ';
							feld[8] = ' ';
							playerchoice == false;
							break;
						}
						else if (feld[6] == ZeichenSpieler1 && feld[7] == ZeichenSpieler1 && feld[8] == ZeichenSpieler1 || feld[6] == ZeichenSpieler2 && feld[7] == ZeichenSpieler2 && feld[8] == ZeichenSpieler2)
						{
							cout << "Spiel Ende! Glueckwunsch!" << endl << endl;
							feld[0] = ' ';
							feld[1] = ' ';
							feld[2] = ' ';
							feld[3] = ' ';
							feld[4] = ' ';
							feld[5] = ' ';
							feld[6] = ' ';
							feld[7] = ' ';
							feld[8] = ' ';
							playerchoice == false;
							break;
						}
						else if (feld[0] == ZeichenSpieler1 && feld[3] == ZeichenSpieler1 && feld[6] == ZeichenSpieler1 || feld[0] == ZeichenSpieler2 && feld[3] == ZeichenSpieler2 && feld[6] == ZeichenSpieler2)
						{
							cout << "Spiel Ende! Glueckwunsch!" << endl << endl;
							feld[0] = ' ';
							feld[1] = ' ';
							feld[2] = ' ';
							feld[3] = ' ';
							feld[4] = ' ';
							feld[5] = ' ';
							feld[6] = ' ';
							feld[7] = ' ';
							feld[8] = ' ';
							playerchoice == false;
							break;
						}
						else if (feld[1] == ZeichenSpieler1 && feld[4] == ZeichenSpieler1 && feld[7] == ZeichenSpieler1 || feld[1] == ZeichenSpieler2 && feld[4] == ZeichenSpieler2 && feld[7] == ZeichenSpieler2)
						{
							cout << "Spiel Ende! Glueckwunsch!" << endl << endl;
							feld[0] = ' ';
							feld[1] = ' ';
							feld[2] = ' ';
							feld[3] = ' ';
							feld[4] = ' ';
							feld[5] = ' ';
							feld[6] = ' ';
							feld[7] = ' ';
							feld[8] = ' ';
							playerchoice == false;
							break;
						}
						else if (feld[2] == ZeichenSpieler1 && feld[5] == ZeichenSpieler1 && feld[8] == ZeichenSpieler1 || feld[2] == ZeichenSpieler2 && feld[5] == ZeichenSpieler2 && feld[8] == ZeichenSpieler2)
						{
							cout << "Spiel Ende! Glueckwunsch!" << endl << endl;
							feld[0] = ' ';
							feld[1] = ' ';
							feld[2] = ' ';
							feld[3] = ' ';
							feld[4] = ' ';
							feld[5] = ' ';
							feld[6] = ' ';
							feld[7] = ' ';
							feld[8] = ' ';
							playerchoice == false;
							break;
						}
						else if (feld[0] == ZeichenSpieler1 && feld[4] == ZeichenSpieler1 && feld[8] == ZeichenSpieler1 || feld[0] == ZeichenSpieler2 && feld[4] == ZeichenSpieler2 && feld[8] == ZeichenSpieler2)
						{
							cout << "Spiel Ende! Glueckwunsch!" << endl << endl;
							feld[0] = ' ';
							feld[1] = ' ';
							feld[2] = ' ';
							feld[3] = ' ';
							feld[4] = ' ';
							feld[5] = ' ';
							feld[6] = ' ';
							feld[7] = ' ';
							feld[8] = ' ';
							playerchoice == false;
							break;
						}
						else if (feld[2] == ZeichenSpieler1 && feld[4] == ZeichenSpieler1 && feld[6] == ZeichenSpieler1 || feld[2] == ZeichenSpieler2 && feld[4] == ZeichenSpieler2 && feld[6] == ZeichenSpieler2)
						{
							cout << "Spiel Ende! Glueckwunsch!" << endl << endl;
							feld[0] = ' ';
							feld[1] = ' ';
							feld[2] = ' ';
							feld[3] = ' ';
							feld[4] = ' ';
							feld[5] = ' ';
							feld[6] = ' ';
							feld[7] = ' ';
							feld[8] = ' ';
							playerchoice == false;
							break;
						}
						else {
						cout << "In welche Zeile moechten Sie [1-3]?" << endl << endl
							<< "Ihre Eingabe: ";
						cin >> zeile;
						if (zeile == 1)
						{
							cout << "In welche Spalte moechten Sie [1-3]?" << endl << endl
								<< "Ihre Eingabe: ";
							cin >> spalte;
							if (spalte == 1)
							{
								if (feld[0] == ZeichenSpieler1 || feld[0] == ZeichenSpieler2)
								{
									cout << "Das Spielfeld ist schon besetzt!" << endl << endl;
								}

								else
								{
									feld[0] = ZeichenSpieler2;
									zzahl = 1;
								}
							}
							if (spalte == 2)
							{
								if (feld[1] == ZeichenSpieler1 || feld[1] == ZeichenSpieler2)
								{
									cout << "Das Spielfeld ist schon besetzt!" << endl << endl;
								}

								else
								{
									feld[1] = ZeichenSpieler2;
									zzahl = 1;
								}
							}
							if (spalte == 3)
							{
								if (feld[2] == ZeichenSpieler1 || feld[2] == ZeichenSpieler2)
								{
									cout << "Das Spielfeld ist schon besetzt!" << endl << endl;
								}

								else
								{
									feld[2] = ZeichenSpieler2;
									zzahl = 1;
								}
							}
						}
						if (zeile == 2)
						{
							cout << "In welche Spalte moechten Sie [1-3]?" << endl << endl
								<< "Ihre Eingabe: ";
							cin >> spalte;
							if (spalte == 1)
							{
								if (feld[3] == ZeichenSpieler1 || feld[3] == ZeichenSpieler2)
								{
									cout << "Das Spielfeld ist schon besetzt!" << endl << endl;
								}

								else
								{
									feld[3] = ZeichenSpieler2;
									zzahl = 1;
								}
							}
							if (spalte == 2)
							{
								if (feld[4] == ZeichenSpieler1 || feld[4] == ZeichenSpieler2)
								{
									cout << "Das Spielfeld ist schon besetzt!" << endl << endl;
								}

								else
								{
									feld[4] = ZeichenSpieler2;
									zzahl = 1;
								}
							}
							if (spalte == 3)
							{
								if (feld[5] == ZeichenSpieler1 || feld[5] == ZeichenSpieler2)
								{
									cout << "Das Spielfeld ist schon besetzt!" << endl << endl;
								}

								else
								{
									feld[5] = ZeichenSpieler2;
									zzahl = 1;
								}
							}
						}
						if (zeile == 3)
						{
							cout << "In welche Spalte moechten Sie [1-3]?" << endl << endl
								<< "Ihre Eingabe: ";
							cin >> spalte;
							if (spalte == 1)
							{
								if (feld[6] == ZeichenSpieler1 || feld[6] == ZeichenSpieler2)
								{
									cout << "Das Spielfeld ist schon besetzt!" << endl << endl;
								}

								else
								{
									feld[6] = ZeichenSpieler2;
									zzahl = 1;
								}
							}
							if (spalte == 2)
							{
								if (feld[7] == ZeichenSpieler1 || feld[7] == ZeichenSpieler2)
								{
									cout << "Das Spielfeld ist schon besetzt!" << endl << endl;
								}

								else
								{
									feld[7] = ZeichenSpieler2;
									zzahl = 1;
								}
							}
							if (spalte == 3)
							{
								if (feld[8] == ZeichenSpieler1 || feld[8] == ZeichenSpieler2)
								{
									cout << "Das Spielfeld ist schon besetzt!" << endl << endl;
								}

								else
								{
									feld[8] = ZeichenSpieler2;
									zzahl = 1;
								}
							}
						}
						cout << "Spielfeld" << endl << endl
							<< " " << feld[0] << " | " << feld[1] << " | " << feld[2] << " " << endl
							<< "---|---|---" << endl
							<< " " << feld[3] << " | " << feld[4] << " | " << feld[5] << " " << endl
							<< "---|---|---" << endl
							<< " " << feld[6] << " | " << feld[7] << " | " << feld[8] << " " << endl << endl;
					}
				}
			}
			break;

		case 2:
			cout << "Nicht nicht verfuegbar!" << endl;
			break;

		case 0:
			game = false;
			playerchoice = false;
			return 0;
			break;
		}
	}
	system("pause");
}

Dieser Beitrag wurde von Windows 8 User bearbeitet: 18. Januar 2015 - 20:36
Änderungsgrund: Codebox eingefügt. W8U

Ich wollte auch mal eine total überflüssige Signatur
-Leer-
0

Anzeige



Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0