Foro: Dudas y Consultas

Trabajo Final

Trabajo Final

de Usuario eliminado -
Número de respuestas: 1

Buenas profe, estaria bien mi modulo para repartir las cartas a los jugadores ? saludos

const int MAX_PLAYERS=5;
typedef char tcad[30];
typedef struct tnodo *pnod;
typedef struct tnodo{
tbaraja dato;
pnod sig;
pnod ant;
};
typedef struct tclave{
tjugador reg;
pnod inicio;
};
typedef tclave tindice[MAX_PLAYERS];

 

void crear_nodo2(pnod &nuevo, tbaraja ba){
nuevo=new tnodo;
if(nuevo!=NULL){
nuevo->dato=ba;
nuevo->sig=NULL;
nuevo->ant=NULL;
}
}
void agregar_cartas_jugador(tclave lista, pnod nuevo){
pnod i;
if(lista.inicio==NULL){
lista.inicio=nuevo;
}else{
for(i=lista.inicio;i->sig!=NULL;i=i->sig);
i->sig=nuevo;
nuevo->ant=i;
}
}
void repartir_cartas(tindice &i, tcola &lista, int cont_players){
int x=0,cont_cartas=0;
tbaraja carta;
pnod nuevo;
while(cont_cartas<5 && x<cont_players){
quitar_cola(lista,carta); //quita del mazo
crear_nodo2(nuevo,carta);
agregar_cartas_jugador(i[x].inicio,nuevo);
cont_cartas++;
if(cont_cartas==4){
x++;
cont_cartas=0;
}
}
}

En respuesta a Usuario eliminado

Re: Trabajo Final

de Verónica Torres -
Hola Francisco, sería válido pero en tu planteo siempre jugarias con 5 jugadores y ten presente que no tienes cartas suficientes para es cantidad ya que necesitarías 50 cartas en total.
Podrías preguntar de antemano cuantos jugadores participan o ir agregando a cada jugador que decida participar de la partida