Hier bitteschön
...zugegeben, der Code ist grausam formatiert, aber was soll man Anderes machen wenn man den "mal eben so" hinkotzt...
Code:
#include <stdio.h>
#include <string.h>
#include <windows.h>
char spiel1[30]="+---+---+---+\n| | | |";/*16,20,25*/
char spiel2[30]="\n+---+---+---+\n| | | |";/*17,21,25*/
char spiel3[45]="\n+---+---+---+\n| | | |\n+---+---+---+";/*17,21,25*/
void print_array(int abc[][3]){
int a,b;
for(a=0;a<=2;a++){
for(b=0;b<=2;b++){
printf("[ %i ]",abc[a][b]);
}
printf("\n");
}
}
void print_spielfeld(void){
printf("%s",spiel1);
printf("%s",spiel2);
printf("%s",spiel3);
printf("\n\n");
}
int spielende(int abc[][3]){
int a;
for(a=0;a<=2;a++){
if(abc[a][0]==1 && abc[a][1]==1 && abc[a][2]==1){
return 1;
}
}
for(a=0;a<=2;a++){
if(abc[0][a]==1 && abc[1][a]==1 && abc[2][a]==1){
return 1;
}
}
if(abc[0][0]==1 && abc[1][1]==1 && abc[2][2]==1 ||
abc[0][2]==1 && abc[1][1]==1 && abc[2][0]==1) {
return 1;
}
for(a=0;a<=2;a++){
if(abc[a][0]==0 && abc[a][1]==0 && abc[a][2]==0){
return 0;
}
}
for(a=0;a<=2;a++){
if(abc[0][a]==0 && abc[1][a]==0 && abc[2][a]==0){
return 0;
}
}
if(abc[0][0]==0 && abc[1][1]==0 && abc[2][2]==0 ||
abc[0][2]==0 && abc[1][1]==0 && abc[2][0]==0) {
return 0;
}
return 2;
}
void change_spielfeld(int abc[][3],int z,int s,int c){
char sur;
system("cls");
if (c==1){
sur='X';
} else {
sur='0';
}
switch(z) {
case 1:
switch(s){
case 1:
spiel1[16]=sur;
if (c==1){
abc[0][0]=1;
} else {
abc[0][0]=0;
}
break;
case 2:
spiel1[20]=sur;
if (c==1){
abc[0][1]=1;
} else {
abc[0][1]=0;
}
break;
case 3:
spiel1[24]=sur;
if (c==1){
abc[0][2]=1;
} else {
abc[0][2]=0;
}
break;
}
break;
case 2:
switch(s){
case 1:
spiel2[17]=sur;
if (c==1){
abc[1][0]=1;
} else {
abc[1][0]=0;
}
break;
case 2:
spiel2[21]=sur;
if (c==1){
abc[1][1]=1;
} else {
abc[1][1]=0;
}
break;
case 3:
spiel2[25]=sur;
if (c==1){
abc[1][2]=1;
} else {
abc[1][2]=0;
}
break;
}
break;
case 3:
switch(s){
case 1:
spiel3[17]=sur;
if (c==1){
abc[2][0]=1;
} else {
abc[2][0]=0;
}
break;
case 2:
spiel3[21]=sur;
if (c==1){
abc[2][1]=1;
} else {
abc[2][1]=0;
}
break;
case 3:
spiel3[25]=sur;
if (c==1){
abc[2][2]=1;
} else {
abc[2][2]=0;
}
break;
}
break;
}
print_spielfeld();
}
int main(void){
int z,s,n=0,durch=0,stat=0,zz=0;
int abc[3][3];
int a,b;
for(a=0;a<=2;a++){
for(b=0;b<=2;b++){
abc[a][b]=2;
}
}
print_spielfeld();
do{
print_array(abc);
printf("Zeile(1-3): ");
scanf("%i",&z);
printf("\nSpalte(1-3): ");
scanf("%i",&s);
change_spielfeld(abc,z,s,zz);
a=spielende(abc);
if (a!=2){
printf("Gratulation\nDer Spieler mit dem Zeichen %c hat gewonnen!",(a==1)?'X':'0');
Sleep(10000);
return 1;
}
if(zz==0){
zz=1;
} else {
zz=0;
}
durch++;
} while(durch < 9 && stat==0);
printf("\nLeider hat keiner von beiden gewonnen\n");
return 1;
}
Mechwarrior Online: Closed Beta...
Heute, 12:36 in gulli:news