#pragma once #include 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; };