This commit is contained in:
Thomas R 2022-01-13 10:23:26 +01:00
parent 8b89320830
commit 8849d1b66c
No known key found for this signature in database
GPG Key ID: E538821A6CDFDAD7
8 changed files with 18 additions and 18 deletions

View File

@ -133,7 +133,7 @@ Include dependency graph for display.cpp:</div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a72e79615fef9e4505aad10d5b4fb4b5e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d86/display_8cpp.html#a72e79615fef9e4505aad10d5b4fb4b5e">applyBezierCurbe</a> (<a class="el" href="../../d5/d60/utils_8h.html#aaa06d516441b519f8892f37adafeade2">Position</a> &amp;pos, const <a class="el" href="../../d5/d60/utils_8h.html#aaa06d516441b519f8892f37adafeade2">Position</a> &amp;point, const double percent)</td></tr>
<tr class="memitem:a72e79615fef9e4505aad10d5b4fb4b5e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d86/display_8cpp.html#a72e79615fef9e4505aad10d5b4fb4b5e">applyBezierCurve</a> (<a class="el" href="../../d5/d60/utils_8h.html#aaa06d516441b519f8892f37adafeade2">Position</a> &amp;pos, const <a class="el" href="../../d5/d60/utils_8h.html#aaa06d516441b519f8892f37adafeade2">Position</a> &amp;point, const double percent)</td></tr>
<tr class="separator:a72e79615fef9e4505aad10d5b4fb4b5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
@ -147,13 +147,13 @@ SIMAILA Djalim </dd></dl>
<p class="definition">Definition in file <a class="el" href="../../db/d86/display_8cpp_source.html">display.cpp</a>.</p>
</div><h2 class="groupheader">Function Documentation</h2>
<a id="a72e79615fef9e4505aad10d5b4fb4b5e" name="a72e79615fef9e4505aad10d5b4fb4b5e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a72e79615fef9e4505aad10d5b4fb4b5e">&#9670;&nbsp;</a></span>applyBezierCurbe()</h2>
<h2 class="memtitle"><span class="permalink"><a href="#a72e79615fef9e4505aad10d5b4fb4b5e">&#9670;&nbsp;</a></span>applyBezierCurve()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void applyBezierCurbe </td>
<td class="memname">void applyBezierCurve </td>
<td>(</td>
<td class="paramtype"><a class="el" href="../../d5/d60/utils_8h.html#aaa06d516441b519f8892f37adafeade2">Position</a> &amp;&#160;</td>
<td class="paramname"><em>pos</em>, </td>

View File

@ -169,7 +169,7 @@ $(document).ready(function(){initNavTree('db/d86/display_8cpp_source.html','../.
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> }</div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span>}</div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> </div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"><a class="line" href="../../db/d86/display_8cpp.html#a72e79615fef9e4505aad10d5b4fb4b5e"> 96</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="../../db/d86/display_8cpp.html#a72e79615fef9e4505aad10d5b4fb4b5e">applyBezierCurbe</a>(<a class="code hl_typedef" href="../../d5/d60/utils_8h.html#aaa06d516441b519f8892f37adafeade2">Position</a>&amp; pos, <span class="keyword">const</span> <a class="code hl_typedef" href="../../d5/d60/utils_8h.html#aaa06d516441b519f8892f37adafeade2">Position</a>&amp; point, <span class="keyword">const</span> <span class="keywordtype">double</span> percent) {</div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"><a class="line" href="../../db/d86/display_8cpp.html#a72e79615fef9e4505aad10d5b4fb4b5e"> 96</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="../../db/d86/display_8cpp.html#a72e79615fef9e4505aad10d5b4fb4b5e">applyBezierCurve</a>(<a class="code hl_typedef" href="../../d5/d60/utils_8h.html#aaa06d516441b519f8892f37adafeade2">Position</a>&amp; pos, <span class="keyword">const</span> <a class="code hl_typedef" href="../../d5/d60/utils_8h.html#aaa06d516441b519f8892f37adafeade2">Position</a>&amp; point, <span class="keyword">const</span> <span class="keywordtype">double</span> percent) {</div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> pos += (point-pos)*percent;</div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span>}</div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> </div>
@ -207,8 +207,8 @@ $(document).ready(function(){initNavTree('db/d86/display_8cpp_source.html','../.
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> <a class="code hl_typedef" href="../../d5/d60/utils_8h.html#aaa06d516441b519f8892f37adafeade2">Position</a> pos(god.<a class="code hl_function" href="../../d0/d2f/class_god.html#a64e48ec11bf4039c9204ead815809ec1">getRightHandPos</a>(pm-&gt;getScreenWidth()));</div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> <a class="code hl_typedef" href="../../d5/d60/utils_8h.html#aaa06d516441b519f8892f37adafeade2">Position</a> endPos = invIndexToPos(god.<a class="code hl_variable" href="../../d0/d2f/class_god.html#ae7ed525f130083f511728c791c35a95d">thrownInvPosX</a>, god.<a class="code hl_variable" href="../../d0/d2f/class_god.html#a26fbb775dff480eaa6a19d4a3ef9731c">thrownInvPosY</a>);</div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> </div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> <a class="code hl_function" href="../../db/d86/display_8cpp.html#a72e79615fef9e4505aad10d5b4fb4b5e">applyBezierCurbe</a>(pos, god.<a class="code hl_variable" href="../../d0/d2f/class_god.html#a41b9ceec78e403a54cf8afaf6e50519a">thrownTransition</a>, god.<a class="code hl_variable" href="../../d0/d2f/class_god.html#a1000165e05f6719539b7702ab3f09a66">counter</a> / 100.0);</div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> <a class="code hl_function" href="../../db/d86/display_8cpp.html#a72e79615fef9e4505aad10d5b4fb4b5e">applyBezierCurbe</a>(pos, endPos, god.<a class="code hl_variable" href="../../d0/d2f/class_god.html#a1000165e05f6719539b7702ab3f09a66">counter</a> / 100.0);</div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> <a class="code hl_function" href="../../db/d86/display_8cpp.html#a72e79615fef9e4505aad10d5b4fb4b5e">applyBezierCurve</a>(pos, god.<a class="code hl_variable" href="../../d0/d2f/class_god.html#a41b9ceec78e403a54cf8afaf6e50519a">thrownTransition</a>, god.<a class="code hl_variable" href="../../d0/d2f/class_god.html#a1000165e05f6719539b7702ab3f09a66">counter</a> / 100.0);</div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> <a class="code hl_function" href="../../db/d86/display_8cpp.html#a72e79615fef9e4505aad10d5b4fb4b5e">applyBezierCurve</a>(pos, endPos, god.<a class="code hl_variable" href="../../d0/d2f/class_god.html#a1000165e05f6719539b7702ab3f09a66">counter</a> / 100.0);</div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> </div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> <span class="comment">// pos is now the position we need to draw our hand to</span></div>
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> pm-&gt;drawSprite(pm-&gt;rightHand, pos);</div>
@ -256,7 +256,7 @@ $(document).ready(function(){initNavTree('db/d86/display_8cpp_source.html','../.
<div class="ttc" id="aclass_god_html_ad41071cd3e9f51419411e4fd1a0c63c5"><div class="ttname"><a href="../../d0/d2f/class_god.html#ad41071cd3e9f51419411e4fd1a0c63c5">God::thrownInvType</a></div><div class="ttdeci">InvaderType thrownInvType</div><div class="ttdoc">type of the invader thrown by the hand of god</div><div class="ttdef"><b>Definition:</b> <a href="../../d4/d57/god_8h_source.html#l00075">god.h:75</a></div></div>
<div class="ttc" id="aclass_god_html_ae7ed525f130083f511728c791c35a95d"><div class="ttname"><a href="../../d0/d2f/class_god.html#ae7ed525f130083f511728c791c35a95d">God::thrownInvPosX</a></div><div class="ttdeci">unsigned thrownInvPosX</div><div class="ttdoc">x index (column in the grid) of the invader thrown by the hand of god</div><div class="ttdef"><b>Definition:</b> <a href="../../d4/d57/god_8h_source.html#l00065">god.h:65</a></div></div>
<div class="ttc" id="aclass_torpedo_html"><div class="ttname"><a href="../../d7/d75/class_torpedo.html">Torpedo</a></div><div class="ttdoc">player's projectiles</div><div class="ttdef"><b>Definition:</b> <a href="../../d7/d5b/projectiles_8h_source.html#l00022">projectiles.h:22</a></div></div>
<div class="ttc" id="adisplay_8cpp_html_a72e79615fef9e4505aad10d5b4fb4b5e"><div class="ttname"><a href="../../db/d86/display_8cpp.html#a72e79615fef9e4505aad10d5b4fb4b5e">applyBezierCurbe</a></div><div class="ttdeci">void applyBezierCurbe(Position &amp;pos, const Position &amp;point, const double percent)</div><div class="ttdef"><b>Definition:</b> <a href="../../db/d86/display_8cpp_source.html#l00096">display.cpp:96</a></div></div>
<div class="ttc" id="adisplay_8cpp_html_a72e79615fef9e4505aad10d5b4fb4b5e"><div class="ttname"><a href="../../db/d86/display_8cpp.html#a72e79615fef9e4505aad10d5b4fb4b5e">applyBezierCurve</a></div><div class="ttdeci">void applyBezierCurve(Position &amp;pos, const Position &amp;point, const double percent)</div><div class="ttdef"><b>Definition:</b> <a href="../../db/d86/display_8cpp_source.html#l00096">display.cpp:96</a></div></div>
<div class="ttc" id="agame_8h_html"><div class="ttname"><a href="../../d2/dd5/game_8h.html">game.h</a></div><div class="ttdoc">full game logic and display management</div></div>
<div class="ttc" id="agod_8h_html_a0b3ad1c15e80936f3ee35f4ff91f243c"><div class="ttname"><a href="../../d4/d57/god_8h.html#a0b3ad1c15e80936f3ee35f4ff91f243c">GOD_HAND_DISTANCE</a></div><div class="ttdeci">#define GOD_HAND_DISTANCE</div><div class="ttdef"><b>Definition:</b> <a href="../../d4/d57/god_8h_source.html#l00036">god.h:36</a></div></div>
<div class="ttc" id="agod_8h_html_a321d9614200c924cf991c5b08808be80"><div class="ttname"><a href="../../d4/d57/god_8h.html#a321d9614200c924cf991c5b08808be80">GOD_BENCH_SIZE</a></div><div class="ttdeci">#define GOD_BENCH_SIZE</div><div class="ttdef"><b>Definition:</b> <a href="../../d4/d57/god_8h_source.html#l00034">god.h:34</a></div></div>

View File

@ -93,7 +93,7 @@ $(document).ready(function(){initNavTree('globals.html',''); initResizable(); })
<h3><a id="index_a" name="index_a"></a>- a -</h3><ul>
<li>ADD_SPRITE_TASK&#160;:&#160;<a class="el" href="df/db7/pixel_manager_8h.html#a727fdd9384375b1d268475980118b158">pixelManager.h</a></li>
<li>applyBezierCurbe()&#160;:&#160;<a class="el" href="db/d86/display_8cpp.html#a72e79615fef9e4505aad10d5b4fb4b5e">display.cpp</a></li>
<li>applyBezierCurve()&#160;:&#160;<a class="el" href="db/d86/display_8cpp.html#a72e79615fef9e4505aad10d5b4fb4b5e">display.cpp</a></li>
<li>applyTransformation()&#160;:&#160;<a class="el" href="d5/d60/utils_8h.html#a984f84273044b866085f08117f942b8f">utils.h</a>, <a class="el" href="de/d06/utils_8cpp.html#a984f84273044b866085f08117f942b8f">utils.cpp</a></li>
<li>ARCHITECTURE_ID&#160;:&#160;<a class="el" href="d1/d3a/_c_make_c_compiler_id_8c.html#aba35d0d200deaeb06aee95ca297acb28">CMakeCCompilerId.c</a>, <a class="el" href="d3/d66/_c_make_c_x_x_compiler_id_8cpp.html#aba35d0d200deaeb06aee95ca297acb28">CMakeCXXCompilerId.cpp</a></li>
<li>areLinesColliding()&#160;:&#160;<a class="el" href="d5/d60/utils_8h.html#a8d01e61a45fe7072e45f22044013e358">utils.h</a>, <a class="el" href="de/d06/utils_8cpp.html#a8d01e61a45fe7072e45f22044013e358">utils.cpp</a></li>

View File

@ -85,7 +85,7 @@ $(document).ready(function(){initNavTree('globals_func.html',''); initResizable(
<div class="contents">
&#160;<ul>
<li>applyBezierCurbe()&#160;:&#160;<a class="el" href="db/d86/display_8cpp.html#a72e79615fef9e4505aad10d5b4fb4b5e">display.cpp</a></li>
<li>applyBezierCurve()&#160;:&#160;<a class="el" href="db/d86/display_8cpp.html#a72e79615fef9e4505aad10d5b4fb4b5e">display.cpp</a></li>
<li>applyTransformation()&#160;:&#160;<a class="el" href="d5/d60/utils_8h.html#a984f84273044b866085f08117f942b8f">utils.h</a>, <a class="el" href="de/d06/utils_8cpp.html#a984f84273044b866085f08117f942b8f">utils.cpp</a></li>
<li>areLinesColliding()&#160;:&#160;<a class="el" href="d5/d60/utils_8h.html#a8d01e61a45fe7072e45f22044013e358">utils.h</a>, <a class="el" href="de/d06/utils_8cpp.html#a8d01e61a45fe7072e45f22044013e358">utils.cpp</a></li>
<li>main()&#160;:&#160;<a class="el" href="d1/d3a/_c_make_c_compiler_id_8c.html#a0ddf1224851353fc92bfbff6f499fa97">CMakeCCompilerId.c</a>, <a class="el" href="d3/d66/_c_make_c_x_x_compiler_id_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97">CMakeCXXCompilerId.cpp</a>, <a class="el" href="df/d0a/main_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main.cpp</a></li>

View File

@ -45,7 +45,7 @@ Definition in file \mbox{\hyperlink{display_8cpp_source}{display.\+cpp}}.
\mbox{\Hypertarget{display_8cpp_a72e79615fef9e4505aad10d5b4fb4b5e}\label{display_8cpp_a72e79615fef9e4505aad10d5b4fb4b5e}}
\index{display.cpp@{display.cpp}!applyBezierCurbe@{applyBezierCurbe}}
\index{applyBezierCurbe@{applyBezierCurbe}!display.cpp@{display.cpp}}
\doxysubsubsection{\texorpdfstring{applyBezierCurbe()}{applyBezierCurbe()}}
\doxysubsubsection{\texorpdfstring{applyBezierCurbe()}{applyBezierCurve()}}
{\footnotesize\ttfamily void apply\+Bezier\+Curbe (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{utils_8h_aaa06d516441b519f8892f37adafeade2}{Position}} \&}]{pos, }\item[{const \mbox{\hyperlink{utils_8h_aaa06d516441b519f8892f37adafeade2}{Position}} \&}]{point, }\item[{const double}]{percent }\end{DoxyParamCaption})}

View File

@ -123,7 +123,7 @@
\DoxyCodeLine{\Hypertarget{display_8cpp_source_l00132}00132 \mbox{\hyperlink{utils_8h_aaa06d516441b519f8892f37adafeade2}{Position}} endPos = invIndexToPos(god.\mbox{\hyperlink{class_god_ae7ed525f130083f511728c791c35a95d}{thrownInvPosX}}, god.\mbox{\hyperlink{class_god_a26fbb775dff480eaa6a19d4a3ef9731c}{thrownInvPosY}});}
\DoxyCodeLine{\Hypertarget{display_8cpp_source_l00133}00133 }
\DoxyCodeLine{\Hypertarget{display_8cpp_source_l00134}00134 \mbox{\hyperlink{display_8cpp_a72e79615fef9e4505aad10d5b4fb4b5e}{applyBezierCurbe}}(pos, god.\mbox{\hyperlink{class_god_a41b9ceec78e403a54cf8afaf6e50519a}{thrownTransition}}, god.\mbox{\hyperlink{class_god_a1000165e05f6719539b7702ab3f09a66}{counter}} / 100.0);}
\DoxyCodeLine{\Hypertarget{display_8cpp_source_l00135}00135 \mbox{\hyperlink{display_8cpp_a72e79615fef9e4505aad10d5b4fb4b5e}{applyBezierCurbe}}(pos, endPos, god.\mbox{\hyperlink{class_god_a1000165e05f6719539b7702ab3f09a66}{counter}} / 100.0);}
\DoxyCodeLine{\Hypertarget{display_8cpp_source_l00135}00135 \mbox{\hyperlink{display_8cpp_a72e79615fef9e4505aad10d5b4fb4b5e}{applyBezierCurve}}(pos, endPos, god.\mbox{\hyperlink{class_god_a1000165e05f6719539b7702ab3f09a66}{counter}} / 100.0);}
\DoxyCodeLine{\Hypertarget{display_8cpp_source_l00136}00136 }
\DoxyCodeLine{\Hypertarget{display_8cpp_source_l00137}00137 \textcolor{comment}{// pos is now the position we need to draw our hand to}}
\DoxyCodeLine{\Hypertarget{display_8cpp_source_l00138}00138 pm-\/>drawSprite(pm-\/>rightHand, pos);}

View File

@ -94,7 +94,7 @@ void Game::displayInvader(const Position& pos, InvaderType type) const {
}
}
void applyBezierCurbe(Position& pos, const Position& point, const double percent) {
void applyBezierCurve(Position& pos, const Position& point, const double percent) {
pos += (point-pos)*percent;
}
@ -132,8 +132,8 @@ void Game::displayGod() const {
Position pos(god.getRightHandPos(pm->getScreenWidth()));
Position endPos = invIndexToPos(god.thrownInvPosX, god.thrownInvPosY);
applyBezierCurbe(pos, god.thrownTransition, god.counter / 100.0);
applyBezierCurbe(pos, endPos, god.counter / 100.0);
applyBezierCurve(pos, god.thrownTransition, god.counter / 100.0);
applyBezierCurve(pos, endPos, god.counter / 100.0);
// pos is now the position we need to draw our hand to
pm->drawSprite(pm->rightHand, pos);

View File

@ -47,6 +47,7 @@ bool Game::manageGod() {
// init throw
god.counter = 0;
god.state = GodState::RETRIEVE1;
// We're sure there is at least one valid column/invader, else the game would have ended and we would not be here
god.thrownInvPosX = grid.randomValidCol();
god.thrownInvPosY = grid[god.thrownInvPosX].randomValidInv();
god.thrownInvType = InvaderType::NONE;
@ -116,10 +117,6 @@ bool Game::manageGod() {
(invaderPos.getX() < 0 || invaderPos.getX() + confData.invadersSize >= pm->getScreenWidth())) {
touched = true;
/* there are no invaders in the grid anymore, and the one thrown just went out of bound
* So... return true, the player wins*/
if(!areThereInvadersLeft())return true;
// check player collision
} else if (invaderPos.getY() + confData.invadersSize >= pm->getScreenHeight() - PLAYER_HEIGHT) {
for (Player &p: players) {
@ -138,6 +135,9 @@ bool Game::manageGod() {
if (touched) {
god.state = GodState::WAIT;
god.counter = 0;
/* there are no invaders in the grid anymore, and the one thrown just disappeared
* So... return true, the player wins*/
if(!areThereInvadersLeft())return true;
}
/* we do not need to reset other members, they'll be treated as non-initialized
* When we cycle back between states*/