-<div class="statement-body">
+<div class="statement-body">
<!-- GOAL -->
<div class="statement-section statement-goal">
<h2>
<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>
+ 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-expertrules">
+ <div class="statement-section statement-warning">
<h2>
- <span class="icon icon-expertrules"> </span>
+ <span class="icon icon-warning"> </span>
<span>Rule Evolution</span>
</h2>
- <div class="statement-expert-rules-content">
- The following points are still ideas in flux, waiting for some
- opinions (leave a comment on the draft submission page!)
+ <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?
+ Is it even worth publishing? can the problem be totally solved?
</li>
<li>
- More maps? (a map is a road length / initial stones pair)
+ 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.
+ 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)<br>
- <string>variable</string> for of war? (seeing enemy stones
- is a boolean decided randomly as part of the map?) (or
- seeing enemy stones only when troll is close to us?)
+ 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
<div class="statement-section statement-protocol">
<h2>
<span class="icon icon-protocol"> </span>
- <spam>I/O Protocol</spam>
+ <span>I/O Protocol</span>
</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>
+ </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>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>
</div>
</div>
- <div class="statement-section statement-changelog">
- <h2>Change Log</h2>
+ <div class="statement-section statement-protocol">
+ <h2>
+ <span class="icon icon-protocol"> </span>
+ <span>Change Log</span>
+ </h2>
<ul>
+ <li>
+ Don't destroy the castle if the troll doesn't reach it.
+ </li>
+ <li>
+ Ensure proper troll movement direction in all cases of
+ cheating.
+ </li>
+ <li>
+ Fixed the road length fencepost non-issue.
+ </li>
+ <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>
More pretty. (SRLSLY)
</li>
<li>
- No more void maps. (root cause: java <const>%</const> on a
+ 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">
+ <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>
+
+ <hr>
+
+ 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>