Initial project import

This commit is contained in:
Agila Forge Importer committed 2026-07-13 15:20:32 +00:00
commit 23f2d29e32
11957 files changed
+1754577

No files matched your search

+1
View File
@@ -0,0 +1 @@
sokoban
+53
View File
@@ -0,0 +1,53 @@
simple.txt
corners.txt
three_boxes.txt
tr_levels/01.txt
tr_levels/02.txt
tr_levels/03.txt
tr_levels/04.txt
tr_levels/05.txt
tr_levels/06.txt
tr_levels/07.txt
tr_levels/08.txt
tr_levels/09.txt
tr_levels/10.txt
tr_levels/11.txt
tr_levels/12.txt
tr_levels/13.txt
tr_levels/14.txt
tr_levels/15.txt
tr_levels/16.txt
tr_levels/17.txt
tr_levels/18.txt
tr_levels/19.txt
tr_levels/20.txt
tr_levels/21.txt
tr_levels/22.txt
tr_levels/23.txt
tr_levels/24.txt
tr_levels/25.txt
tr_levels/26.txt
tr_levels/27.txt
tr_levels/28.txt
tr_levels/29.txt
tr_levels/30.txt
tr_levels/31.txt
tr_levels/32.txt
tr_levels/33.txt
tr_levels/34.txt
tr_levels/35.txt
tr_levels/36.txt
tr_levels/37.txt
tr_levels/38.txt
tr_levels/39.txt
tr_levels/40.txt
tr_levels/41.txt
tr_levels/42.txt
tr_levels/43.txt
tr_levels/44.txt
tr_levels/45.txt
tr_levels/46.txt
tr_levels/47.txt
tr_levels/48.txt
tr_levels/49.txt
tr_levels/50.txt
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

+12
View File
@@ -0,0 +1,12 @@
Push the boxes to the corners of the warehouse.@It is a lot of work...@Have fun.
#########################
#. # .#
# # #
# ## ### #### ####
# ## # # #
# $ # $ # $ # $ #
# # # # #
# # # ### ####
# # # ### #
#. # @ .#
#########################
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

