tJuego InicialitzarJoc(tJoc *Juego, int altura, int ancho) {
Juego->Tablero = CrearTauler(altura, ancho);
Juego->P1 = IniciarPila();
Juego->P2 = IniciarPila();
[COLOR=red]Juego->Cuc = CreaCuc();[/COLOR]
Juego->nRondas = 0;
Juego->nTiradas = 0;
return *Juego;
}
int Jugar(tJoc *Juego, tCarta *carta) {
int i;
tCarta C;
tTramo *tram;
tram = CrearTramo(carta->pal, carta->num);
/* Añado el tramo al gusano */
[COLOR=red]i = AfegeixTramCuc(Juego->Cuc, tram);[/COLOR]
switch (carta->pal) {
case 1:
printf("OROS: Derecha\n");
break;
case 2:
printf("BASTOS: Izquierda\n");
break;
case 3:
printf("COPAS: Arriba\n");
break;
case 4:
printf("ESPADAS: Abajo\n");
break;
}
}
void Repetir(tJoc *Juego) {
int i;
tCarta C;
tPila pila;
/* Repetir */
while (Juego->P1->cap != NULL) {
/* Sacar una carta C de P1 */
i = Desempilar(Juego->P1, &C);
/* If C se puede jugar entonces */
If (Jugar(&Juego, &C)) {
/* Añadir C al gusano */
/* Actualizar el tablero */
/* Sumar 1 a la puntuación */
/* Else */
/* Añadir C a P2 */
/* Restar k puntos de la puntuación */
} /* Fin de If */
/* Mostrar el tablero por pantalla */
/* Si el usuario quiere, pedir otra acción */
} /* Fin del While */
}