The Goal

Don't get destroyed by the troll.

  Rules

You have to shoot at least 1 stone per turn if you have any left.

  Breaking Change

The roadLength 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.

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 @Snef for reminding me of this.

If you used this variable, I suggest you temporarily used one of these workarounds so you don't get bit by the upcoming change:

Former useAs aTry this
roadLength - 1
distance to opponent
roadLength & (~1)
roadLength
number of troll states
roadLength | 1
roadLength + 1
I have no idea
(roadLength + 1) & (-1)

  Rule Evolution

The following ideas are still in flux, waiting for some opinions. Please drop a word on the contribution's page or on the forum
  • Is it even worth publishing? can the problem be totally solved?
  • More maps? (a map is a {road length} × {initial stone count} pair)
  • Leagues? I could conceive the referee being permissive (allow 0 stones thrown) in the first one, and then strict.
  • Fog of war? (see only troll position, not enemy throw/stones left)
  • variable for of war? (seeing enemy stones is a boolean decided randomly as part of the map?
  • alternative fog of war? (seeing enemy stones only when troll is close to us?)
  • Praise for my artistic skillz
  • Other remarks?
Victory Condition
Your opponent loses.
Defeat Condition
  • The troll reaches your castle.
  • When no player has stones left, the troll is closer to your castle.

  I/O Protocol

Just read the sample code. You can figure this out.

  Maps

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:

Road lengthStones
715
730
1530
1550

As with anything in this draft statement, this is subject to change without notice. Why do you think they're provided in the game input?

  Change Log

Based on an involuntary suggestion by Zaap38 on the #Fr channel. The original appears to be by Romain André-Lovichi .