Cpp/JuegoSudoku_FernandoMéndez/ListaJugadores.h

35 lines
2.1 KiB
C
Raw Normal View History

2019-06-20 12:06:27 +02:00
//Sudoku - Fernando M<>ndez Torrubiano
#ifndef H_LISTAJUGADORES_H
#define H_LISTAJUGADORES_H
#pragma once
#include <iostream>
#include <string>
#include <fstream>
#include <iomanip>
#include "RegistroJugador.h"
//Constantes:
//const int MAX_JGD = 9;
//Tipos:
typedef struct tListaJugadores {
tRegJugador** jugadores; //El primer asterisco indica que el array es din<69>mico, el segundo indica que cada campo del array son punteros a datos.
int capacidad;
int contador;
};
//Funciones:
void iniciar(tListaJugadores& lista); //Inicializa<7A>lista<74>a<EFBFBD>lista<74>vac<61>a.
bool cargar(tListaJugadores& lista); //Guarda<64>en<65>lista<74>el<65>contenido del<65>archivo<76>listaJugadores.txt;<3B>devuelve<76>un<75>booleano<6E>que<75>indica<63>si<73>la<6C>carga<67>se<73>ha<68>podido<64>realizar.
void mostrar(const tListaJugadores& lista); //Visualiza<7A>en<65>la<6C>consola la<6C>lista<74>de<64>jugadores<65>dada.
bool guardar(const tListaJugadores& lista); //Almacena<6E>en<65>el<65>archivo registroJugadores.txt<78>el<65>contenido<64>de<64>lista<74>y<EFBFBD>devuelve<76>un<75>valor<6F>booleano<6E> indicando<64>si<73>la<6C>acci<63>n<EFBFBD>fue<75>posible.Debe<62>respetar<61>el<65>formato<74>indicado<64>para<72>el<65> archivo.
bool buscar(const tListaJugadores& lista, const tRegJugador& jugador, int& pos); //Busca en lista al jugador; devuelve true y la posici<63>n(pos) en la que se encuentra si el jugador est<73> en la lista; devuelve false y la posici<63>n(pos) en la que deber<65>a estar si el jugador no est<73> en la lista. Debes implementar una b<>squeda binaria utilizando el operador < del m<>dulo RegistroJugador.
bool actualizar(tListaJugadores& lista, const tRegJugador& jugador); //Si<53>el<65>jugador<6F>se<73>encuentra<72>ya<79>en<65>la<6C>lista, actualiza<7A>su<73>informaci<63>n<EFBFBD>con<6F>los nuevos puntos; en otro caso, si la lista no<6E>est<73><74>llena, lo inserta<74>ordenadamente<74>en<65>la<6C>lista.
void mostrarXRanking(const tListaJugadores& lista); //Muestra<72>los jugadores<65>de la lista dada ordenados por ranking<6E>(decrecientemente<74>por puntos, y<>a<EFBFBD>igualdad<61>de<64>puntos<6F>crecientemente<74>por<6F>identificador).
void ampliar(tListaJugadores& lista, int num); //Ampl<70>a el tama<6D>o del array din<69>mico de lista a num elemento m<>s.Los datos de los jugadores que ya existen en la lista deben mantenerse.
void liberar(tListaJugadores& lista); //Libera la memoria din<69>mica usada por lista.
#endif