{% extends "skin.html" %} {% block content %}

{{ problem.reference }}

{% if problem.completed %}

This problem is complete. Back to your problem list.

{% else %}

This problem can be solved manually by using the buttons below. To see what your program would see in the same circumstances examine the JSON output. Back to your city plans.

Your program can make a move by sending a POST request to /city/{{ problem.reference }}/json/X/ where X is replaced with one of N, S, E or W. The POST body must contain valid JSON (which is actually ignored) — it's simplest to send the string null. Your program will get back updated information about what it can see using the same JSON blob format as is linked to below.

{% endif %}
Move number
{{ moves.count }} (Check again)
JSON representation
JSON blob, Pretty printed JSON
{% if move.revealed %}
A city was revealed
{% if move.revealed.rel_x and move.revealed.rel_y %} {{ move.revealed.rel_x }} and {{ move.revealed.rel_y }} {% else %} {{ move.revealed.rel_x }}{{ move.revealed.rel_y }} {% endif %}
{% endif %} {% if cansee %}
Cities you can see from here
{% endif %}
Cities whose locations you know
    {% for city in known %}
  1. {% if not city.rel_x and not city.rel_y %} Where you are now {% else %} {% if city.rel_x and city.rel_y %} {{ city.rel_x }} and {{ city.rel_y }} {% else %} {{ city.rel_x }}{{ city.rel_y }} {% endif %} {% endif %} {% if city.visited %} — Visited {% endif %}
  2. {% endfor %}
{% endblock %}