+9
View File
@@ -0,0 +1,9 @@
@Use the arrows or WASD keys, to move your player.@Use R to restart the level and N to go to the next level.@To win, move your player to the box and push it to the highlighted storage spot.
##############
# #
# #
# $ #
# . #
# @ #
# #
##############
+292
View File
@@ -0,0 +1,292 @@
import os
import os.asset
import gg
const csize = 32
struct Pos {
x int
y int
}
enum Direction {
up
down
left
right
}
@[heap]
struct Game {
mut:
warehouse [][]rune // the warehouse: `#`=wall, ` `=floor, `@`=storage, `b`=box, `p`=player
ww int
wh int
player Pos
boxes []Pos
win bool
level int
titles []string
levels []string
moves int
pushes int
ctx &gg.Context = unsafe { nil }
//
id_box int
id_box_on_storage int
id_wall int
id_floor int
id_other int
id_player int
id_storage int
}
fn (mut g Game) parse_level(lnumber int) ! {
level := g.levels[lnumber] or { return error('invalid level number ${lnumber}') }
if level == '' {
return error('empty level ${lnumber}')
}
lines := level.split('\n').map(it.trim_space_right()).filter(it != '' && !it.starts_with('//'))
mut warehouse := [][]rune{}
mut warehouse_w := 0
mut player := Pos{-1, -1}
mut boxes := []Pos{}
for y, line in lines#[1..] {
mut row := []rune{}
for x, c in line {
match c {
`#`, ` ` {
row << c
}
`b`, `$` { // a normal box
row << ` `
boxes << Pos{x, y}
}
`p`, `@` { // a normal player
row << ` `
player = Pos{x, y}
}
`.` { // storage
row << `@`
}
`*` { // box on storage
row << `@`
boxes << Pos{x, y}
}
`+` { // player on storage
row << `@`
player = Pos{x, y}
}
else {
return error('unknown rune `${rune(c)}` at position ${y}x${x}, in level: ${c}')
}
}
}
warehouse << row
warehouse_w = int_max(row.len, warehouse_w)
}
g.warehouse = warehouse
g.ww = warehouse_w * csize
g.wh = warehouse.len * csize
g.titles = lines[0].split('@').filter(it != '')
g.player = player
g.boxes = boxes
g.moves = 0
g.pushes = 0
g.win = false
}
// is_valid_pos returns whether the given `pos` is inside the game field, and not inside an inner wall
fn (g &Game) is_valid_pos(pos Pos) bool {
return pos.y >= 0 && pos.y < g.warehouse.len && pos.x >= 0 && pos.x < g.warehouse[pos.y].len
&& g.warehouse[pos.y][pos.x] != `#`
}
fn (mut g Game) move_player(dir Direction) {
dx, dy := match dir {
.up { 0, -1 }
.down { 0, 1 }
.left { -1, 0 }
.right { 1, 0 }
}
target := Pos{g.player.x + dx, g.player.y + dy}
if !g.is_valid_pos(target) {
return
}
// Check for a box at the target position:
mut target_box_index := -1
for i, box in g.boxes {
if box.x == target.x && box.y == target.y {
target_box_index = i
break
}
}
if target_box_index >= 0 {
// try pushing the box
target_after := Pos{g.player.x + 2 * dx, g.player.y + 2 * dy}
if !g.is_valid_pos(target_after) {
return
}
// if there is another box at that place, prevent the push:
for box in g.boxes {
if box.x == target_after.x && box.y == target_after.y {
return
}
}
g.boxes[target_box_index] = target_after
g.pushes++
}
g.player = target
g.moves++
}
fn (g &Game) get_cell_iid(pos Pos) int {
c := g.warehouse[pos.y][pos.x]
if pos.x == g.player.x && pos.y == g.player.y {
return g.id_player
}
for box in g.boxes {
if box.x == pos.x && box.y == pos.y {
if c == `@` {
return g.id_box_on_storage
}
return g.id_box
}
}
match c {
` ` { return g.id_floor }
`#` { return g.id_wall }
`@` { return g.id_storage }
else { return g.id_other }
}
}
fn (mut g Game) next_level() {
nlevel := (g.level + 1) % g.levels.len
g.parse_level(nlevel) or { eprintln('level error: ${err}') }
g.level = nlevel
}
fn (mut g Game) key_down(key gg.KeyCode, _ gg.Modifier, _ voidptr) {
// controls:
match key {
.escape {
g.ctx.quit()
}
.space {
if g.win {
g.next_level()
return
}
}
.r {
g.parse_level(g.level) or {}
return
}
.n {
g.next_level()
}
else {}
}
if g.win {
return
}
// player movement:
dir := match key {
.w, .up { Direction.up }
.s, .down { Direction.down }
.a, .left { Direction.left }
.d, .right { Direction.right }
else { return }
}
g.move_player(dir)
g.win = g.boxes.all(g.warehouse[it.y][it.x] == `@`)
}
fn (g &Game) ctext(ws gg.Size, oy int, message string, size int, color gg.Color) {
g.ctx.draw_text(ws.width / 2, ws.height + oy, message,
color: color
size: size
align: .center
vertical_align: .middle
)
}
fn (g &Game) draw_frame(_ voidptr) {
g.ctx.begin()
ws := gg.window_size()
ox := (ws.width - g.ww) / 2
oy := (ws.height - 40 - g.wh) / 2
for y in 0 .. g.warehouse.len {
for x in 0 .. g.warehouse[y].len {
pos := Pos{x, y}
iid := g.get_cell_iid(pos)
if iid == g.id_player {
// the player is transparent
g.ctx.draw_image_by_id(ox + x * csize, oy + y * csize, 32, 32, g.id_floor)
}
g.ctx.draw_image_by_id(ox + x * csize, oy + y * csize, 32, 32, iid)
}
}
g.ctx.draw_rect_filled(0, ws.height - 70, ws.width, 70, gg.black)
if g.win {
g.ctext(ws, -50, 'You win!!!', 60, gg.yellow)
g.ctext(ws, -15, 'Press `space` to continue.', 20, gg.gray)
} else {
for idx, title in g.titles {
g.ctext(ws, -65 + (idx * 20), title, 22, gg.white)
}
g.ctext(ws, -65 + (g.titles.len * 20), 'Boxes: ${g.boxes.len:04}', 16, gg.gray)
}
g.ctx.draw_rect_filled(0, 0, ws.width, 40, gg.black)
g.ctx.draw_text(30, 0, 'Level: ${g.level + 1:02}', color: gg.green, size: 40)
g.ctx.draw_text(ws.width - 225, 0, 'Moves: ${g.moves:04}', color: gg.green, size: 40)
g.ctx.draw_text(ws.width / 2 - 110, 0, 'Pushes: ${g.pushes:04}', color: gg.green, size: 40)
g.ctx.end()
}
fn (mut g Game) iid(name string) !int {
return g.ctx.create_image(asset.get_path('/', name))!.id
}
fn main() {
mut g := &Game{}
if os.args.len > 1 {
for fpath in os.args[1..] {
content := os.read_file(fpath)!
if content.starts_with(';') {
// many levels in the same file:
parts := content.trim_space().split('\n\n')
for part in parts {
g.levels << '${fpath}${part}'
}
} else {
// a single level:
g.levels << content
}
}
} else {
all_level_names := asset.read_text('/', '_all_levels.txt')!.split_into_lines()
g.levels = all_level_names.map(asset.read_text('/', it)!)
}
g.parse_level(0)!
g.ctx = gg.new_context(
width: 800
height: 640
window_title: 'V Sokoban'
user_data: g
frame_fn: g.draw_frame
keydown_fn: g.key_down
)
g.id_box = g.iid('box.png')!
g.id_box_on_storage = g.iid('box_on_storage.png')!
g.id_wall = g.iid('wall.png')!
g.id_floor = g.iid('floor.png')!
g.id_other = g.iid('other.png')!
g.id_player = g.iid('player.png')!
g.id_storage = g.iid('storage.png')!
g.ctx.run()
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

+10
View File
@@ -0,0 +1,10 @@
It seems tricky, but it is not ...@Be careful to not get stuck.
### #
###### ###### #
# @ # #
## #######
# $$$ # #
# . . . # #
# # # ### #
# # ### #
############ #
+12
View File
@@ -0,0 +1,12 @@
Author: Thinking Rabbit, Level 01
#####
# #
#$ #
### $##
# $ $ #
### # ## # ######
# # ## ##### ..#
# $ $ ..#
##### ### #@## ..#
# #########
#######
+11
View File
@@ -0,0 +1,11 @@
Author: Thinking Rabbit, Level 02
############
#.. # ###
#.. # $ $ #
#.. #$#### #
#.. @ ## #
#.. # # $ ##
###### ##$ $ #
# $ $ $ $ #
# # #
############
+11
View File
@@ -0,0 +1,11 @@
Author: Thinking Rabbit, Level 03
########
# @#
# $#$ ##
# $ $#
##$ $ #
######### $ # ###
#.... ## $ $ #
##... $ $ #
#.... ##########
########
+15
View File
@@ -0,0 +1,15 @@
Author: Thinking Rabbit, Level 04
########
# ....#
############ ....#
# # $ $ ....#
# $$$#$ $ # ....#
# $ $ # ....#
# $$ #$ $ $########
# $ # #
## #########
# # ##
# $ ##
# $$#$$ @#
# # ##
###########
+14
View File
@@ -0,0 +1,14 @@
Author: Thinking Rabbit, Level 05
#####
# #####
# #$## #
# $ #
######### ### #
#.... ## $ $###
#.... $ $$ ##
#.... ##$ $ @#
######### $ ##
# $ $ #
### ## #
# #
######
+12
View File
@@ -0,0 +1,12 @@
Author: Thinking Rabbit, Level 06
###### ###
#.. # ##@##
#.. ### #
#.. $$ #
#.. # # $ #
#..### # $ #
#### $ #$ #
# $# $ #
# $ $ #
# ## #
#########
+13
View File
@@ -0,0 +1,13 @@
Author: Thinking Rabbit, Level 07
#####
####### ##
## # @## $$ #
# $ #
# $ ### #
### #####$###
# $ ### ..#
# $ $ $ ...#
# ###...#
# $$ # #...#
# ### #####
####
+17
View File
@@ -0,0 +1,17 @@
Author: Thinking Rabbit, Level 08
####
# ###########
# $ $ $ #
# $# $ # $ #
# $ $ # #
### $# # #### #
#@#$ $ $ ## #
# $ #$# # #
# $ $ $ $ #
##### #########
# #
# #
#......#
#......#
#......#
########
+15
View File
@@ -0,0 +1,15 @@
Author: Thinking Rabbit, Level 09
#######
# ...#
##### ...#
# . .#
# ## ...#
## ## ...#
### ########
# $$$ ##
##### $ $ #####
## #$ $ # #
#@ $ $ $ $ #
###### $$ $ #####
# #
########
+17
View File
@@ -0,0 +1,17 @@
Author: Thinking Rabbit, Level 10
### #############
##@#### # #
# $$ $$ $ $ ...#
# $$$# $ #...#
# $ # $$ $$ #...#
### # $ #...#
# # $ $ $ #...#
# ###### ###...#
## # # $ $ #...#
# ## # $$ $ $##..#
# ..# # $ #.#
# ..# # $$$ $$$ #.#
##### # # #.#
# ######### #.#
# #.#
###############
+16
View File
@@ -0,0 +1,16 @@
Author: Thinking Rabbit, Level 11
####
#### # #
### @###$ #
## $ #
## $ $$## ##
# #$## #
# # $ $$ # ###
# $ # # $ #####
#### # $$ # #
#### ## $ #
#. ### ########
#.. ..# ####
#...#.#
#.....#
#######
+14
View File
@@ -0,0 +1,14 @@
Author: Thinking Rabbit, Level 12
################
# #
# # ###### #
# # $ $ $ $# #
# # $@$ ## ##
# # $ $ $###...#
# # $ $ ##...#
# ###$$$ $ ##...#
# # ## ##...#
##### ## ##...#
##### ###
# #
#######
+14
View File
@@ -0,0 +1,14 @@
Author: Thinking Rabbit, Level 13
#########
## ## ######
### # # ###
# $ #$ # # ... #
# # $#@$## # #.#. #
# # #$ # . . #
# $ $ # # #.#. #
# ## ##$ $ . . #
# $ # # #$#.#. #
## $ $ $ $... #
#$ ###### ## #
# # ##########
####
+17
View File
@@ -0,0 +1,17 @@
Author: Thinking Rabbit, Level 14
#######
####### #
# # $@$ #
#$$ # #########
# ###......## #
# $......## # #
# ###...... #
## #### ### #$##
# #$ # $ # #
# $ $$$ # $## #
# $ $ ###$$ # #
##### $ # #
### ### # #
# # #
######## #
####
+17
View File
@@ -0,0 +1,17 @@
Author: Thinking Rabbit, Level 15
########
# # #
# $ #
### #$ ####
# $ ##$ #
# # @ $ # $#
# # $ ####
## ####$## #
# $#.....# # #
# $..**. $# ###
## #.....# #
# ### #######
# $$ # #
# # #
###### #
#####
+16
View File
@@ -0,0 +1,16 @@
Author: Thinking Rabbit, Level 16
#####
# ##
# # ####
# $ #### #
# $$ $ $#
###@ #$ ##
# ## $ $ ##
# $ ## ## .#
# #$##$ #.#
### $..##.#
# #.*...#
# $$ #.....#
# #########
# #
####
+15
View File
@@ -0,0 +1,15 @@
Author: Thinking Rabbit, Level 17
##########
#.. # #
#.. #
#.. # ####
####### # ##
# #
# # ## # #
#### ## #### ##
# $ ##### # #
# # $ $ # $ #
# @$ $ # ##
#### ## #######
# #
######
+14
View File
@@ -0,0 +1,14 @@
Author: Thinking Rabbit, Level 18
###########
# . # #
# #. @ #
##### ##..# ####
## # ..### ###
# $ #... $ # $ #
# .. ## ## ## #
####$##$# $ # # #
## # #$ $$ # #
# $ # # # $## #
# #
# ########### #
#### ####
+17
View File
@@ -0,0 +1,17 @@
Author: Thinking Rabbit, Level 19
######
# @####
##### $ #
# ## ####
# $ # ## #
# $ # ##### #
## $ $ # #
# $ $ ### # #
# # $ # # #
# # #$# # #
## ### # # ######
# $ #### # #....#
# $ $ ..#.#
####$ $# $ ....#
# # ## ....#
###################
+17
View File
@@ -0,0 +1,17 @@
Author: Thinking Rabbit, Level 20
##########
##### ####
# # $ #@ #
# #######$#### ###
# # ## # #$ ..#
# # $ # # #.#
# # $ # #$ ..#
# # ### ## #.#
# ### # # #$ ..#
# # # #### #.#
# #$ $ $ #$ ..#
# $ # $ $ # #.#
#### $### #$ ..#
# $$ ###....#
# ## ######
########
+16
View File
@@ -0,0 +1,16 @@
Author: Thinking Rabbit, Level 21
#########
# #
# ####
## #### # #
## #@## #
# $$$ $ $$#
# # ## $ #
# # ## $ ####
#### $$$ $# #
# ## ....#
# # # #.. .#
# # # ##...#
##### $ #...#
## #####
#####
+17
View File
@@ -0,0 +1,17 @@
Author: Thinking Rabbit, Level 22
###### ####
# ####### #####
# $# # $ # #
# $ $ $ # $ $ #
##$ $ # @# $ #
# $ ########### ##
# # #.......# $#
# ## # ......# #
# # $........$ #
# # $ #.... ..# #
# $ $####$#### $#
# $ ### $ $ ##
# $ $ $ $ #
## ###### $ ##### #
# # #
###################
+15
View File
@@ -0,0 +1,15 @@
Author: Thinking Rabbit, Level 23
#######
# # ####
##### $#$ # ##
#.. # # # #
#.. # $#$ # $####
#. # #$ # #
#.. $# # $ #
#..@# #$ #$ # #
#.. # $# $# #
#.. # #$$#$ # ##
#.. # $# # $#$ #
#.. # # # # #
##. #### ##### #
#### #### #####
+17
View File
@@ -0,0 +1,17 @@
Author: Thinking Rabbit, Level 24
###############
#.......... .####
#..........$$.# #
###########$ # ##
# $ $ $ #
## #### # $ # #
# # ## # ##
# $# # ## ### ##
# $ #$### ### ##
### $ # # ### ##
### $ ## # # ##
# $ # $ $ $ #
# $ $#$$$ # #
# # $ #####
# @## # # #
##############
+17
View File
@@ -0,0 +1,17 @@
Author: Thinking Rabbit, Level 25
####
# ##############
# # ..#......#
# # # ##### ...#
##$# ........#
# ##$###### ####
# $ # ######@ #
##$ # $ ###### #
# $ #$$$## #
# # #$#$###
# #### #$$$$$ #
# # $ # #
# # ## ###
# ######$###### $ #
# # # #
########## #####
+13
View File
@@ -0,0 +1,13 @@
Author: Thinking Rabbit, Level 26
#######
# # #####
## # #...###
# $# #... #
# $ #$$ ... #
# $# #... .#
# # $########
##$ $ $ #
## # $$ # #
###### ##$$@#
# ##
########
+14
View File
@@ -0,0 +1,14 @@
Author: Thinking Rabbit, Level 27
#################
#... # # ##
##..... $## # #$ #
#......# $ # #
#......# # # # #
######### $ $ $ #
# #$##$ ##$##
## $ # $ #
# ## ### # ##$ #
# $ $$ $ $ #
# $ $##$ ######
####### @ ##
######
+16
View File
@@ -0,0 +1,16 @@
Author: Thinking Rabbit, Level 28
#####
##### #
## $ $ ####
##### $ $ $ ##.#
# $$ ##..#
# ###### ###.. #
## # # #... #
# $ # #... #
#@ #$ ## ####...#
#### $ $$ ##..#
## $ $ $...#
# $$ $ # .#
# $ $ ####
###### #
#####
+14
View File
@@ -0,0 +1,14 @@
Author: Thinking Rabbit, Level 29
#####
# ##
# $ #########
## # # ######
## # $#$#@ # #
# # $ # $ #
# ### ######### ##
# ## ..*..... # ##
## ## *.*..*.* # ##
# $########## ##$ #
# $ $ $ $ #
# # # # # #
###################
+15
View File
@@ -0,0 +1,15 @@
Author: Thinking Rabbit, Level 30
###########
# # #
##### # $ $ #
# ##### $## # ##
# $ ## # ## $ #
# $ @$$ # ##$$$ #
## ### # ## #
## # ### #####$#
## # $ #....#
# ### ## $ #....##
# $ $ # #..$. #
# ## $ # ##.... #
##### ######...##
##### #####
+17
View File
@@ -0,0 +1,17 @@
Author: Thinking Rabbit, Level 31
####
# #########
## ## # #
# $# $@$ ####
#$ $ # $ $# ##
## $## #$ $ #
# # # # $$$ #
# $ $ $## ####
# $ $ #$# # #
## ### ###$ #
# #.... #
####......####
#....####
#...##
#...#
#####
+16
View File
@@ -0,0 +1,16 @@
Author: Thinking Rabbit, Level 32
####
##### #
## $#
## $ ## ###
#@$ $ # $ #
#### ## $#
#....#$ $ #
#....# $#
#.... $$ ##
#... # $ #
######$ $ #
# ###
#$ ###
# #
####
+16
View File
@@ -0,0 +1,16 @@
Author: Thinking Rabbit, Level 33
############
## ## #
## $ $ #
#### ## $$ #
# $ # #
# $$$ # ####
# # # $ ##
# # # $ #
# $# $# #
# ..# ####
####.. $ #@#
#.....# $# #
##....# $ #
###..## #
############
+16
View File
@@ -0,0 +1,16 @@
Author: Thinking Rabbit, Level 34
#########
#.... ##
#.#.# $ ##
##....# # @##
# ....# # ##
# #$ ##$ #
## ### $ #
#$ $ $ $# #
# # $ $ ## #
# ### ## #
# ## ## ##
# $ # $ #
###$ $ ###
# #####
####
+17
View File
@@ -0,0 +1,17 @@
Author: Thinking Rabbit, Level 35
############ ######
# # # ###....#
# $$# @ .....#
# # ### # ....#
## ## ### # ....#
# $ $ # # ####
# $ $## # #
#### # #### # ## #
# # #$ ## # #
# $ $ # ## # ##
# # $ $ # # #
# $ ## ## # #####
# $$ $$ #
## ## ### $ #
# # # #
###### ######
+17
View File
@@ -0,0 +1,17 @@
Author: Thinking Rabbit, Level 36
#####
##### ###### #
# #### $ $ $ #
# $ ## ## ## ##
# $ $ $ $ #
### $ ## ## ##
# ##### #####$$ #
##$##### @## #
# $ ###$### $ ##
# $ # ### ###
# $$ $ # $$ #
# # ## #
#######.. .###
#.........#
#.........#
###########
+16
View File
@@ -0,0 +1,16 @@
Author: Thinking Rabbit, Level 37
###########
#...... #########
#...... # ## #
#..### $ $ #
#... $ $ # ## #
#...#$##### # #
### # #$ #$ #
# $$ $ $ $## #
# $ #$#$ ##$ #
### ## # ## #
# $ $ ## ######
# $ $ #
## # # #
#####@#####
###
+12
View File
@@ -0,0 +1,12 @@
Author: Thinking Rabbit, Level 38
####
####### @#
# $ #
# $## $#
##$#...# #
# $... #
# #. .# ##
# # #$ #
#$ $ #
# #######
####
+17
View File
@@ -0,0 +1,17 @@
Author: Thinking Rabbit, Level 39
######
#############....#
## ## ##....#
# $$## $ @##....#
# $$ $# ....#
# $ ## $$ # # ...#
# $ ## $ # ....#
## ##### ### ##.###
## $ $ ## . #
# $### # ##### ###
# $ # #
# $ #$ $ $### #
# $$$# $ # ####
# # $$ #
###### ###
#####
+17
View File
@@ -0,0 +1,17 @@
Author: Thinking Rabbit, Level 40
############
# ##
# # #$$ $ #
#$ #$# ## @#
## ## # $ # ##
# $ #$ # #
# # $ # #
## $ $ ## #
# # ## $ #
# ## $$# #
######$$ # #
#....# ########
#.#... ##
#.... #
#.... #
#########
+16
View File
@@ -0,0 +1,16 @@
Author: Thinking Rabbit, Level 41
#####
## ##
## #
## $$ #
## $$ $ #
# $ $ #
#### # $$ #####
# ######## ## #
#. $$$@#
#.# ####### ## ##
#.# #######. #$ $##
#........... # #
############## $ #
## ##
####
+14
View File
@@ -0,0 +1,14 @@
Author: Thinking Rabbit, Level 42
########
#### ######
# ## $ $ @#
# ## ##$#$ $ $##
### ......# $$ ##
# ......# # #
# # ......#$ $ #
# #$...... $$# $ #
# ### ###$ $ ##
### $ $ $ $ #
# $ $ $ $ #
###### ######
#####
+12
View File
@@ -0,0 +1,12 @@
Author: Thinking Rabbit, Level 43
#######
##### # ####
# # $ #
#### #$$ ## ## #
## # # ## ###
# ### $#$ $ $ #
#... # ## # #
#...# @ # ### ##
#...# ### $ $ #
######## ## # #
#########
+16
View File
@@ -0,0 +1,16 @@
Author: Thinking Rabbit, Level 44
#####
# #
# # #######
# $@######
# $ ##$ ### #
# #### $ $ #
# ##### # #$ ####
## #### ##$ #
# $# $ # ## ## #
# # #...# #
###### ### ... #
#### # #...# #
# ### # #
# #
#########
+15
View File
@@ -0,0 +1,15 @@
Author: Thinking Rabbit, Level 45
##### ####
#...# # ####
#...### $ #
#....## $ $###
##....## $ #
###... ## $ $ #
# ## # $ #
# ## # ### ####
# $ # #$ $ #
# $ @ $ $ #
# # $ $$ $ ###
# ###### ###
# ## ####
###
+17
View File
@@ -0,0 +1,17 @@
Author: Thinking Rabbit, Level 46
##########
# ####
# ###### # ##
# # $ $ $ $ #
# #$ #
###$ $$# ###
# ## # $##
##$# $ @#
# $ $ ###
# # $ #
# ## # #
## ##### #
# #
#.......###
#.......#
#########
+12
View File
@@ -0,0 +1,12 @@
Author: Thinking Rabbit, Level 47
####
######### ##
## $ $ #####
# ## ## ##...#
# #$$ $ $$#$##...#
# # @ # ...#
# $# ###$$ ...#
# $ $$ $ ##....#
###$ #######
# #######
####
+17
View File
@@ -0,0 +1,17 @@
Author: Thinking Rabbit, Level 48
#########
#*.*#*.*#
#.*.*.*.#
#*.*.*.*#
#.*.*.*.#
#*.*.*.*#
### ###
# #
###### ######
# #
# $ $ $ $ $ #
## $ $ $ $ ##
#$ $ $ $ $#
# $@$ #
# ##### #
#### ####
+16
View File
@@ -0,0 +1,16 @@
Author: Thinking Rabbit, Level 49
####
# ##
# ##
# $$ ##
###$ $ ##
#### $ #
### # ##### #
# # #....$ #
# # $ ....# #
# $ # #.*..# #
### #### ### #
#### @$ ##$##
### $ #
# ## #
#########
+17
View File
@@ -0,0 +1,17 @@
Author: Thinking Rabbit, Level 50
############
##.. # #
##..* $ $ #
##..*.# # # $##
#..*.# # # $ #
####...# # # #
# ## # #
# @$ $ ### # ##
# $ $ # # #
###$$ # # # # #
# $ # # #####
# $# ##### #
#$ # # # #
# ### ## #
# # # ##
#### ######
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB