diff options
| author | XaviDCR92 <xavi.dcr@gmail.com> | 2018-07-26 21:22:28 +0200 |
|---|---|---|
| committer | XaviDCR92 <xavi.dcr@gmail.com> | 2018-07-26 21:22:28 +0200 |
| commit | c3a69de5c2e822d91e8284ac65eda83fed6476ba (patch) | |
| tree | fce44421bdb8230cfcb2b614ea00b26439f4e67d | |
| parent | bfdc0b9f497ef10f6687abcc55d93405c611af11 (diff) | |
+ BaseUnit.cpp, BaseUnit.h: added simple member functions for extracting BaseUnit protected data.
+ HumanPlayer.cpp: started implementing unit selection. Still TODO.
| -rw-r--r-- | BaseUnit.cpp | 36 | ||||
| -rw-r--r-- | BaseUnit.h | 3 | ||||
| -rw-r--r-- | HumanPlayer.cpp | 24 | ||||
| -rw-r--r-- | PocketEmpires.geany | 12 |
4 files changed, 69 insertions, 6 deletions
diff --git a/BaseUnit.cpp b/BaseUnit.cpp index 55ee7de..c06a6b4 100644 --- a/BaseUnit.cpp +++ b/BaseUnit.cpp @@ -66,3 +66,39 @@ void BaseUnit::create(const uint16_t x, const uint16_t y) void BaseUnit::handler(void) { } + +/*****************************************************************//** + * + * \brief Returns Unit alive flag. + * + * \return Returns true if Unit object is alive, false otherwise. + * + *********************************************************************/ +bool BaseUnit::isAlive(void) +{ + return _alive; +} + +/*****************************************************************//** + * + * \brief Returns Unit selected flag. + * + * \return Returns true if Unit object is selected, false otherwise. + * + *********************************************************************/ +bool BaseUnit::isSelected(void) +{ + return _selected; +} + +/*****************************************************************//** + * + * \brief Returns Unit X coordinates. + * + * \return Returns Unit X coordinates. + * + *********************************************************************/ +uint16_t BaseUnit::getX(void) +{ + return _x; +} @@ -34,6 +34,9 @@ class BaseUnit explicit BaseUnit(void); void handler(void); void create(const uint16_t x, const uint16_t y); + bool isAlive(void); + bool isSelected(void); + uint16_t getX(void); protected: uint16_t _hp; /**< Health points. */ diff --git a/HumanPlayer.cpp b/HumanPlayer.cpp index d13bc6b..02bda69 100644 --- a/HumanPlayer.cpp +++ b/HumanPlayer.cpp @@ -123,4 +123,28 @@ void HumanPlayer::drawHandler(void) *********************************************************************/ enum tPlayerState HumanPlayer::selectUnit(void) { + for (size_t szUnit = 0; szUnit < MAX_UNITS; szUnit++) + { + /* Select Unit object from internal table. */ + Unit& u = _unitsMap[szUnit]; + + if (u.isAlive()) + { + if (not u.isSelected()) + { + /* Extract Unit object X position. */ + const uint16_t x = u.getX(); + +#error ("TODO") + } + else + { + /* Unit is already selected. Continue. */ + } + } + else + { + /* Unit is not alive. Continue. */ + } + } } diff --git a/PocketEmpires.geany b/PocketEmpires.geany index 89d5168..42bae1c 100644 --- a/PocketEmpires.geany +++ b/PocketEmpires.geany @@ -28,7 +28,7 @@ long_line_behaviour=1 long_line_column=120 [files] -current_page=37 +current_page=36 FILE_NAME_0=0;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2Fmain.cpp;0;4 FILE_NAME_1=3821;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FMenu.cpp;0;4 FILE_NAME_2=549;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FPad.cpp;0;4 @@ -38,7 +38,7 @@ FILE_NAME_5=611;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FPad. FILE_NAME_6=1102;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FPlayer.h;0;4 FILE_NAME_7=453;Make;0;EUTF-8;1;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FMakefile;0;4 FILE_NAME_8=2168;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FSystem.cpp;0;4 -FILE_NAME_9=1739;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FHumanPlayer.h;0;4 +FILE_NAME_9=1689;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FHumanPlayer.h;0;4 FILE_NAME_10=1827;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FPlayer.cpp;0;4 FILE_NAME_11=2960;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FGame.cpp;0;4 FILE_NAME_12=571;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FGame.h;0;4 @@ -53,8 +53,8 @@ FILE_NAME_20=3497;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FLi FILE_NAME_21=1135;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FLibs%2Flibgamebuino%2FButtons.h;0;4 FILE_NAME_22=3441;C;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FLibs%2Flibgamebuino%2Fsettings.c;0;4 FILE_NAME_23=19868;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FLibs%2Flibgamebuino%2FDisplay.cpp;0;4 -FILE_NAME_24=1492;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FBaseUnit.cpp;0;4 -FILE_NAME_25=1230;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FBaseUnit.h;0;4 +FILE_NAME_24=3082;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FBaseUnit.cpp;0;4 +FILE_NAME_25=1289;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FBaseUnit.h;0;4 FILE_NAME_26=1511;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FUnit.h;0;4 FILE_NAME_27=1197;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FUnit.cpp;0;4 FILE_NAME_28=0;None;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FBarracksSpr.i;0;4 @@ -65,8 +65,8 @@ FILE_NAME_32=0;None;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FTowe FILE_NAME_33=0;None;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FTownCentre.i;0;4 FILE_NAME_34=2402;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FCursor.cpp;0;4 FILE_NAME_35=1300;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FCursor.h;0;4 -FILE_NAME_36=3153;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FHumanPlayer.cpp;0;4 -FILE_NAME_37=0;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FHumanPlayerBtn.cpp;0;4 +FILE_NAME_36=3994;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FHumanPlayer.cpp;0;4 +FILE_NAME_37=6419;C++;0;EUTF-8;0;1;0;%2Fhome%2Fxavier%2FPocketEmpires%2Fsrc%2FHumanPlayerBtn.cpp;0;4 [VTE] last_dir=/home/xavier/PocketEmpires/src |
