summaryrefslogtreecommitdiff
path: root/project/templates/sokoban.xhtml
blob: 2d92bb42cc10238bfe3a3f83e21a3307e033cd40 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42

{%- extends "base_plain.xhtml" -%}



{%- block title -%}Sokoban Clone{%- endblock -%}



{%- block footer -%}{{ plain_footer ("sokoban.xhtml") }}{%- endblock -%}



{%- block content %}
<h4>Sokoban Clone</h4>

<p>Git repository: <a href="/cgi-bin/cgit.cgi/sokoban">Link</a></p>

<h5>8/8/2017</h5>

<p>Back when I was studying computer science at university, there was an assignment involving
<a href="https://en.wikipedia.org/wiki/Sokoban" class="external">Sokoban</a>. We were tasked with
completing a half written implementation in Java and Swing. This is not that implementation. It is,
however, based on it. Recently while going over old notes I found the assignment. The submission I
had originally made is lost to time, but it seemed like a nice quick diversion to get some more use
out of the FLTK Ada binding.</p>

<div class="figure">
    <img src="/img/sokoban_level0.png"
         alt="The first level"
         height="568"
         width="764" />
    <div class="figcaption">The first level</div>
</div>

<p>This is a vanilla version, so the only mechanic is pushing blocks to specific goal tiles.
Controls are simple enough that instructions can be left permanently written at the bottom of the
window. An <a href="https://brilliant.org/wiki/a-star-search/" class="external">A* Search</a>
algorithm is used for the mouse control.</p>
{% endblock -%}