Compare commits

..

3 Commits

Author SHA1 Message Date
ranse 9a19260a6c Snake: prevent that "ma sich seiba fressn ko". 2023-09-25 22:22:44 +02:00
ranse 7a4448c852 Lower snake input debounce time. 2023-09-25 22:21:51 +02:00
ranse ac40b8ce27 Change "ZEHN VOR HALB" to "ZWANZIG NACH". 2023-09-25 22:20:49 +02:00
3 changed files with 7 additions and 7 deletions
+1 -1
View File
@@ -20,7 +20,7 @@
#ifdef DEBOUNCE_TIME
#undef DEBOUNCE_TIME
#endif
#define DEBOUNCE_TIME 300 // in ms
#define DEBOUNCE_TIME 250 // in ms
#define X_MAX 11
#define Y_MAX 11
+5 -5
View File
@@ -26,7 +26,7 @@ Snake::Snake()
* @param myledmatrix pointer to LEDMatrix object, need to provide gridAddPixel(x, y, col), gridFlush()
* @param mylogger pointer to UDPLogger object, need to provide a function logString(message)
*/
Snake::Snake(LEDMatrix * matrix, UDPLogger * logger)
Snake::Snake(LEDMatrix *matrix, UDPLogger *logger)
{
_logger = logger;
_ledmatrix = matrix;
@@ -58,7 +58,7 @@ void Snake::loopCycle()
*/
void Snake::ctrlUp()
{
if ((system_get_time() / 1000) > _lastButtonClick + DEBOUNCE_TIME && _gameState == GAME_STATE_RUNNING)
if (((system_get_time() / 1000) > (_lastButtonClick + DEBOUNCE_TIME)) && (_gameState == GAME_STATE_RUNNING) && (_userDirection != DIRECTION_UP))
{
_logger->log_string("Snake: UP");
_userDirection = DIRECTION_DOWN; // need to swap direction as field is rotated 180deg
@@ -72,7 +72,7 @@ void Snake::ctrlUp()
*/
void Snake::ctrlDown()
{
if ((system_get_time() / 1000) > _lastButtonClick + DEBOUNCE_TIME && _gameState == GAME_STATE_RUNNING)
if (((system_get_time() / 1000) > (_lastButtonClick + DEBOUNCE_TIME)) && (_gameState == GAME_STATE_RUNNING) && (_userDirection != DIRECTION_DOWN))
{
_logger->log_string("Snake: DOWN");
_userDirection = DIRECTION_UP; // need to swap direction as field is rotated 180deg
@@ -86,7 +86,7 @@ void Snake::ctrlDown()
*/
void Snake::ctrlRight()
{
if ((system_get_time() / 1000) > _lastButtonClick + DEBOUNCE_TIME && _gameState == GAME_STATE_RUNNING)
if (((system_get_time() / 1000) > (_lastButtonClick + DEBOUNCE_TIME)) && (_gameState == GAME_STATE_RUNNING) && (_userDirection != DIRECTION_RIGHT))
{
_logger->log_string("Snake: RIGHT");
_userDirection = DIRECTION_LEFT; // need to swap direction as field is rotated 180deg
@@ -100,7 +100,7 @@ void Snake::ctrlRight()
*/
void Snake::ctrlLeft()
{
if ((system_get_time() / 1000) > _lastButtonClick + DEBOUNCE_TIME && _gameState == GAME_STATE_RUNNING)
if (((system_get_time() / 1000) > (_lastButtonClick + DEBOUNCE_TIME)) && (_gameState == GAME_STATE_RUNNING) && (_userDirection != DIRECTION_LEFT))
{
_logger->log_string("Snake: LEFT");
_userDirection = DIRECTION_RIGHT; // need to swap direction as field is rotated 180deg
+1 -1
View File
@@ -133,7 +133,7 @@ String time_to_string(uint8_t hours, uint8_t minutes)
}
else if (minutes >= 20 && minutes < 25)
{
message += "ZEHN VOR HALB ";
message += "ZWANZIG NACH ";
}
else if (minutes >= 25 && minutes < 30)
{