No canviava al marcador, ni el nom del que tenia la maxima puntuació en calent ni al posar nom retallat el nom de 8 a 6 caracters, i tots en majuscula pa que capia en el marcador ja actualitza be la cadena amb el nom al posar nom per segona vegada en la mateixa partida
65 lines
2.0 KiB
C++
65 lines
2.0 KiB
C++
#pragma once
|
||
|
||
#include <string>
|
||
|
||
constexpr int NAME_LENGHT = 6;
|
||
|
||
/*
|
||
Un array, "characterList", contiene la lista de caracteres
|
||
Un segundo array, "characterIndex", contiene el indice a "characterList" de cada una de las letras que conforman el nombre
|
||
"pos" es la posición de "characterIndex" que se está modificando
|
||
Izquierda o derecha modifican "pos", arriba o abajo modifican el índice de "characterIndex[pos]"
|
||
Pulsar cualquier botón, mueve "pos" a la derecha. Al pulsar el botón en la ´´ultima posición se finaliza la introducción de nombres
|
||
*/
|
||
|
||
// Clase EnterName
|
||
class EnterName
|
||
{
|
||
private:
|
||
std::string character_list_; // Lista de todos los caracteres permitidos
|
||
std::string name_; // Nombre introducido
|
||
int position_; // Posición a editar del nombre
|
||
int num_characters_; // Cantidad de caracteres de la lista de caracteres
|
||
int character_index_[NAME_LENGHT]; // Indice de la lista para cada uno de los caracteres que forman el nombre
|
||
bool position_has_been_used_[NAME_LENGHT]; // Indica si en esa posición se ha puesto ya alguna letra. Se utiliza para replicar la letra anterior la primera vez
|
||
|
||
// Actualiza el nombre a partir de la lista de índices
|
||
void updateName();
|
||
|
||
// Actualiza la variable
|
||
void updateCharacterIndex();
|
||
|
||
// Encuentra el indice de un caracter en "characterList"
|
||
int findIndex(char character) const;
|
||
|
||
// Comprueba la posición y copia el caracter si es necesario
|
||
void checkIfPositionHasBeenUsed();
|
||
|
||
public:
|
||
// Constructor
|
||
EnterName();
|
||
|
||
// Destructor
|
||
~EnterName() = default;
|
||
|
||
// Inicializa el objeto
|
||
void init();
|
||
|
||
// Incrementa la posición
|
||
void incPosition();
|
||
|
||
// Decrementa la posición
|
||
void decPosition();
|
||
|
||
// Incrementa el índice
|
||
void incIndex();
|
||
|
||
// Decrementa el índice
|
||
void decIndex();
|
||
|
||
// Obtiene el nombre
|
||
std::string getName() const;
|
||
|
||
// Obtiene la posición que se está editando
|
||
int getPosition() const;
|
||
}; |