juego tres en raya
Publicado por liado (2 intervenciones) el 28/02/2006 16:41:24
Hola, yo tambien tengo que hacer e juego del tres en raya,. he visto en los foros uno pero es contra el pc yo tengoq ue hacer jugador contra jugador, el problema es que no se muy bien que es lo que eta fallando en el programa y tengo a cabeza echa un lio.
A ver si alguien logra hacer que funcione correctamente.Saludos
Código:
A ver si alguien logra hacer que funcione correctamente.Saludos
Código:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
/*REALIZAR JUEGO TRES EN RAYA: JUGADOR CONTRA JUGADOR*/
#include <conio.h>
#include <stdio.h>
#include <string.h>
#include <dos.h>
void tablero (int,int);
void jugador1(void);
void jugador2(void);
char matriz [3][3];
int comprueba(void);
void main(void)
{
printf("BIENVENIDO AL TRES EN RAYA\n");
printf("--------------------------\n");
printf("Las posiciones empiezan en '0' y acaban en '2'\n\n");
do
{
jugador1();
jugador2();
}
while(comprueba!=0);
getch();
}
void jugador1(void)
{
int i,j;
printf("\n\nJugador 1, introduce una posicion\n\n");
printf("\n\n FILA : ");
scanf("%d",&i);
printf("\nCOLUMNA : ");
scanf("%d",&j);
if(i>3 || j>3)
{
printf("\n\nLo siento,esa coordenada no existe");
}
else
{
matriz[i][j]='X';
tablero(i,j);
}
comprueba();
getch();
}
void jugador2(void)
{
int i,j;
printf("\n\nJugador 2, introduce una posicion\n\n");
printf("\n\n FILA : ");
scanf("%d",&i);
printf("\nCOLUMNA : ");
scanf("%d",&j);
if(i>3 || j>3)
{
printf("\n\nLo siento,esa coordenada no existe");
}
else
{
matriz[i][j]='O';
tablero(i,j);
}
getch();
comprueba();
return;
}
int comprueba (void)
{
//gana jugador 1
if(matriz[0][0]== matriz[0][1] && matriz[0][1]==matriz[0][2]&& matriz[0][0]=='X')
{
printf("Jugador 1, has ganado la partida!!");
if(matriz[0][0]== matriz[0][1] && matriz[0][1]==matriz[0][2]&& matriz[0][0]=='O')
printf("Jugador 2, has ganado la partida!!");
}
if(matriz[0][0]== matriz[1][0] && matriz[1][0]==matriz[2][0]&& matriz[0][0]=='X')
{
printf("Jugador 1, has ganado la partida!!");
}
if(matriz[0][1]== matriz[1][1] && matriz[2][1]==matriz[2][1]&& matriz[0][1]=='O')
{
printf("Jugador 1, has ganado la partida!!");
}
if(matriz[0][2]== matriz[1][2] && matriz[2][2]==matriz[2][2]&& matriz[0][2]=='O')
{
printf("Jugador 1, has ganado la partida!!");
}
if(matriz[0][2]== matriz[1][1] && matriz[2][0]==matriz[2][0]&& matriz[0][2]=='O')
{
printf("Jugador 1, has ganado la partida!!");
}
return(1);
}
void tablero (int i,int j)
{
clrscr();
printf("\n\n 0 | 1 | 2 \n");
printf("-------------------\n");
printf(" 0 %c | %c | %c\n",matriz[0][0],matriz[0][1],matriz[0][2]);
printf("-------------------\n");
printf(" 1 %c | %c | %c\n",matriz[1][0],matriz[1][1],matriz[1][2]);
printf("-------------------\n");
printf(" 2 %c | %c | %c\n",matriz[2][0],matriz[2][1],matriz[2][2]);
return;
}
Valora esta pregunta


0