X-Git-Url: https://troll.desast.re/troll.git/blobdiff_plain/33d43e0a726d9cb3256489d0b39feebbbb3304a4..2e02ad69d3b3c4e270682b31969f6662f2aaa101:/config/statement_en.html diff --git a/config/statement_en.html b/config/statement_en.html index 83c0e4e..89a0e27 100644 --- a/config/statement_en.html +++ b/config/statement_en.html @@ -1,4 +1,4 @@ -<div class="statement-body"> +<div class="statement-body"> <!-- GOAL --> <div class="statement-section statement-goal"> <h2> @@ -16,7 +16,200 @@ <span>Rules</span> </h2> <div class="statement-rules-content"> - In the classic version, you <em>have</em> to shoot at least one stone per turn. This isn't enforced yet. + You <em>have</em> to shoot at least <const>1</const> stone per + turn if you have any left. </div> </div> + <div class="statement-section statement-warning"> + <h2> + <span class="icon icon-warning"> </span> + <span>Breaking Change</span> + </h2> + <p> + The <var>roadLength</var> game input variable used to be the + cardinal number of positions the troll could be in. That's the + way it was presented in the original game, but I leaned more + towards distances to make the I/O protocol easier on beginners. + So it's currently inconsistent. + </p> + <p> + This is going to change in the following days to be a distance + everywhere, more in line with the protocol's other measures. + Not to mention being somewhat more consistent with the variable + name. Thanks + <a href="https://www.codingame.com/profile/c4a50746f425cb125f77487aaf51350c7258821"> + @Snef + </a> + for reminding me of this. + </p> + <p> + If you used this variable, I suggest you temporarily used one + of these workarounds so you don't get bit by the upcoming + change: + </p> + <table> + <tr><th>Former use</th><th>As a</th><th>Try this</th></tr> + <tr> + <td><pre>roadLength - 1</pre></td> + <td><pre>distance to opponent</pre></td> + <td><pre>roadLength & (~1)</pre></td> + </tr> + <tr> + <td><pre>roadLength</pre></td> + <td><pre>number of troll states</pre></td> + <td><pre>roadLength | 1</pre></td> + </tr> + <tr> + <td><pre>roadLength + 1</pre></td> + <td><pre>I have no idea</pre></td> + <td><pre>(roadLength + 1) & (-1)</pre></td> + </tr> + </table> + </div> + <div class="statement-section statement-warning"> + <h2> + <span class="icon icon-warning"> </span> + <span>Rule Evolution</span> + </h2> + <div class="statement-warning-content"> + The following ideas are still in flux, waiting for some + opinions. Please drop a word on the + <a href="https://www.codingame.com/contribute/view/507070b7925f661e2d2835c14f950b9d157e"> + contribution's page + </a> + or + <a href="https://forum.codingame.com/t/troll-vs-castles-brainstorm/184827?u=jbm"> + on the forum + </a> + <ul> + <li> + Is it even worth publishing? can the problem be totally solved? + </li> + <li> + More maps? (a map is a {road length} Ã {initial stone count} pair) + </li> + <li> + Leagues? I could conceive the referee being permissive + (allow 0 stones thrown) in the first one, and then strict. + </li> + <li> + Fog of war? (see only troll position, not enemy throw/stones left) + </li> + <li> + <strong>variable</strong> for of war? (seeing enemy stones + is a boolean decided randomly as part of the map? + </li> + <li> + alternative fog of war? (seeing enemy stones only when + troll is close to us?) + </li> + <li> + Praise for my artistic skillz + </li> + <li> + Other remarks? + </li> + </ul> + </div> + </div> + <div class="statement-victory-conditions"> + <div class="icon victory"></div> + <div class="blk"> + <div class="title">Victory Condition</div> + <div class="text">Your opponent loses.</div> + </div> + </div> + <div class="statement-lose-conditions"> + <div class="icon lose"></div> + <div class="blk"> + <div class="title">Defeat Condition</div> + <ul> + <li>The troll reaches your castle.</li> + <li>When no player has stones left, the troll is closer to your castle.</li> + </ul> + </div> + </div> + <div class="statement-section statement-protocol"> + <h2> + <span class="icon icon-protocol"> </span> + <span>I/O Protocol</span> + </h2> + <div class="statement-protocol-content"> + Just read the sample code. You can figure this out. + </div> + </div> + <div class="statement-section statement-expertrules"> + <h2> + <span class="icon icon-expertrules"> </span> + <span>Maps</span> + </h2> + <div class="statement-expert-rules-content"> + <p> + The following maps are currently available and randomly yet + extremely fairly (you wouldn't believe the effort that went + into this) chosen uniformly at random among the following: + </p> + <table> + <tr><th>Road length</th><th>Stones</th></tr> + <tr><td><const>7</const></td><td><const>15</const></td></tr> + <tr><td><const>7</const></td><td><const>30</const></td></tr> + <tr><td><const>15</const></td><td><const>30</const></td></tr> + <tr><td><const>15</const></td><td><const>50</const></td></tr> + </table> + <p> + As with anything in this <em>draft</em> statement, this + is <strong>subject to change without notice</strong>. Why do + you think they're provided in the game input? + </p> + </div> + </div> + <div class="statement-section statement-protocol"> + <h2> + <span class="icon icon-protocol"> </span> + <span>Change Log</span> + </h2> + <ul> + <li> + Of course that game needed MSG functionality! + </li> + <li> + Enforce the one-stone rule. (that also fixed the legacy + buh—sorry people! I put an easter egg in exchange) + </li> + <li> + Cutesy defeat animations. + </li> + <li> + Distinct castle sprites! + </li> + <li> + Terminate game when there are no more stones in sight. + </li> + <li> + More pretty. (SRLSLY) + </li> + <li> + No more void maps. (root cause: Java <const>%</const> on a + negative seed) + </li> + </ul> + </div> + <div class="statement-story-background"> + <div class="statement-story" + style="position: relative; min-height: min-content"> + <div class="story-text"> + Based on an involuntary suggestion by + <span class="card" cg-codingamer-card-popup="" + userid="user.codingamer.userId"> + <a class="pseudo" + href="/profile/dbfa96e0ac9b77a3db679628f27224ae8509333" + title="Zaap38">Zaap38</a> + </span> + on the #Fr channel. The original appears to be by + <a href="http://andre.lovichi.free.fr/teaching/ea/2015-2016/cours/troll/Trolls_et_chateaux.pdf"> + Romain André-Lovichi + </a>. + </div> + </div> + </div> </div>