Hey Liebes Computer-Base Forum,
ich bin ein relativer C-Anfänger und habe TicTacToe mit Dreidimensionalen Arrays geschrieben.
Ich wollte fragen ob es möglich wäre dass wenn ich meinen Code hier reinposte, jemand ihn evtl.
zusammenfässt in irgendeiner Art und Weise weil ich habe 700 Zeilen Code und es fühlt sich nicht richtig an...
Ich bedanke mich wirklich herzlich im Vorraus.
Schönen Mittag noch.
ich bin ein relativer C-Anfänger und habe TicTacToe mit Dreidimensionalen Arrays geschrieben.
Ich wollte fragen ob es möglich wäre dass wenn ich meinen Code hier reinposte, jemand ihn evtl.
zusammenfässt in irgendeiner Art und Weise weil ich habe 700 Zeilen Code und es fühlt sich nicht richtig an...
C:
#include <stdio.h>
#include "windows.h"
int main() {
int i, j, counter = 1, gewonnen = 0, setze, a = 1;
char feld1[7][7], feld2[7][7][2];
char repeat;
feld1[0][0] = '\xC9';
feld1[0][1] = '\xCD';
feld1[0][2] = '\xCB';
feld1[0][3] = '\xCD';
feld1[0][4] = '\xCB';
feld1[0][5] = '\xCD';
feld1[0][6] = '\xBB';
feld1[1][0] = '\xBA';
feld1[1][1] = '1';
feld1[1][2] = '\xBA';
feld1[1][3] = '2';
feld1[1][4] = '\xBA';
feld1[1][5] = '3';
feld1[1][6] = '\xBA';
feld1[2][0] = '\xCC';
feld1[2][1] = '\xCD';
feld1[2][2] = '\xCE';
feld1[2][3] = '\xCD';
feld1[2][4] = '\xCE';
feld1[2][5] = '\xCD';
feld1[2][6] = '\xB9';
feld1[3][0] = '\xBA';
feld1[3][1] = '4';
feld1[3][2] = '\xBA';
feld1[3][3] = '5';
feld1[3][4] = '\xBA';
feld1[3][5] = '6';
feld1[3][6] = '\xBA';
feld1[4][0] = '\xCC';
feld1[4][1] = '\xCD';
feld1[4][2] = '\xCE';
feld1[4][3] = '\xCD';
feld1[4][4] = '\xCE';
feld1[4][5] = '\xCD';
feld1[4][6] = '\xB9';
feld1[5][0] = '\xBA';
feld1[5][1] = '7';
feld1[5][2] = '\xBA';
feld1[5][3] = '8';
feld1[5][4] = '\xBA';
feld1[5][5] = '9';
feld1[5][6] = '\xBA';
feld1[6][0] = '\xC8';
feld1[6][1] = '\xCD';
feld1[6][2] = '\xCA';
feld1[6][3] = '\xCD';
feld1[6][4] = '\xCA';
feld1[6][5] = '\xCD';
feld1[6][6] = '\xBC';
feld2[0][0][0] = '\xC9';//Spielfeld für Zeichen
feld2[0][1][0] = '\xCD';
feld2[0][2][0] = '\xCB';
feld2[0][3][0] = '\xCD';
feld2[0][4][0] = '\xCB';
feld2[0][5][0] = '\xCD';
feld2[0][6][0] = '\xBB';
feld2[1][0][0] = '\xBA';
feld2[1][1][0] = ' ';
feld2[1][2][0] = '\xBA';
feld2[1][3][0] = ' ';
feld2[1][4][0] = '\xBA';
feld2[1][5][0] = ' ';
feld2[1][6][0] = '\xBA';
feld2[2][0][0] = '\xCC';
feld2[2][1][0] = '\xCD';
feld2[2][2][0] = '\xCE';
feld2[2][3][0] = '\xCD';
feld2[2][4][0] = '\xCE';
feld2[2][5][0] = '\xCD';
feld2[2][6][0] = '\xB9';
feld2[3][0][0] = '\xBA';
feld2[3][1][0] = ' ';
feld2[3][2][0] = '\xBA';
feld2[3][3][0] = ' ';
feld2[3][4][0] = '\xBA';
feld2[3][5][0] = ' ';
feld2[3][6][0] = '\xBA';
feld2[4][0][0] = '\xCC';
feld2[4][1][0] = '\xCD';
feld2[4][2][0] = '\xCE';
feld2[4][3][0] = '\xCD';
feld2[4][4][0] = '\xCE';
feld2[4][5][0] = '\xCD';
feld2[4][6][0] = '\xB9';
feld2[5][0][0] = '\xBA';
feld2[5][1][0] = ' ';
feld2[5][2][0] = '\xBA';
feld2[5][3][0] = ' ';
feld2[5][4][0] = '\xBA';
feld2[5][5][0] = ' ';
feld2[5][6][0] = '\xBA';
feld2[6][0][0] = '\xC8';
feld2[6][1][0] = '\xCD';
feld2[6][2][0] = '\xCA';
feld2[6][3][0] = '\xCD';
feld2[6][4][0] = '\xCA';
feld2[6][5][0] = '\xCD';
feld2[6][6][0] = '\xBC';
feld2[0][0][1] = '\xC9';
feld2[0][1][1] = '\xCD';
feld2[0][2][1] = '\xCB';
feld2[0][3][1] = '\xCD';
feld2[0][4][1] = '\xCB';
feld2[0][5][1] = '\xCD';
feld2[0][6][1] = '\xBB';
feld2[1][0][1] = '\xBA';//Spielfeld ohne Zeichen
feld2[1][1][1] = '0';
feld2[1][2][1] = '\xBA';
feld2[1][3][1] = '0';
feld2[1][4][1] = '\xBA';
feld2[1][5][1] = '0';
feld2[1][6][1] = '\xBA';
feld2[2][0][1] = '\xCC';
feld2[2][1][1] = '\xCD';
feld2[2][2][1] = '\xCE';
feld2[2][3][1] = '\xCD';
feld2[2][4][1] = '\xCE';
feld2[2][5][1] = '\xCD';
feld2[2][6][1] = '\xB9';
feld2[3][0][1] = '\xBA';
feld2[3][1][1] = '0';
feld2[3][2][1] = '\xBA';
feld2[3][3][1] = '0';
feld2[3][4][1] = '\xBA';
feld2[3][5][1] = '0';
feld2[3][6][1] = '\xBA';
feld2[4][0][1] = '\xCC';
feld2[4][1][1] = '\xCD';
feld2[4][2][1] = '\xCE';
feld2[4][3][1] = '\xCD';
feld2[4][4][1] = '\xCE';
feld2[4][5][1] = '\xCD';
feld2[4][6][1] = '\xB9';
feld2[5][0][1] = '\xBA';
feld2[5][1][1] = '0';
feld2[5][2][1] = '\xBA';
feld2[5][3][1] = '0';
feld2[5][4][1] = '\xBA';
feld2[5][5][1] = '0';
feld2[5][6][1] = '\xBA';
feld2[6][0][1] = '\xC8';
feld2[6][1][1] = '\xCD';
feld2[6][2][1] = '\xCA';
feld2[6][3][1] = '\xCD';
feld2[6][4][1] = '\xCA';
feld2[6][5][1] = '\xCD';
feld2[6][6][1] = '\xBC';
for (i = 0; i <= 6; i++)
{
for (j = 0; j <= 6; j++)
{
printf("%c", feld1[i][j]);
}
printf("\n");
}
do {
do {
if (counter % 2 != 0) {
printf("Zur Info, du bist in der Runde : %i\n\n", counter);
printf("Herzlich Willkommen Spieler 1!\n\nGebe deine Eingabe ein:\t");
scanf_s("%i", &setze);
if (setze == 1 && feld2[1][1][1] == '1') {
do {
printf("Feld Nummer %i besitzt schon ein Zeichen, Bitte W\x84hle ein anderes aus:\t", setze);
scanf_s("%i", &setze);
} while (setze == 1);
}
if (setze == 2 && feld2[1][3][1] == '1') {
do {
printf("Feld Nummer %i besitzt schon ein Zeichen, Bitte W\x84hle ein anderes aus:\t", setze);
scanf_s("%i", &setze);
} while (setze == 2);
}
if (setze == 3 && feld2[1][5][1] == '1') {
do {
printf("Feld Nummer %i besitzt schon ein Zeichen, Bitte W\x84hle ein anderes aus:\t", setze);
scanf_s("%i", &setze);
} while (setze == 3);
}
if (setze == 4 && feld2[3][1][1] == '1') {
do {
printf("Feld Nummer %i besitzt schon ein Zeichen, Bitte W\x84hle ein anderes aus:\t", setze);
scanf_s("%i", &setze);
} while (setze == 4);
}
if (setze == 5 && feld2[3][3][1] == '1') {
do {
printf("Feld Nummer %i besitzt schon ein Zeichen, Bitte W\x84hle ein anderes aus:\t", setze);
scanf_s("%i", &setze);
} while (setze == 5);
}
if (setze == 6 && feld2[3][5][1] == '1') {
do {
printf("Feld Nummer %i besitzt schon ein Zeichen, Bitte W\x84hle ein anderes aus:\t", setze);
scanf_s("%i", &setze);
} while (setze == 6);
}
if (setze == 7 && feld2[5][1][1] == '1') {
do {
printf("Feld Nummer %i besitzt schon ein Zeichen, Bitte W\x84hle ein anderes aus:\t", setze);
scanf_s("%i", &setze);
} while (setze == 7);
}
if (setze == 8 && feld2[5][3][1] == '1') {
do {
printf("Feld Nummer %i besitzt schon ein Zeichen, Bitte W\x84hle ein anderes aus:\t", setze);
scanf_s("%i", &setze);
} while (setze == 8);
}
if (setze == 9 && feld2[5][5][1] == '1') {
do {
printf("Feld Nummer %i besitzt schon ein Zeichen, Bitte W\x84hle ein anderes aus:\t", setze);
scanf_s("%i", &setze);
} while (setze == 9);
}
if (setze == 1 && feld2[1][1][1] == '0') {
feld2[1][1][1] = '1';
feld1[1][1] = 'X';
feld2[1][1][0] = 'X';
system("CLS");
for (i = 0; i <= 6; i++)
{
for (j = 0; j <= 6; j++)
{
printf("%c", feld1[i][j]);
}
printf("\n");
}
counter++;
}
if (setze == 2 && feld2[1][3][1] == '0') {
feld2[1][3][1] = '1';
feld1[1][3] = 'X';
feld2[1][3][0] = 'X';
system("CLS");
for (i = 0; i <= 6; i++)
{
for (j = 0; j <= 6; j++)
{
printf("%c", feld1[i][j]);
}
printf("\n");
}
counter++;
}
if (setze == 3 && feld2[1][5][1] == '0') {
feld2[1][5][1] = '1';
feld1[1][5] = 'X';
feld2[1][5][0] = 'X';
system("CLS");
for (i = 0; i <= 6; i++)
{
for (j = 0; j <= 6; j++)
{
printf("%c", feld1[i][j]);
}
printf("\n");
}
counter++;
}
if (setze == 4 && feld2[3][1][1] == '0') {
feld2[3][1][1] = '1';
feld1[3][1] = 'X';
feld2[3][1][0] = 'X';
system("CLS");
for (i = 0; i <= 6; i++)
{
for (j = 0; j <= 6; j++)
{
printf("%c", feld1[i][j]);
}
printf("\n");
}
counter++;
}
if (setze == 5 && feld2[3][3][1] == '0') {
feld2[3][3][1] = '1';
feld1[3][3] = 'X';
feld2[3][3][0] = 'X';
system("CLS");
for (i = 0; i <= 6; i++)
{
for (j = 0; j <= 6; j++)
{
printf("%c", feld1[i][j]);
}
printf("\n");
}
counter++;
}
if (setze == 6 && feld2[3][5][1] == '0') {
feld2[3][5][1] = '1';
feld1[3][5] = 'X';
feld2[3][5][0] = 'X';
system("CLS");
for (i = 0; i <= 6; i++)
{
for (j = 0; j <= 6; j++)
{
printf("%c", feld1[i][j]);
}
printf("\n");
}
counter++;
}
if (setze == 7 && feld2[5][1][1] == '0') {
feld2[5][1][1] = '1';
feld1[5][1] = 'X';
feld2[5][1][0] = 'X';
system("CLS");
for (i = 0; i <= 6; i++)
{
for (j = 0; j <= 6; j++)
{
printf("%c", feld1[i][j]);
}
printf("\n");
}
counter++;
}
if (setze == 8 && feld2[5][3][1] == '0') {
feld2[5][3][1] = '1';
feld1[5][3] = 'X';
feld2[5][3][0] = 'X';
system("CLS");
for (i = 0; i <= 6; i++)
{
for (j = 0; j <= 6; j++)
{
printf("%c", feld1[i][j]);
}
printf("\n");
}
counter++;
}
if (setze == 9 && feld2[5][5][1] == '0') {
feld2[5][5][1] = '1';
feld1[5][5] = 'X';
feld2[5][5][0] = 'X';
system("CLS");
for (i = 0; i <= 6; i++)
{
for (j = 0; j <= 6; j++)
{
printf("%c", feld1[i][j]);
}
printf("\n");
}
counter++;
}
if (setze < 1 || setze > 9) {
do {
printf("Feld Nummer %i Existiert nicht, Bitte W\x84hle ein anderes aus:\t", setze);
scanf_s("%i", &setze);
} while (setze < 1 || setze > 9);
}
if (feld2[1][1][0] == 'X' && feld2[1][3][0] == 'X' && feld2[1][5][0] == 'X' || feld2[3][1][0] == 'X' && feld2[3][3][0] == 'X' && feld2[3][5][0] == 'X' || feld2[5][1][0] == 'X' && feld2[5][3][0] == 'X' && feld2[5][5][0] == 'X' || feld2[1][1][0] == 'X' && feld2[3][1][0] == 'X' && feld2[5][1][0] == 'X' || feld2[1][3][0] == 'X' && feld2[3][3][0] == 'X' && feld2[5][3][0] == 'X' || feld2[1][5][0] == 'X' && feld2[3][5][0] == 'X' && feld2[5][5][0] == 'X' || feld2[1][1][0] == 'X' && feld2[3][3][0] == 'X' && feld2[5][5][0] == 'X' || feld2[1][5][0] == 'X' && feld2[3][3][0] == 'X' && feld2[5][1][0] == 'X')
{
printf("\n");
printf("Spieler 1, Sie haben Gewonnen.\n");
printf("Wollen Sie beide nochmal Spielen?\n");
printf("J/j f\x81r Ja\n");
printf("N/n f\x81r Nein\n");
printf("Ihre Wahl lautet: ");
repeat = getchar();
repeat = getchar();
gewonnen++;
counter = 1;
a--;
system("CLS");
}
if (counter == 10) {
printf("Das Spiel ist zuende!");
printf("\n");
printf("Wollen Sie beide nochmal Spielen?\n");
printf("J/j f\x81r Ja\n");
printf("N/n f\x81r Nein\n");
printf("Ihre Wahl lautet: ");
repeat = getchar();
repeat = getchar();
if (repeat == 'J' || repeat == 'j') {
counter = 1;
a--;
system("CLS");
}
}
}
if (counter % 2 != 1) {
printf("Zur Info, du bist in der Runde : %i\n\n", counter);
printf("Herzlich Willkommen Spieler 2!\n\nGebe deine Eingabe ein:\t");
scanf_s("%i", &setze);
if (setze == 1 && feld2[1][1][1] == '1') {
do {
printf("Feld Nummer %i besitzt schon ein Zeichen, Bitte W\x84hle ein anderes aus:\t", setze);
scanf_s("%i", &setze);
} while (setze == 1);
}
if (setze == 2 && feld2[1][3][1] == '1') {
do {
printf("Feld Nummer %i besitzt schon ein Zeichen, Bitte W\x84hle ein anderes aus:\t", setze);
scanf_s("%i", &setze);
} while (setze == 2);
}
if (setze == 3 && feld2[1][5][1] == '1') {
do {
printf("Feld Nummer %i besitzt schon ein Zeichen, Bitte W\x84hle ein anderes aus:\t", setze);
scanf_s("%i", &setze);
} while (setze == 3);
}
if (setze == 4 && feld2[3][1][1] == '1') {
do {
printf("Feld Nummer %i besitzt schon ein Zeichen, Bitte W\x84hle ein anderes aus:\t", setze);
scanf_s("%i", &setze);
} while (setze == 4);
}
if (setze == 5 && feld2[3][3][1] == '1') {
do {
printf("Feld Nummer %i besitzt schon ein Zeichen, Bitte W\x84hle ein anderes aus:\t", setze);
scanf_s("%i", &setze);
} while (setze == 5);
}
if (setze == 6 && feld2[3][5][1] == '1') {
do {
printf("Feld Nummer %i besitzt schon ein Zeichen, Bitte W\x84hle ein anderes aus:\t", setze);
scanf_s("%i", &setze);
} while (setze == 6);
}
if (setze == 7 && feld2[5][1][1] == '1') {
do {
printf("Feld Nummer %i besitzt schon ein Zeichen, Bitte W\x84hle ein anderes aus:\t", setze);
scanf_s("%i", &setze);
} while (setze == 7);
}
if (setze == 8 && feld2[5][3][1] == '1') {
do {
printf("Feld Nummer %i besitzt schon ein Zeichen, Bitte W\x84hle ein anderes aus:\t", setze);
scanf_s("%i", &setze);
} while (setze == 8);
}
if (setze == 9 && feld2[5][5][1] == '1') {
do {
printf("Feld Nummer %i besitzt schon ein Zeichen, Bitte W\x84hle ein anderes aus:\t", setze);
scanf_s("%i", &setze);
} while (setze == 9);
}
if (setze == 1 && feld2[1][1][1] == '0') {
feld2[1][1][1] = '1';
feld1[1][1] = 'O';
feld2[1][1][0] = 'O';
system("CLS");
for (i = 0; i <= 6; i++)
{
for (j = 0; j <= 6; j++)
{
printf("%c", feld1[i][j]);
}
printf("\n");
}
counter++;
}
if (setze == 2 && feld2[1][3][1] == '0') {
feld2[1][3][1] = '1';
feld1[1][3] = 'O';
feld2[1][3][0] = 'O';
system("CLS");
for (i = 0; i <= 6; i++)
{
for (j = 0; j <= 6; j++)
{
printf("%c", feld1[i][j]);
}
printf("\n");
}
counter++;
}
if (setze == 3 && feld2[3][1][1] == '0') {
feld2[1][5][1] = '1';
feld1[1][5] = 'O';
feld2[1][5][0] = 'O';
system("CLS");
for (i = 0; i <= 6; i++)
{
for (j = 0; j <= 6; j++)
{
printf("%c", feld1[i][j]);
}
printf("\n");
}
counter++;
}
if (setze == 4 && feld2[3][1][1] == '0') {
feld2[3][1][1] = '1';
feld1[3][1] = 'O';
feld2[3][1][0] = 'O';
system("CLS");
for (i = 0; i <= 6; i++)
{
for (j = 0; j <= 6; j++)
{
printf("%c", feld1[i][j]);
}
printf("\n");
}
counter++;
}
if (setze == 5 && feld2[3][3][1] == '0') {
feld2[3][3][1] = '1';
feld1[3][3] = 'O';
feld2[3][3][0] = 'O';
system("CLS");
for (i = 0; i <= 6; i++)
{
for (j = 0; j <= 6; j++)
{
printf("%c", feld1[i][j]);
}
printf("\n");
}
counter++;
}
if (setze == 6 && feld2[3][5][1] == '0') {
feld2[3][5][1] = '1';
feld1[3][5] = 'O';
feld2[3][5][0] = 'O';
system("CLS");
for (i = 0; i <= 6; i++)
{
for (j = 0; j <= 6; j++)
{
printf("%c", feld1[i][j]);
}
printf("\n");
}
counter++;
}
if (setze == 7 && feld2[5][1][1] == '0') {
feld2[5][1][1] = '1';
feld1[5][1] = 'O';
feld2[5][1][0] = 'O';
system("CLS");
for (i = 0; i <= 6; i++)
{
for (j = 0; j <= 6; j++)
{
printf("%c", feld1[i][j]);
}
printf("\n");
}
counter++;
}
if (setze == 8 && feld2[5][3][1] == '0') {
feld2[5][3][1] = '1';
feld1[5][3] = 'O';
feld2[5][3][0] = 'O';
system("CLS");
for (i = 0; i <= 6; i++)
{
for (j = 0; j <= 6; j++)
{
printf("%c", feld1[i][j]);
}
printf("\n");
}
counter++;
}
if (setze == 9 && feld2[5][5][1] == '0') {
feld2[5][5][1] = '1';
feld1[5][5] = 'O';
feld2[5][5][0] = 'O';
system("CLS");
for (i = 0; i <= 6; i++)
{
for (j = 0; j <= 6; j++)
{
printf("%c", feld1[i][j]);
}
printf("\n");
}
counter++;
}
if (setze < 1 || setze > 9) {
do {
printf("Feld Nummer %i Existiert nicht, Bitte W\x84hle ein anderes aus:\t", setze);
scanf_s("%i", &setze);
} while (setze < 1 || setze > 9);
}
if (feld2[1][1][0] == 'O' && feld2[1][3][0] == 'O' && feld2[1][5][0] == 'O' || feld2[3][1][0] == 'O' && feld2[3][3][0] == 'O' && feld2[3][5][0] == 'O' || feld2[5][1][0] == 'O' && feld2[5][3][0] == 'O' && feld2[5][5][0] == 'O' || feld2[1][1][0] == 'O' && feld2[3][1][0] == 'O' && feld2[5][1][0] == 'O' || feld2[1][3][0] == 'O' && feld2[3][3][0] == 'O' && feld2[5][3][0] == 'O' || feld2[1][5][0] == 'O' && feld2[3][5][0] == 'O' && feld2[5][5][0] == 'O' || feld2[1][1][0] == 'O' && feld2[3][3][0] == 'O' && feld2[5][5][0] == 'O' || feld2[1][5][0] == 'O' && feld2[3][3][0] == 'O' && feld2[5][1][0] == 'O')
{
printf("\n");
printf("Spieler 2, Sie haben Gewonnen.\n");
printf("Wollen Sie beide nochmal Spielen?\n");
printf("J/j f\x81r Ja\n");
printf("N/n f\x81r Nein\n");
printf("Ihre Wahl lautet: ");
repeat = getchar();
repeat = getchar();
gewonnen++;
counter = 1;
a--;
system("CLS");
}
if (counter == 10) {
printf("Das Spiel ist zuende!");
printf("\n");
printf("Wollen Sie beide nochmal Spielen?\n");
printf("J/j f\x81r Ja\n");
printf("N/n f\x81r Nein\n");
printf("Ihre Wahl lautet: ");
repeat = getchar();
repeat = getchar();
if (repeat == 'J' || repeat == 'j') {
counter = 1;
a--;
system("CLS");
}
}
}
} while (counter <= 10 && gewonnen == 0);
if (a == 0) {
feld1[1][1] = '1';
feld1[1][3] = '2';
feld1[1][5] = '3';
feld1[3][1] = '4';
feld1[3][3] = '5';
feld1[3][5] = '6';
feld1[5][1] = '7';
feld1[5][3] = '8';
feld1[5][5] = '9';
feld2[1][1][0] = ' ';
feld2[1][3][0] = ' ';
feld2[1][5][0] = ' ';
feld2[3][1][0] = ' ';
feld2[3][3][0] = ' ';
feld2[3][5][0] = ' ';
feld2[5][1][0] = ' ';
feld2[5][3][0] = ' ';
feld2[5][5][0] = ' ';
feld2[1][1][1] = '0';
feld2[1][3][1] = '0';
feld2[1][5][1] = '0';
feld2[3][1][1] = '0';
feld2[3][3][1] = '0';
feld2[3][5][1] = '0';
feld2[5][1][1] = '0';
feld2[5][3][1] = '0';
feld2[5][5][1] = '0';
a++;
for (i = 0; i <= 6; i++)
{
for (j = 0; j <= 6; j++)
{
printf("%c", feld1[i][j]);
}
printf("\n");
}
}
} while (repeat == 'J' || repeat == 'j');
return 0;
}
Ich bedanke mich wirklich herzlich im Vorraus.
Schönen Mittag noch.