summaryrefslogtreecommitdiff
path: root/project/templates/sokoban.html
blob: ee2a470077be628953caec821cc211d4a1c7ed0c (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

{% extends "base.html" %}



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



{% block content %}

<h4>Sokoban Clone</h4>

<p>Git repository: <a href="/cgit/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" target="_blank">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>

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

<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/" target="_blank">A* Search</a> algorithm is used
for the mouse control.</p>

{% endblock %}