Files
coffee_crisis_arcade_edition/source/enter_name.h

61 lines
1.7 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#pragma once
#include <string>
constexpr int NAME_LENGHT = 8;
/*
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 pos_; // 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
// Actualiza la variable
void updateName();
// Actualiza la variable
void updateCharacterIndex();
// Encuentra el indice de un caracter en "characterList"
int findIndex(char character);
public:
// Constructor
EnterName();
// Destructor
~EnterName() = default;
// Inicializa el objeto
void init();
// Incrementa la posición
void incPos();
// Decrementa la posición
void decPos();
// 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 getPos() const;
};