1 <div class="statement-body">
 
   3    <div class="statement-section statement-goal"> 
 
   5        <span class="icon icon-goal"> </span> 
 
   8      <div class="statement-goal-content"> 
 
   9        Don't get destroyed by the troll.
 
  13    <div class="statement-section statement-rules"> 
 
  15        <span class="icon icon-rules"> </span> 
 
  18      <div class="statement-rules-content">
 
  19        If you have stones, shoot <const>1</const> or more of them.
 
  21        If you don't have stones, shoot <const>0</const> exactly.
 
  24    <div class="statement-section statement-warning">
 
  26        <span class="icon icon-warning"> </span>
 
  27        <span>Rule Evolution</span>
 
  29      <div class="statement-warning-content">
 
  30        The following ideas are still in flux, waiting for some
 
  31        opinions.  Please drop a word on the
 
  32        <a href="https://www.codingame.com/contribute/view/507070b7925f661e2d2835c14f950b9d157e">
 
  36        <a href="https://forum.codingame.com/t/troll-vs-castles-brainstorm/184827?u=jbm">
 
  41            Is it even worth publishing? can the problem be totally solved?
 
  44            More maps? (a map is a {road length} × {initial stone count} pair)
 
  47            Leagues? I could conceive the referee being permissive
 
  48            (allow 0 stones thrown) in the first one, and then strict.
 
  49            Off the top of my head:
 
  51              <li>single small map, cheating is tolerated, boss plays 1</li>
 
  52              <li>the four maps, no cheating, boss plays tit for tat</li>
 
  53              <li>full map continuum</li>
 
  57            Fog of war? (see only troll position, not enemy
 
  58            throw/stones left) Probably not in this game, be it simple,
 
  59            variable (seeing enemy stones is a boolean decided randomly
 
  60            as part of the map) or by distance.
 
  63            Praise for my artistic skillz
 
  71    <div class="statement-victory-conditions">
 
  72      <div class="icon victory"></div>
 
  74        <div class="title">Victory Condition</div>
 
  75        <div class="text">Your opponent loses.</div>
 
  78    <div class="statement-lose-conditions">
 
  79      <div class="icon lose"></div>
 
  81        <div class="title">Defeat Condition</div>
 
  83          <li>The troll reaches your castle.</li>
 
  84          <li>When no player has stones left, the troll is closer to your castle.</li>
 
  88    <div class="statement-section statement-protocol">
 
  90        <span class="icon icon-protocol"> </span>
 
  91        <span>I/O Protocol</span>
 
  93      <div class="statement-protocol-content">
 
  94        Just read the sample code.  You can figure this out.
 
  96        You're currently allowed the default SDK timings.  I think it's
 
  97        one second for the first turn and 50 ms then, but don't
 
 101    <div class="statement-section statement-expertrules">
 
 103        <span class="icon icon-expertrules"> </span>
 
 104        <span>Expert rules</span>
 
 106      <div class="statement-expert-rules-content">
 
 108          The following maps are currently available and randomly yet
 
 109          extremely fairly (you wouldn't believe the effort that went
 
 110          into this) chosen uniformly at random among the following:
 
 113          <tr><th>Road length</th><td>│</td><th>Stones</th></tr>
 
 114          <tr><td>──────────</td><td>┼</td><td>──────</td></tr>
 
 115          <tr><td><const>6</const></td><td>│</td><td><const>15</const></td></tr>
 
 116          <tr><td><const>6</const></td><td>│</td><td><const>30</const></td></tr>
 
 117          <tr><td><const>14</const></td><td>│</td><td><const>30</const></td></tr>
 
 118          <tr><td><const>14</const></td><td>│</td><td><const>50</const></td></tr>
 
 121          You can also override them via game
 
 122          settings <tt>roadLength</tt> and <tt>initialStones</tt>, so
 
 123          long as you remember you won't be choosing them for ranking
 
 128    <div class="statement-section statement-protocol">
 
 130        <span class="icon icon-protocol"> </span>
 
 131        <span>Change Log</span>
 
 134        I'm not maintaining the full changelog here anymore as the
 
 135        <a href="https://troll.desast.re/troll.git">game's source
 
 136        repository</a> is now publicly available.  I'll just make note
 
 137        of the single latest change, so you can know how far behind you
 
 138        were lagging.  Patches welcome, BTW.
 
 141        This draft's last change is:
 
 143          trolls can be of different races.
 
 147    <div class="statement-story-background">
 
 148      <div class="statement-story"
 
 149           style="position: relative; min-height: min-content">
 
 150        <div class="story-text">
 
 151          <div style="text-align: center">
 
 152            “Trolls simply detest the very sight of dwarves (uncooked).”
 
 154          <div style="text-align: right">
 
 155            — J.R.R. Tolkien, <i>The Hobbit</i>
 
 158        <div class="story-text" style="margin-top: 4em">
 
 160            Based on an involuntary suggestion by
 
 161            <span class="card" cg-codingamer-card-popup=""
 
 162                  userid="user.codingamer.userId">
 
 164                 href="/profile/dbfa96e0ac9b77a3db679628f27224ae8509333"
 
 165                 title="Zaap38">Zaap38</a>
 
 167            on the #Fr channel.  The original appears to be by
 
 168            <a href="http://andre.lovichi.free.fr/teaching/ea/2015-2016/cours/troll/Trolls_et_chateaux.pdf">
 
 169              Romain André-Lovichi