wfx / teg

Tenes Empanadas Graciela (TEG) is a clone of 'Plan Tactico y Estrategico de la Guerra', which is a pseudo-clone of Risk, a multiplayer turn-based strategy game.
GNU General Public License v2.0
52 stars 14 forks source link

Repetición de tarjetas país #50

Open MartinQuesada opened 7 months ago

MartinQuesada commented 7 months ago

Buenas,

Desde siempre hubo un pequeño error en el juego: Cuando devolvés una tarjeta, en lugar de ir a una pila de descarte, se reinicializa y vuelve al stock. Y eso hace que la tarjeta vuelva a salir antes que salgan otras que aún no salieron. Hace un tiempo solucioné eso agregando un par de líneas a tarjetas.h y tarjetas.c. Les pasó los cambios por si quieren arreglarlo.

tarjeta.h Insertar después de void tarjeta_inittarj(PTARJETA t); void tarjeta_pilasdescarte( PTARJETA t ); /* Nueva línea de código*/

tarjeta.cpp Insertar después de void tarjeta_inittarj(PTARJETA t) void tarjeta_piladescarte( PTARJETA t ) { t->usada = FALSE; t->numjug = -2; }

Cambiar void tarjeta_poner(PTARJETA t) { tarjeta_inittarj(t); }

por void tarjeta_poner(PTARJETA t) { tarjeta_piladescarte(t); }

Y por último, cambiar bool tarjeta_es_libre(int i) { return(g_countries[i].tarjeta.numjug == -1); }

por bool tarjeta_es_libre(int i) { if( !g_countries[i].tarjeta.numjug == -1 ) { for( i=0;i<COUNTRIES_CANT;i++ ) { if( g_countries[i].tarjeta.numjug == -2 ) { g_countries[i].tarjeta.numjug = -1; } } } return( g_countries[i].tarjeta.numjug == -1 ); }

Espero que les sirva.

ranft commented 7 months ago

@MartinQuesada I did an automatic translation of your issue, can you say if this is correct?

There has always been a small bug in the game: When you return a card, instead of going to a discard pile, it resets and goes back into stock. And that makes the card come out again before others that haven't come out yet. A while back I fixed that by adding a couple of lines to.h cards and.c cards. He passed on the changes to them in case they want to fix it.

MartinQuesada commented 7 months ago

@ranft Yes, It is. That's perfect.