clean code adding a menu class
This commit is contained in:
@@ -10,6 +10,6 @@
|
||||
#define PADDLE_LENGTH 3
|
||||
#define INITIAL_BALL_DELAY 200
|
||||
|
||||
#define MAX_POINTS 9
|
||||
#define START_TIMER 3
|
||||
#define MAX_POINTS 2
|
||||
#define START_TIMER 2
|
||||
#define FIRST_START_BALL_DELAY 500
|
||||
|
||||
42
src/menu.cpp
Normal file
42
src/menu.cpp
Normal file
@@ -0,0 +1,42 @@
|
||||
#include "menu.h"
|
||||
|
||||
void Menu::next_mode() {
|
||||
if (_game_mode < _game_modes(COUNT_MODES) - 1)
|
||||
_game_mode= _game_modes(_game_mode+1);
|
||||
}
|
||||
|
||||
void Menu::prev_mode() {
|
||||
if (_game_mode > 0) {
|
||||
_game_mode= _game_modes(_game_mode-1);
|
||||
}
|
||||
}
|
||||
|
||||
uint8_t Menu::get_mode() {
|
||||
return _game_mode;
|
||||
}
|
||||
|
||||
uint8_t Menu::number_of_bots() {
|
||||
if (_game_mode == PVC) return 1;
|
||||
else if (_game_mode == CVC) return 2;
|
||||
return 0;
|
||||
}
|
||||
|
||||
void Menu::increase_skills() {
|
||||
if (_bot_skill < _bot_skill_levels(COUNT_SKILLS) - 1)
|
||||
_bot_skill= _bot_skill_levels(_bot_skill+1);
|
||||
}
|
||||
|
||||
void Menu::decrease_skills() {
|
||||
if (_bot_skill > 0) {
|
||||
_bot_skill= _bot_skill_levels(_bot_skill-1);
|
||||
}
|
||||
}
|
||||
|
||||
uint8_t Menu::get_skill() {
|
||||
return _bot_skill;
|
||||
}
|
||||
|
||||
void Menu::reset_menu() {
|
||||
_game_mode= PVP;
|
||||
_bot_skill= EASY;
|
||||
}
|
||||
26
src/menu.h
Normal file
26
src/menu.h
Normal file
@@ -0,0 +1,26 @@
|
||||
#ifndef MENU_H
|
||||
#define MENU_H
|
||||
|
||||
#include <Arduino.h>
|
||||
#include "font.h"
|
||||
|
||||
class Menu {
|
||||
|
||||
private:
|
||||
enum _game_modes : uint8_t {PVP, PVC, CVC, COUNT_MODES};
|
||||
_game_modes _game_mode = PVP;
|
||||
enum _bot_skill_levels : uint8_t {EASY, HARD, COUNT_SKILLS};
|
||||
_bot_skill_levels _bot_skill = EASY;
|
||||
|
||||
public:
|
||||
void next_mode();
|
||||
void prev_mode();
|
||||
uint8_t get_mode();
|
||||
uint8_t number_of_bots();
|
||||
void increase_skills();
|
||||
void decrease_skills();
|
||||
uint8_t get_skill();
|
||||
void reset_menu();
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -121,7 +121,7 @@ uint8_t BotPaddle::get_skills() {
|
||||
}
|
||||
|
||||
void BotPaddle::set_skills(uint8_t skills) {
|
||||
if (skills < 0) _skills= 0;
|
||||
else if (skills > 1) _skills= 1;
|
||||
if (skills < 1) _skills= 1;
|
||||
else if (skills > 2) _skills= 2;
|
||||
else _skills= skills;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user