Files
coffee_crisis_arcade_edition/source/enter_name.cpp
Sergio Valor 8ce09d1355 Acomodats els estats del jugador
El compte enrrere per a continuar ara ix al acabar la animació de morir
Afegit el estat "entering_name"
2024-09-29 10:40:35 +02:00

69 lines
1.2 KiB
C++

#include "enter_name.h"
#include <algorithm> // for max, min
// Constructor
EnterName::EnterName(std::string *name)
{
// Obtiene el puntero al nombre
this->name = name;
// Inicia la lista de caracteres permitidos
characterList = " ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
pos = 0;
numCharacters = (int)characterList.size();
for (int i = 0; i < NAME_LENGHT; ++i)
{
characterIndex[i] = 0;
}
}
// Destructor
EnterName::~EnterName()
{
}
// Incrementa la posición
void EnterName::incPos()
{
pos++;
pos = std::min(pos, NAME_LENGHT - 1);
}
// Decrementa la posición
void EnterName::decPos()
{
pos--;
pos = std::max(pos, 0);
}
// Incrementa el índice
void EnterName::incIndex()
{
++characterIndex[pos];
if (characterIndex[pos] >= numCharacters)
{
characterIndex[pos] = 0;
}
}
// Decrementa el índice
void EnterName::decIndex()
{
--characterIndex[pos];
if (characterIndex[pos] < 0)
{
characterIndex[pos] = numCharacters - 1;
}
}
// Actualiza la variable
void EnterName::updateName()
{
name->clear();
for (int i = 0; i < NAME_LENGHT; ++i)
{
name->push_back(characterList[characterIndex[i]]);
}
}