<span>Rules</span>
</h2>
<div class="statement-rules-content">
- 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>
+ If you have stones, shoot <const>1</const> or more of them.
+ <br>
+ If you don't have stones, shoot <const>0</const> exactly.
+ </div>
</div>
<div class="statement-section statement-warning">
<h2>
</h2>
<div class="statement-protocol-content">
Just read the sample code. You can figure this out.
+ <br>
+ You're currently allowed the default SDK timings. I think it's
+ one second for the first turn and 50 ms then, but don't
+ quote me on this.
</div>
</div>
<div class="statement-section statement-expertrules">
<h2>
<span class="icon icon-expertrules"> </span>
- <span>Maps</span>
+ <span>Expert rules</span>
</h2>
<div class="statement-expert-rules-content">
<p>
</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>
+ <tr><td><const>6</const></td><td><const>15</const></td></tr>
+ <tr><td><const>6</const></td><td><const>30</const></td></tr>
+ <tr><td><const>14</const></td><td><const>30</const></td></tr>
+ <tr><td><const>14</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>
+ <p>
+ You can also override them via game
+ settings <tt>roadLength</tt> and <tt>initialStones</tt>.
+ </p>
</div>
</div>
<div class="statement-section statement-protocol">
<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>
+ <p>
+ I'm not maintaining the full changelog here anymore as the
+ <a href="https://troll.desast.re/troll.git">game's source
+ repository</a> is now publicly available. I'll just make note
+ of the single latest change, so you can know how far behind you
+ were lagging. Patches welcome, BTW.
+ </p>
+ <p>
+ This draft's last change is:
+ <strong>
+ game parameters can be overridden.
+ </strong>
+ </p>
</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 style="text-align: center">
+ “Trolls simply detest the very sight of dwarves (uncooked).”
+ </div>
+ <div style="text-align: right">
+ — J.R.R. Tolkien, <i>The Hobbit</i>
+ </div>
+ </div>
+ <div class="story-text">
+ <p>
+ 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>.
+ </p>
</div>
</div>
</div>