jakeis.com = doing things @ Jake Jilg's personal home page = jakeis.com
Tools
(aesthetic only)

jakeis.com = Jake Jilg, doing things....

Jake Jilg
Push Box! Sokoban.

This is called Sokoban in Japan, and I wrote this engine just to see if I could, but I don't have the fortitude to write clever/possible arrangements.

I manually borrowed each level superficial-block-setup from my flipphone.

You'll see what I mean when you get to the hard ones. Just keep it up.

https://jakeis.com/webapp/games/push_box.html
Play in link ^

/*

' ' blank space
'X' wall
'_' carpet
'o' box
'*' box goal
'8' box and box goal (both)
'1' player
'$' player on goal

*/

var pushbox_levels = [
    [
        [
' ',' ','X','X','X',' ',' ',' '],
        [
' ',' ','X','*','X',' ',' ',' '],
        [
' ',' ','X','_','X','X','X','X'],
        [
'X','X','X','o','_','o','*','X'],
        [
'X','*','_','o','1','X','X','X'],
        [
'X','X','X','X','o','X',' ',' '],
        [
' ',' ',' ','X','*','X',' ',' '],
        [
' ',' ',' ','X','X','X',' ',' ']
    ],
    [
        [
'X','X','X','X','X',' ',' ',' ',' '],
        [
'X','_','_','1','X',' ',' ',' ',' '],
        [
'X','_','o','o','X',' ','X','X','X'],
        [
'X','_','o','_','X',' ','X','*','X'],
        [
'X','X','X','_','X','X','X','*','X'],
        [
' ','X','X','_','_','_','_','*','X'],
        [
' ','X','_','_','_','X','_','_','X'],
        [
' ','X','_','_','_','X','X','X','X'],
        [
' ','X','X','X','X','X',' ',' ',' ']
    ],
    [
        [
' ','X','X','X','X',' '],
        [
'X','X','_','_','X',' '],
        [
'X','_','1','o','X',' '],
        [
'X','X','o','_','X','X'],
        [
'X','X','_','o','_','X'],
        [
'X','*','o','_','_','X'],
        [
'X','*','*','8','*','X'],
        [
'X','X','X','X','X','X']
    ],
    [
        [
' ','X','X','X','X',' ',' ',' '],
        [
' ','X','1','_','X','X','X',' '],
        [
' ','X','_','o','_','_','X',' '],
        [
'X','X','X','_','X','_','X','X'],
        [
'X','*','X','_','X','_','_','X'],
        [
'X','*','o','_','_','X','_','X'],
        [
'X','*','_','_','_','o','_','X'],
        [
'X','X','X','X','X','X','X','X']
    ],
    [
        [
' ',' ','X','X','X','X','X','X'],
        [
' ',' ','X','_','_','_','_','X'],
        [
'X','X','X','o','o','o','_','X'],
        [
'X','1','_','o','*','*','_','X'],
        [
'X','_','o','*','*','*','X','X'],
        [
'X','X','X','X','_','_','X',' '],
        [
' ',' ',' ','X','X','X','X',' ']
    ],
    [
        [
' ',' ','X','X','X','X','X',' '],
        [
'X','X','X','_','_','1','X',' '],
        [
'X','_','_','o','*','_','X','X'],
        [
'X','_','_','*','o','*','_','X'],
        [
'X','X','X','_','8','o','_','X'],
        [
' ',' ','X','_','_','_','X','X'],
        [
' ',' ','X','X','X','X','X',' ']
    ],
    [
        [
' ',' ','X','X','X','X',' ',' '],
        [
' ',' ','X','*','*','X',' ',' '],
        [
' ','X','X','_','*','X','X',' '],
        [
' ','X','_','_','o','*','X',' '],
        [
'X','X','_','o','_','_','X','X'],
        [
'X','_','_','X','o','o','_','X'],
        [
'X','_','_','1','_','_','_','X'],
        [
'X','X','X','X','X','X','X','X']
    ],
    [
        [
'X','X','X','X','X','X','X','X'],
        [
'X','_','_','X','_','_','_','X'],
        [
'X','_','o','*','*','o','_','X'],
        [
'X','1','o','*','8','_','X','X'],
        [
'X','_','o','*','*','o','_','X'],
        [
'X','_','_','X','_','_','_','X'],
        [
'X','X','X','X','X','X','X','X']
    ],
    [
        [
'X','X','X','X','X','X',' ',' ',' '],
        [
'X','_','_','_','_','X',' ',' ',' '],
        [
'X','_','o','o','o','X','X',' ',' '],
        [
'X','_','_','X','*','*','X','X','X'],
        [
'X','X','_','_','*','*','o','_','X'],
        [
' ','X','_','1','_','_','_','_','X'],
        [
' ','X','X','X','X','X','X','X','X']
    ],
    [
        [
'X','X','X','X','X','X','X'],
        [
'X','*','*','o','*','*','X'],
        [
'X','*','*','X','*','*','X'],
        [
'X','_','o','o','o','_','X'],
        [
'X','_','_','o','_','_','X'],
        [
'X','_','o','o','o','_','X'],
        [
'X','_','_','X','1','_','X'],
        [
'X','X','X','X','X','X','X']
    ],
    [
        [
' ','X','X','X','X','X',' ',' '],
        [
' ','X','_','1','_','X','X','X'],
        [
'X','X','_','X','o','_','_','X'],
        [
'X','_','8','*','_','*','_','X'],
        [
'X','_','_','o','o','_','X','X'],
        [
'X','X','X','_','X','*','X',' '],
        [
' ',' ','X','_','_','_','X',' '],
        [
' ',' ','X','X','X','X','X',' ']
    ],
    [
        [
'X','X','X','X','X','X'],
        [
'X','_','_','_','_','X'],
        [
'X','_','o','_','1','X'],
        [
'X','X','8','_','_','X'],
        [
'X','_','8','_','X','X'],
        [
'X','_','8','_','X',' '],
        [
'X','_','8','_','X',' '],
        [
'X','_','*','_','X',' '],
        [
'X','X','X','X','X',' ']
    ],
    [
        [
' ',' ','X','X','X','X',' '],
        [
' ',' ','X','_','_','X',' '],
        [
'X','X','X','o','_','X','X'],
        [
'X','_','_','8','_','1','X'],
        [
'X','_','_','8','_','_','X'],
        [
'X','_','_','8','_','X','X'],
        [
'X','X','X','8','_','X',' '],
        [
' ',' ','X','*','X','X',' '],
        [
' ',' ','X','X','X',' ',' ']
    ],
    [
        [
'X','X','X','X','X',' ',' ',' ',' '],
        [
'X','_','_','_','X','X','X','X','X'],
        [
'X','_','X','_','X','_','_','_','X'],
        [
'X','_','o','_','_','_','o','_','X'],
        [
'X','*','*','X','o','X','o','X','X'],
        [
'X','*','1','o','_','_','_','X',' '],
        [
'X','*','*','_','_','X','X','X',' '],
        [
'X','X','X','X','X','X',' ',' ',' ']
    ],
    [
        [
' ','X','X','X','X','X','X',' '],
        [
' ','X','_','_','_','_','X','X'],
        [
'X','X','*','X','X','o','_','X'],
        [
'X','_','*','*','o','_','_','X'],
        [
'X','_','_','X','o','_','_','X'],
        [
'X','_','_','1','_','X','X','X'],
        [
'X','X','X','X','X','X',' ',' ']
    ]
];

 

Here ^ is the part I superficially STOLE by eyeball, which seems to have a history in Sokoban (borrowed levels) Youtube for different versions with these levels. Your imagination can guess how the array is manipulated each move and booleaned repeatedly for logic.

Proudly NOT powered by any monopoly blogging platform, but many great thanks to Chromium/Mozilla DevTools, MAMP/Apache, and Notepad++/TextWrangler because they did all the real work here. I, Jake Jilg am just a designer.
Swatches
R
<
>
G
<
>
B
<
>
Blogs & Blogs
    • Blog under construction.
    • Blog coming soon.
    • Blog under construction.