Hallo,
Ich muss für die Schule ein 4 Gewinnt Spiel programmieren. Bis jetzt ists ganz Ok. Ich bin ziemlich zufrieden mit meiner Arbeit. Eigentlich ist es jetzt schon fertig, wenn man selber schaut wer gewonnen hat.
ABER, wäre es nicht toll wenn das der Computer machen würde? Doch, und genau das will ich machen. Nur leider häng ich da jetzt gerade fest. Ich komm einfach nicht drauf wie ich es überprüfen lassen soll ob 4 in der gleichen Reihe sind. Ich wäre schon dankbar wenn ich erst mal horizontal und vertikal prüfen könnte
Hier ist mal mein Code:
Ich verlange keine komplette Lösung. Nur Tipps oder gedankenanstösse
Danke!
MfG suxido
Ich muss für die Schule ein 4 Gewinnt Spiel programmieren. Bis jetzt ists ganz Ok. Ich bin ziemlich zufrieden mit meiner Arbeit. Eigentlich ist es jetzt schon fertig, wenn man selber schaut wer gewonnen hat.
ABER, wäre es nicht toll wenn das der Computer machen würde? Doch, und genau das will ich machen. Nur leider häng ich da jetzt gerade fest. Ich komm einfach nicht drauf wie ich es überprüfen lassen soll ob 4 in der gleichen Reihe sind. Ich wäre schon dankbar wenn ich erst mal horizontal und vertikal prüfen könnte
Hier ist mal mein Code:
Code:
// 4_Gewinnt.cpp : Definiert den Einstiegspunkt für die Konsolenanwendung.
//
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
int main()
{
//Variabeldefinitionen
char Spielfeld[8][8];
char SpielerA = 'A';
char SpielerB = 'X';
int SpielerEingabe1 = 0;
int SpielerEingabe2 = 0;
int ZaehlerA = 0;
int ZaehlerB = 0;
int GewinnerA = 0;
int GewinnerB = 0;
int xyz = 1;
//printf("Vier Gewinnt\n");
//printf("by Marco Laim\n\n\n");
//Alle Felder mit einem Unterstrich füllen damit es einheitlich aussieht
for(int i=0;i<=7;i++)
{
for(int fuellen=0;fuellen<=7;fuellen++)
{
Spielfeld[i][fuellen] = '_';
}
}
//Spielfeld[0][4] = 'A';
//Spielfeld[2][7] = 'X';
do
{
printf("Vier Gewinnt\n");
printf("by Me\n\n\n");
//Gewinnprüfung
for(int i=0;i<=7;i++)
{
int counter = 0;
for(int j=0;j<=7;j++)
{
//Spielfeld[i][j] = SpielerA;
}
}
//Ausgabe Spielfeld
printf(" 0 1 2 3 4 5 6 7\n");
printf(" +---+---+---+---+---+---+---+---+\n");
printf("0 | %c | %c | %c | %c | %c | %c | %c | %c |\n",Spielfeld[0][0],Spielfeld[0][1],Spielfeld[0][2],Spielfeld[0][3],Spielfeld[0][4],Spielfeld[0][5],Spielfeld[0][6],Spielfeld[0][7]);
printf(" +---+---+---+---+---+---+---+---+\n");
printf("1 | %c | %c | %c | %c | %c | %c | %c | %c |\n",Spielfeld[1][0],Spielfeld[1][1],Spielfeld[1][2],Spielfeld[1][3],Spielfeld[1][4],Spielfeld[1][5],Spielfeld[1][6],Spielfeld[1][7]);
printf(" +---+---+---+---+---+---+---+---+\n");
printf("2 | %c | %c | %c | %c | %c | %c | %c | %c |\n",Spielfeld[2][0],Spielfeld[2][1],Spielfeld[2][2],Spielfeld[2][3],Spielfeld[2][4],Spielfeld[2][5],Spielfeld[2][6],Spielfeld[2][7]);
printf(" +---+---+---+---+---+---+---+---+\n");
printf("3 | %c | %c | %c | %c | %c | %c | %c | %c |\n",Spielfeld[3][0],Spielfeld[3][1],Spielfeld[3][2],Spielfeld[3][3],Spielfeld[3][4],Spielfeld[3][5],Spielfeld[3][6],Spielfeld[3][7]);
printf(" +---+---+---+---+---+---+---+---+\n");
printf("4 | %c | %c | %c | %c | %c | %c | %c | %c |\n",Spielfeld[4][0],Spielfeld[4][1],Spielfeld[4][2],Spielfeld[4][3],Spielfeld[4][4],Spielfeld[4][5],Spielfeld[4][6],Spielfeld[4][7]);
printf(" +---+---+---+---+---+---+---+---+\n");
printf("5 | %c | %c | %c | %c | %c | %c | %c | %c |\n",Spielfeld[5][0],Spielfeld[5][1],Spielfeld[5][2],Spielfeld[5][3],Spielfeld[5][4],Spielfeld[5][5],Spielfeld[5][6],Spielfeld[5][7]);
printf(" +---+---+---+---+---+---+---+---+\n");
printf("6 | %c | %c | %c | %c | %c | %c | %c | %c |\n",Spielfeld[6][0],Spielfeld[6][1],Spielfeld[6][2],Spielfeld[6][3],Spielfeld[6][4],Spielfeld[6][5],Spielfeld[6][6],Spielfeld[6][7]);
printf(" +---+---+---+---+---+---+---+---+\n");
printf("7 | %c | %c | %c | %c | %c | %c | %c | %c |\n",Spielfeld[7][0],Spielfeld[7][1],Spielfeld[7][2],Spielfeld[7][3],Spielfeld[7][4],Spielfeld[7][5],Spielfeld[7][6],Spielfeld[7][7]);
printf(" +---+---+---+---+---+---+---+---+\n");
//Welcher Spieler ist dran?
if(ZaehlerA<ZaehlerB)
{
printf("Bitte gib die Zeile an: ");
scanf("%i", &SpielerEingabe1);
fflush(stdin);
printf("Bitte gib die Spalte an: ");
scanf("%i", &SpielerEingabe2);
fflush(stdin);
Spielfeld[SpielerEingabe1][SpielerEingabe2] = SpielerA;
ZaehlerA++;
}
else if(ZaehlerA>=ZaehlerB)
{
printf("Bitte gib die Zeile an: ");
scanf("%i", &SpielerEingabe1);
fflush(stdin);
printf("Bitte gib die Spalte an: ");
scanf("%i", &SpielerEingabe2);
fflush(stdin);
Spielfeld[SpielerEingabe1][SpielerEingabe2] = SpielerB;
ZaehlerB++;
}
//Spielfeld neu ausgeben
system("CLS");
}
//Solange bis jemand gewonnen hat
while(GewinnerA != 1 || GewinnerB != 1);
system("Pause");
return 0;
}
Ich verlange keine komplette Lösung. Nur Tipps oder gedankenanstösse
Danke!
MfG suxido