12,10 → 12,13 |
include '../../../system/launch/trunk/mem.inc' |
include '../../../develop/libraries/libs-dev/.test/dll.inc' |
include '../../../develop/libraries/box_lib/trunk/box_lib.mac' |
;include '../../../system/board/trunk/debug.inc' |
include '../../../system/board/trunk/debug.inc' |
|
;;===Define_chapter============================================================================================================ |
|
WINDOW_MODE_WINDOWED equ 0 |
WINDOW_MODE_FULLSCREEN equ 1 |
|
GRID_WIDTH equ 28 |
GRID_HEIGHT equ 14 |
|
29,11 → 32,12 |
RIGHT equ 3 |
|
struct LEVEL |
field db GRID_WIDTH*GRID_HEIGHT dup (?) |
field db 4*GRID_HEIGHT dup (?) |
snake_dots db 6 dup (?) |
snake_direction dd ? |
snake_direction_next dd ? |
number_of_stones dd ? |
name dd ? |
ends |
|
CLASSIC_MODE equ 0 |
42,13 → 46,15 |
CLASSIC_MODE_FIRST_LEVEL equ 0 |
LEVELS_MODE_FIRST_LEVEL equ 1 |
|
EAT_TO_END_LEVEL equ 12 |
PAUSE_BETWEEN_LEVELS equ 250 |
PAUSE_WHILE_DRAWING_SPLASH equ 4 |
EAT_TO_END_LEVEL equ 7 |
PAUSE_BETWEEN_LEVELS equ 200 |
PAUSE_WHILE_DRAWING_SPLASH equ 3 |
|
CHAMPION_NAME_LENGTH equ 15 |
LAST_LEVEL_NUMBER equ 12 |
LAST_LEVEL_NUMBER equ 36 |
|
START_LIVES equ 3 |
|
;;---Define_chapter------------------------------------------------------------------------------------------------------------ |
|
start: |
59,25 → 65,51 |
|
align 4 |
|
mov eax, cur_dir_path |
@@: |
cmp byte[eax], 0 |
jz @f |
inc eax |
jmp @b |
@@: |
mov dword[eax], '.ini' |
mov edi, cur_dir_path |
mov al, 0 |
mov ecx, 4096 |
repne scasb |
mov dword[edi-1], '.ini' |
|
invoke ini.get_int, cur_dir_path, aPreferences, aSpeed, 80 |
neg eax |
add [time_wait_limit], eax |
mov ebx, [time_wait_limit] |
mov [time_wait_limit_const], ebx |
sub ebx, 4 |
mov eax, 200 |
div bl |
mov byte[speed_up_counter], al |
mov byte[speed_up_counter+1], al |
invoke ini.get_str, cur_dir_path, aPreferences, aTheme, aTheme_name, 31, aTheme_name |
invoke ini.get_int, cur_dir_path, aPreferences, aSmart_reverse, 0 |
mov [smart_reverse], eax |
invoke ini.get_int, cur_dir_path, aPreferences, aShow_lives_style, 2 |
mov [show_lives_style], eax |
invoke ini.get_int, cur_dir_path, aPreferences, aDraw_level_name_in_window_title, 1 |
mov [draw_level_name_in_window_title], eax |
invoke ini.get_str, cur_dir_path, aPreferences, aSeparating_symbol, separating_symbol, 3, default_separating_symbol |
|
invoke ini.get_int, cur_dir_path, aTheme_name, aDecorations, 2 |
invoke ini.get_shortcut, cur_dir_path, aShortcuts, aMove_left, 0x23, 0 |
mov [shortcut_move_left], al |
invoke ini.get_shortcut, cur_dir_path, aShortcuts, aMove_down, 0x24, 0 |
mov [shortcut_move_down], al |
invoke ini.get_shortcut, cur_dir_path, aShortcuts, aMove_up, 0x25, 0 |
mov [shortcut_move_up], al |
invoke ini.get_shortcut, cur_dir_path, aShortcuts, aMove_right, 0x26, 0 |
mov [shortcut_move_right], al |
invoke ini.get_shortcut, cur_dir_path, aShortcuts, aReverse, 0x0F, 0 |
mov [shortcut_reverse], al |
invoke ini.get_shortcut, cur_dir_path, aShortcuts, aIncrease, 0x16, 0 |
mov [shortcut_increase], al |
invoke ini.get_shortcut, cur_dir_path, aShortcuts, aDecrease, 0x17, 0 |
mov [shortcut_decrease], al |
|
invoke ini.get_int, cur_dir_path, aTheme_name, aDecorations, 3 |
mov [decorations], eax |
invoke ini.get_color, cur_dir_path, aTheme_name, aBackground_color, 0x000000 |
or [background_color], eax |
or [window_style], eax |
or [window_style_windowed], eax |
invoke ini.get_color, cur_dir_path, aTheme_name, aDecorations_color, 0xAAAA00 |
or [decorations_color], eax |
invoke ini.get_color, cur_dir_path, aTheme_name, aSnake_color, 0x1111ff |
84,6 → 116,8 |
or [snake_color], eax |
invoke ini.get_color, cur_dir_path, aTheme_name, aSnake_head_color, 0x6B6Bff |
or [snake_head_color], eax |
invoke ini.get_color, cur_dir_path, aTheme_name, aLives_in_head_number_color, 0xff8800 |
or [lives_in_head_number_color], eax |
invoke ini.get_color, cur_dir_path, aTheme_name, aSnake_picture_color, 0x4488ff |
or [snake_picture_color], eax |
invoke ini.get_color, cur_dir_path, aTheme_name, aVersion_picture_color, 0x55ff55 |
152,7 → 186,11 |
mcall 37,4,cursor_data,2 ; load empty cursor (for "hiding" cursor while level_mode) |
mov [cursor_handle], eax |
|
call Set_geometry |
mov eax, WINDOW_MODE_WINDOWED |
call Set_window_mode |
mcall 0,0,0,0x51000000 ; create empty window. Set_geometry will set all parameters |
call Set_geometry.by_hotkey |
mcall 71,1,window_title |
|
include 'first_menu.asm' ; First menu body and functions |
include 'level.asm' ; Level body and functions (game process) |
204,6 → 242,93 |
Set_geometry: |
;;===Set_geometry========================================================================================================== |
|
cmp [resized_by_hotkey], 1 |
je .by_hotkey |
|
test [proc_info.wnd_state], 0x01 |
jnz .by_hotkey |
|
mcall 9,proc_info,-1 |
mov eax, [proc_info.box.width] |
cmp eax, [window_width] |
jne @f |
mov eax, [proc_info.box.height] |
cmp eax, [window_height] |
jne @f |
jmp .quit |
@@: |
mov eax, [proc_info.box.width] |
mov [window_width], eax |
mov eax, [proc_info.box.height] |
mov [window_height], eax |
|
.by_mouse: ; or any other kind of resizing. for example, double click on window title |
|
test [proc_info.wnd_state], 0x01 |
jnz .by_hotkey |
|
|
cmp [window_width], 250 |
jnl @f |
mov [window_width], 250 |
@@: |
cmp [window_height], 150 |
jnl @f |
mov [window_height], 150 |
@@: |
|
mcall 48,4 |
mov ecx, [window_height] |
sub ecx, eax |
sub ecx, 5 |
sub ecx, [g_e] |
sub ecx, [g_e] |
sub ecx, 25+30 |
mov esi, ecx |
|
mov eax, [window_width] |
sub eax, 5+5 |
sub eax, [g_e] |
sub eax, [g_e] |
sub eax, [g_s] |
sub eax, [g_s] |
mov edi, eax |
|
mov dx, 0 |
div cx |
cmp ax, 2 |
jl .fit_to_width |
|
.fit_to_height: |
mov eax, esi |
mov ebx, GRID_HEIGHT |
div bl |
cmp al, MIN_SQUARE_SIDE_LENGTH |
jnl @f |
mov al, MIN_SQUARE_SIDE_LENGTH |
@@: |
dec al |
mov byte[square_side_length], al |
jmp .by_hotkey |
|
.fit_to_width: |
mov eax, edi |
mov ebx, GRID_WIDTH |
div bl |
cmp al, MIN_SQUARE_SIDE_LENGTH |
jnl @f |
mov al, MIN_SQUARE_SIDE_LENGTH |
@@: |
dec al |
mov byte[square_side_length], al |
jmp .by_hotkey |
|
; jmp .done |
|
.by_hotkey: |
mcall 9,proc_info,-1 |
mov [resized_by_hotkey], 0 |
|
mov eax, [square_side_length] |
inc eax ; space between squares |
mov [g_s], eax |
215,14 → 340,6 |
add eax, ebx |
mov [g_e], eax |
|
mov eax, [g_s] |
add eax, [g_e] |
mov [gbxm1], eax |
|
mov eax, [g_e] |
add eax, 25 |
mov [gbym1], eax |
|
mov edx, GRID_WIDTH |
mov eax, [g_s] |
mul dx |
233,14 → 350,43 |
mul dx |
mov [gh_mul_gs], eax |
|
mov eax, [gbxm1] |
add eax, [gw_mul_gs] |
mov [gbxm1_plus_gw_mul_gs], eax |
mov eax, [gw_mul_gs] |
add eax, [g_s] |
add eax, [g_s] |
add eax, [g_e] |
add eax, [g_e] |
add eax, 5*2 ; skin width |
mov esi, eax |
test [proc_info.wnd_state], 0x01 |
cmovnz eax, [proc_info.box.width] |
mov [window_width], eax |
|
mov eax, [gbym1] |
sub eax, [gw_mul_gs] |
sub eax, 5*2 |
shr eax, 1 |
mov [gbxm1], eax |
|
mcall 48,4 ; get skin header height |
mov ebx, eax |
add eax, [gh_mul_gs] |
mov [gbym1_plus_gh_mul_gs], eax |
add eax, [g_e] |
add eax, 25 |
add eax, [g_e] |
add eax, 30 |
add eax, 5 ; skin height (bottom part) |
mov edi, eax |
test [proc_info.wnd_state], 0x01 |
cmovnz eax, [proc_info.box.height] |
mov [window_height], eax |
|
sub eax, [gh_mul_gs] |
sub eax, ebx |
sub eax, 5 |
sub eax, 5 |
|
shr eax, 1 |
mov [gbym1], eax |
|
mov eax, [g_s] |
shl eax, 16 |
add eax, [g_s] |
256,41 → 402,34 |
add eax, [gbym1] |
mov [gbym1_shl16_gbym1], eax |
|
mov eax, [gbxm1] |
add eax, [gw_mul_gs] |
mov [gbxm1_plus_gw_mul_gs], eax |
|
mov eax, [gw_mul_gs] |
add eax, [gbxm1] |
add eax, [gbxm1] |
add eax, 5*2 ; skin width |
mov [window_width], eax |
|
mcall 48,4 ; get skin header height |
mov eax, [gbym1] |
add eax, [gh_mul_gs] |
add eax, [gbym1] |
add eax, [g_e] |
add eax, 30 |
add eax, 5 ; skin height (bottom part) |
mov [window_height], eax |
mov [gbym1_plus_gh_mul_gs], eax |
|
mcall 48, 5 |
mov dx, ax |
shr eax, 16 |
sub dx, ax |
cmp dx, word[window_width] ; does window fit to work area width? |
cmp dx, si ; does window fit to work area width? |
jnl @f |
dec [square_side_length] |
jmp Set_geometry |
jmp Set_geometry.by_hotkey |
@@: |
|
mov cx, bx |
shr ebx, 16 |
sub cx, bx |
cmp cx, word[window_height] ; does window fit to work area height? |
cmp cx, di ; does window fit to work area height? |
jnl @f |
dec [square_side_length] |
jmp Set_geometry |
jmp Set_geometry.by_hotkey |
@@: |
|
sub dx, word[window_width] |
sub dx, si |
shr dx, 1 |
mov word[wp_x], dx |
sub cx, word[window_height] |
362,7 → 501,10 |
|
mov [button_y_bottom], ecx |
|
.done: |
mcall 67,[wp_x],[wp_y],[window_width],[window_height] |
|
.quit: |
ret |
|
;;---Set_geometry------------------------------------------------------------------------------------------------------ |
372,8 → 514,7 |
;;===Increase_geometry================================================================================================= |
|
inc [square_side_length] |
call Set_geometry |
mcall 67,[wp_x],[wp_y],[window_width],[window_height] |
mov [resized_by_hotkey], 1 |
|
ret |
|
386,8 → 527,7 |
cmp [square_side_length], MIN_SQUARE_SIDE_LENGTH |
je @f |
dec [square_side_length] |
call Set_geometry |
mcall 67,[wp_x],[wp_y],[window_width],[window_height] |
mov [resized_by_hotkey], 1 |
|
@@: |
ret |
921,23 → 1061,33 |
|
.draw: |
mov bl, ah |
mov di, 7 |
|
.loop: |
cmp byte[esi], 0 |
jz @f |
push eax ebx ecx esi |
bt word[esi], di |
jnc @f |
push eax ebx ecx esi edi |
call Draw_square |
pop esi ecx ebx eax |
pop edi esi ecx ebx eax |
|
@@: |
dec di |
jns @f |
mov di, 7 |
inc esi |
@@: |
inc bl |
cmp bl, al |
jne .loop |
|
inc bh |
cmp di, 7 |
jz @f |
inc esi |
@@: |
cmp bh, cl |
jne .draw |
|
ret |
|
;;---Draw_picture------------------------------------------------------------------------------------------------------ |
951,8 → 1101,6 |
;; cl = value to draw |
;; |
|
push eax ebx edx |
|
and eax, 0x0000ffff |
xor bx, bx |
mov bl, al |
960,19 → 1108,17 |
mov dx, GRID_WIDTH |
mul dx |
add ax, bx |
mov edx, field_map |
add edx, eax |
mov [edx], cl |
mov edi, field_map |
add edi, eax |
mov [edi], cl |
|
pop edx ebx eax |
|
ret |
|
;;---Draw_on_map----------------------------------------------------------------------------------------------------------- |
;;---Draw_on_map------------------------------------------------------------------------------------------------------- |
|
|
Get_from_map: |
;;===Get_from_map========================================================================================================== |
;;===Get_from_map====================================================================================================== |
;; in : |
;; al = x coord |
;; ah = y coord |
1011,19 → 1157,79 |
@@: |
test al, al |
jz @f |
add edx, 410 |
add edx, stage_01-stage_00 |
dec al |
jmp @b |
@@: |
|
mov esi, window_title_with_lives |
mov edi, window_title+5 |
|
.lives_in_title: |
cmp [play_mode], LEVELS_MODE |
jne .level_name_in_title |
test [show_lives_style], 1 |
jz .level_name_in_title |
mov [edi], byte ' ' |
mov al, byte[separating_symbol] |
mov [edi+1], byte al |
mov [edi+2], byte ' ' |
add edi, 3 |
mov eax, [lives] |
add al, 0x30 |
mov [window_title_with_lives], al |
mov ecx, 10 |
rep movsb |
dec edi |
|
.level_name_in_title: |
cmp [draw_level_name_in_window_title], 1 |
jne @f |
mov [edi], byte ' ' |
mov al, byte[separating_symbol] |
mov [edi+1], byte al |
mov [edi+2], byte ' ' |
add edi, 3 |
mov esi, edx |
add esi, LEVEL.name |
mov esi, [esi] |
mov ecx, 16 |
rep movsd |
|
@@: |
mcall 71,1,window_title |
|
mov [cur_level], edx |
|
mov esi, edx |
add esi, LEVEL.field |
mov edi, field_map |
mov ecx, GRID_WIDTH*GRID_HEIGHT/4 |
rep movsd |
mov ecx, 2 |
mov ah, GRID_HEIGHT |
.begin: |
mov ebx, 7 |
mov al, GRID_WIDTH |
.loop: |
bt [esi], ebx |
jnc @f |
mov byte[edi], cl |
jmp .skip |
@@: |
mov byte[edi], 0 |
.skip: |
dec ebx |
jns @f |
mov ebx, 7 |
inc esi |
@@: |
inc edi |
dec al |
jnz .loop |
inc esi |
dec ah |
jnz .begin |
|
|
mov esi, edx |
add esi, LEVEL.snake_dots |
mov edi, snake_dots |
1099,30 → 1305,77 |
;;---Show_cursor----------------------------------------------------------------------------------------------------------- |
|
|
;;---Some_functions------------------------------------------------------------------------------------------------------------- |
Set_window_mode: |
;;===Set_window_mode======================================================================================================= |
|
test al, al |
jnz .fullscreen |
mov eax, [window_style_windowed] |
jmp .quit |
|
.fullscreen: |
mov eax, [window_style_fullscreen] |
|
.quit: |
mov [window_style], eax |
ret |
|
;;---Some_functions------------------------------------------------------------------------------------------------------------ |
|
|
Reverse_snake: |
;;===Reverse_snake========================================================================================================= |
|
cmp [snake_direction], LEFT |
jne @f |
mov [snake_direction_next], RIGHT |
jmp .quit |
@@: |
cmp [snake_direction], RIGHT |
jne @f |
mov [snake_direction_next], LEFT |
jmp .quit |
@@: |
cmp [snake_direction], UP |
jne @f |
mov [snake_direction_next], DOWN |
jmp .quit |
@@: |
cmp [snake_direction], DOWN |
jne @f |
mov [snake_direction_next], UP |
; jmp .quit |
@@: |
|
.quit: |
ret |
|
;;---Reverse_snake--------------------------------------------------------------------------------------------------------- |
|
|
;;===Variables================================================================================================================== |
|
window_title db 'Snake',0 |
window_style dd 0x34000000 |
window_title db 'Snake',64+15 dup (0) |
window_title_with_lives db '_ live(s)',0 |
default_separating_symbol db '|',0 |
window_style_windowed dd 0x33000000 ; scalable skinned window |
window_style_fullscreen dd 0x00000000 |
time_before_waiting dd 0x0 |
time_to_wait dd 0x0 |
time_wait_limit dd 101 |
time_wait_limit_const dd 0x0 |
|
play_mode dd 0x0 |
lives dd START_LIVES |
acceleration_mask dd 0x0 |
|
square_side_length dd 19 |
resized_by_hotkey dd 0x0 |
fullscreen dd 0x0 |
|
gbxm1 dd 30 |
gbym1 dd 30 |
|
szZ string_score ,'SCORE : ' |
szZ string_hi_score ,'HI-SCORE : ' |
;szZ string_player ,'PLAYER :' |
szZ string_champion ,'CHAMPION : ' |
szZ string_level ,'LEVEL : ' |
;szZ string_hi_level ,'HI-LEVEL :' |
szZ string_pause_space ,'PAUSE - ',0x27,'SPACE',0x27 |
szZ string_resume_space ,'RESUME - ',0x27,'SPACE',0x27 |
szZ string_menu_esc ,'MENU - ',0x27,'ESC',0x27 |
1145,396 → 1398,928 |
|
action dd 0 |
|
picture_first_menu_snake db 1,1,1,1,0,1,0,0,1,0,0,1,1,0,0,1,0,0,1,0,1,1,1,1,\ |
1,0,0,0,0,1,1,0,1,0,1,0,0,1,0,1,0,1,0,0,1,0,0,1,\ |
1,1,1,1,0,1,0,1,1,0,1,0,0,1,0,1,1,0,0,0,1,1,1,1,\ |
0,0,0,1,0,1,0,1,1,0,1,1,1,1,0,1,0,1,0,0,1,0,0,0,\ |
1,1,1,1,0,1,0,0,1,0,1,0,0,1,0,1,0,0,1,0,1,1,1,1 |
picture_first_menu_snake db 0xf4,0x99,0x2f,\ |
0x86,0xa5,0x49,\ |
0xf5,0xa5,0x8f,\ |
0x15,0xbd,0x48,\ |
0xf4,0xa5,0x2f |
|
picture_first_menu_version db 0xf1,0xe0,\ |
0x90,0x20,\ |
0x90,0x20,\ |
0x90,0x20,\ |
0xf4,0x20 |
|
picture_first_menu_version db 1,1,1,1,0,0,0,1,1,1,1,\ |
1,0,0,1,0,0,0,1,0,0,0,\ |
1,0,0,1,0,0,0,1,1,1,1,\ |
1,0,0,1,0,0,0,0,0,0,1,\ |
1,1,1,1,0,1,0,1,1,1,1 |
picture_pause db 11100011b,00100101b,11101111b,\ |
10010100b,10100101b,00001000b,\ |
10010100b,10100101b,00001000b,\ |
11100111b,10100101b,11101111b,\ |
10000100b,10100100b,00101000b,\ |
10000100b,10011001b,11101111b |
|
picture_pause db 1,1,1,0,0,0,1,1,0,0,1,0,0,1,0,1,1,1,1,0,1,1,1,1,\ |
1,0,0,1,0,1,0,0,1,0,1,0,0,1,0,1,0,0,0,0,1,0,0,0,\ |
1,0,0,1,0,1,0,0,1,0,1,0,0,1,0,1,0,0,0,0,1,0,0,0,\ |
1,1,1,0,0,1,1,1,1,0,1,0,0,1,0,1,1,1,1,0,1,1,1,1,\ |
1,0,0,0,0,1,0,0,1,0,1,0,0,1,0,0,0,0,1,0,1,0,0,0,\ |
1,0,0,0,0,1,0,0,1,0,0,1,1,0,0,1,1,1,1,0,1,1,1,1 |
picture_game_over db 00110000b,00000000b,00000000b,00000000b,\ |
01001001b,11001000b,10111100b,00000000b,\ |
10000010b,00101101b,10100000b,00000000b,\ |
10011010b,00101010b,10111000b,00000000b,\ |
10001011b,11101000b,10100000b,00000000b,\ |
01110010b,00101000b,10111100b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
00000111b,00000000b,00000000b,00000000b,\ |
00001000b,10100010b,11110111b,10000000b,\ |
00001000b,10100010b,10000100b,01000000b,\ |
00001000b,10100010b,11100100b,01000000b,\ |
00001000b,10010100b,10000111b,10000000b,\ |
00000111b,00001000b,11110100b,01000000b |
|
picture_game_over db 0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\ |
0,1,0,0,1,0,0,1,1,1,0,0,1,0,0,0,1,0,1,1,1,1,0,0,0,0,\ |
1,0,0,0,0,0,1,0,0,0,1,0,1,1,0,1,1,0,1,0,0,0,0,0,0,0,\ |
1,0,0,1,1,0,1,0,0,0,1,0,1,0,1,0,1,0,1,1,1,0,0,0,0,0,\ |
1,0,0,0,1,0,1,1,1,1,1,0,1,0,0,0,1,0,1,0,0,0,0,0,0,0,\ |
0,1,1,1,0,0,1,0,0,0,1,0,1,0,0,0,1,0,1,1,1,1,0,0,0,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\ |
0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\ |
0,0,0,0,1,0,0,0,1,0,1,0,0,0,1,0,1,1,1,1,0,1,1,1,1,0,\ |
0,0,0,0,1,0,0,0,1,0,1,0,0,0,1,0,1,0,0,0,0,1,0,0,0,1,\ |
0,0,0,0,1,0,0,0,1,0,1,0,0,0,1,0,1,1,1,0,0,1,0,0,0,1,\ |
0,0,0,0,1,0,0,0,1,0,0,1,0,1,0,0,1,0,0,0,0,1,1,1,1,0,\ |
0,0,0,0,0,1,1,1,0,0,0,0,1,0,0,0,1,1,1,1,0,1,0,0,0,1 |
picture_you_win db 10001001b,11001000b,10000000b,\ |
10001010b,00101000b,10000000b,\ |
01010010b,00101000b,10000000b,\ |
00100010b,00101000b,10000000b,\ |
00100001b,11000111b,00000000b,\ |
00000000b,00000000b,00000000b,\ |
00000000b,00000000b,00000000b,\ |
01000100b,10010001b,00000000b,\ |
01010100b,10011001b,00000000b,\ |
01010100b,10010101b,00000000b,\ |
01010100b,10010011b,00000000b,\ |
00101000b,10010001b,00000000b |
|
picture_you_win db 1,0,0,0,1,0,0,1,1,1,0,0,1,0,0,0,1,\ |
1,0,0,0,1,0,1,0,0,0,1,0,1,0,0,0,1,\ |
0,1,0,1,0,0,1,0,0,0,1,0,1,0,0,0,1,\ |
0,0,1,0,0,0,1,0,0,0,1,0,1,0,0,0,1,\ |
0,0,1,0,0,0,0,1,1,1,0,0,0,1,1,1,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\ |
0,1,0,0,0,1,0,0,1,0,0,1,0,0,0,1,0,\ |
0,1,0,1,0,1,0,0,1,0,0,1,1,0,0,1,0,\ |
0,1,0,1,0,1,0,0,1,0,0,1,0,1,0,1,0,\ |
0,1,0,1,0,1,0,0,1,0,0,1,0,0,1,1,0,\ |
0,0,1,0,1,0,0,0,1,0,0,1,0,0,0,1,0 |
picture_level db 10000111b,10100101b,11101000b,\ |
10000100b,00100101b,00001000b,\ |
10000111b,00100101b,11001000b,\ |
10000100b,00101001b,00001000b,\ |
11110111b,10110001b,11101111b |
|
picture_level db 1,0,0,0,0,1,1,1,1,0,1,0,0,1,0,1,1,1,1,0,1,0,0,0,\ |
1,0,0,0,0,1,0,0,0,0,1,0,0,1,0,1,0,0,0,0,1,0,0,0,\ |
1,0,0,0,0,1,1,1,0,0,1,0,0,1,0,1,1,1,0,0,1,0,0,0,\ |
1,0,0,0,0,1,0,0,0,0,1,0,1,0,0,1,0,0,0,0,1,0,0,0,\ |
1,1,1,1,0,1,1,1,1,0,1,1,0,0,0,1,1,1,1,0,1,1,1,1 |
digits_font db 0xf0,0x90,0x90,0x90,0xf0,\ |
0x20,0x60,0x20,0x20,0x20,\ |
0xf0,0x10,0xf0,0x80,0xf0,\ |
0xf0,0x10,0x70,0x10,0xf0,\ |
0x90,0x90,0xf0,0x10,0x10,\ |
0xf0,0x80,0xf0,0x10,0xf0,\ |
0xf0,0x80,0xf0,0x90,0xf0,\ |
0xf0,0x10,0x10,0x10,0x10,\ |
0xf0,0x90,0xf0,0x90,0xf0,\ |
0xf0,0x90,0xf0,0x10,0xf0 |
|
digits_font db 1,1,1,1,\ |
1,0,0,1,\ |
1,0,0,1,\ |
1,0,0,1,\ |
1,1,1,1,\ |
\ |
0,0,1,0,\ |
0,1,1,0,\ |
0,0,1,0,\ |
0,0,1,0,\ |
0,0,1,0,\ |
\ |
1,1,1,1,\ |
0,0,0,1,\ |
1,1,1,1,\ |
1,0,0,0,\ |
1,1,1,1,\ |
\ |
1,1,1,1,\ |
0,0,0,1,\ |
0,1,1,1,\ |
0,0,0,1,\ |
1,1,1,1,\ |
\ |
1,0,0,1,\ |
1,0,0,1,\ |
1,1,1,1,\ |
0,0,0,1,\ |
0,0,0,1,\ |
\ |
1,1,1,1,\ |
1,0,0,0,\ |
1,1,1,1,\ |
0,0,0,1,\ |
1,1,1,1,\ |
\ |
1,1,1,1,\ |
1,0,0,0,\ |
1,1,1,1,\ |
1,0,0,1,\ |
1,1,1,1,\ |
\ |
1,1,1,1,\ |
0,0,0,1,\ |
0,0,0,1,\ |
0,0,0,1,\ |
0,0,0,1,\ |
\ |
1,1,1,1,\ |
1,0,0,1,\ |
1,1,1,1,\ |
1,0,0,1,\ |
1,1,1,1,\ |
\ |
1,1,1,1,\ |
1,0,0,1,\ |
1,1,1,1,\ |
0,0,0,1,\ |
1,1,1,1 |
|
stage_00: |
.field db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
.field db 00000000b,00000000b,00000000b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b |
|
.snake_dots db 3,3, 4,3, 5,3 |
.snake_direction dd RIGHT |
.snake_direction_next dd RIGHT |
.number_of_stones dd 0 |
.name dd stage_00_name |
|
stage_01: |
.field db 2,2,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,\ |
2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,\ |
2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,\ |
2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,\ |
2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\ |
2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,\ |
2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,\ |
2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,\ |
2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,\ |
2,2,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2 |
.field db 11111000b,00000000b,00000001b,11110000b,\ |
10000000b,00000000b,00000000b,00010000b,\ |
10000000b,00000000b,00000000b,00010000b,\ |
10000000b,00000000b,00000000b,00010000b,\ |
10000000b,00000000b,00000000b,00010000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
10000000b,00000000b,00000000b,00010000b,\ |
10000000b,00000000b,00000000b,00010000b,\ |
10000000b,00000000b,00000000b,00010000b,\ |
10000000b,00000000b,00000000b,00010000b,\ |
11111000b,00000000b,00000001b,11110000b |
|
.snake_dots db 3,3, 4,3, 5,3 |
.snake_direction dd RIGHT |
.snake_direction_next dd RIGHT |
.number_of_stones dd 36 |
.name dd stage_01_name |
|
stage_02: |
.field db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\ |
0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,\ |
0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,\ |
0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,\ |
0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\ |
0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,\ |
0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,\ |
0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,\ |
0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
.field db 00000000b,00000000b,00000000b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
00011111b,11000000b,00111111b,10000000b,\ |
00010000b,00000000b,00000000b,10000000b,\ |
00010000b,00000000b,00000000b,10000000b,\ |
00010000b,00000000b,00000000b,10000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
00010000b,00000000b,00000000b,10000000b,\ |
00010000b,00000000b,00000000b,10000000b,\ |
00010000b,00000000b,00000000b,10000000b,\ |
00011111b,11000000b,00111111b,10000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b |
|
.snake_dots db 7,5, 8,5, 9,5 |
.snake_direction dd RIGHT |
.snake_direction_next dd RIGHT |
.number_of_stones dd 40 |
.name dd stage_02_name |
|
stage_03: |
.field db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,\ |
0,0,0,0,2,2,2,2,2,2,2,2,2,0,0,2,2,2,2,2,2,2,2,2,0,0,0,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\ |
0,0,0,0,2,2,2,2,2,2,2,2,2,0,0,2,2,2,2,2,2,2,2,2,0,0,0,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
.field db 00000000b,00000000b,00000000b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
00000000b,00001001b,00000000b,00000000b,\ |
00000000b,00001001b,00000000b,00000000b,\ |
00000000b,00001001b,00000000b,00000000b,\ |
00001111b,11111001b,11111111b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
00001111b,11111001b,11111111b,00000000b,\ |
00000000b,00001001b,00000000b,00000000b,\ |
00000000b,00001001b,00000000b,00000000b,\ |
00000000b,00001001b,00000000b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b |
|
.snake_dots db 23,0, 22,0, 21,0 |
.snake_direction dd LEFT |
.snake_direction_next dd LEFT |
.number_of_stones dd 44 |
.number_of_stones dd 48 |
.name dd stage_03_name |
|
stage_04: |
.field db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\ |
0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,\ |
0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,\ |
0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,\ |
0,0,0,2,0,0,0,0,0,0,2,0,0,0,0,0,0,2,0,0,0,0,0,0,2,0,0,0,\ |
0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,\ |
0,0,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,2,0,0,0,\ |
0,0,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,2,0,0,0,\ |
0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,\ |
0,0,0,2,0,0,0,0,0,0,2,0,0,0,0,0,0,2,0,0,0,0,0,0,2,0,0,0,\ |
0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,\ |
0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,\ |
0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
.field db 00000000b,00000000b,00000000b,00000000b,\ |
00000000b,00100000b,01000000b,00000000b,\ |
00000010b,00100000b,01000100b,00000000b,\ |
00000010b,00000000b,00000100b,00000000b,\ |
00010000b,00100000b,01000000b,10000000b,\ |
00000010b,00100000b,01000100b,00000000b,\ |
00010010b,00000000b,00000100b,10000000b,\ |
00010010b,00000000b,00000100b,10000000b,\ |
00000010b,00100000b,01000000b,00000000b,\ |
00010000b,00100000b,01000000b,10000000b,\ |
00000010b,00000000b,00000100b,00000000b,\ |
00000010b,00100000b,01000100b,00000000b,\ |
00000000b,00100000b,01000000b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b |
|
.snake_dots db 19,6, 19,7, 19,8 |
.snake_napravlenie dd DOWN |
.snake_napravlenie_next dd DOWN |
.number_of_stones dd 40 |
.number_of_stones dd 39 |
.name dd stage_04_name |
|
stage_05: |
.field db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\ |
0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,0,0,0,0,0,\ |
0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,0,0,0,0,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\ |
0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,0,0,0,\ |
0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,0,0,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\ |
0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,\ |
0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
.field db 00000000b,00000000b,00000000b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
00000001b,11111111b,11111000b,00000000b,\ |
00000001b,11111111b,11111000b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
00000111b,11111111b,11111110b,00000000b,\ |
00000111b,11111111b,11111110b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
00111111b,11111111b,11111111b,11000000b,\ |
00111111b,11111111b,11111111b,11000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b |
|
.snake_dots db 0,0, 0,1, 1,1 |
.snake_direction dd RIGHT |
.snake_direction_next dd RIGHT |
.number_of_stones dd 112 |
.name dd stage_05_name |
|
stage_06: |
.field db 0,0,0,0,0,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\ |
0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,0,0,0,0,0,\ |
0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,0,0,0,0,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,0,0,0,0,0,0,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,0,0,0,0,0,0,0,\ |
0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,0,0,0,0,0,\ |
0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,0,0,0,0,0,\ |
0,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\ |
0,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\ |
0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,\ |
0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,0 |
.field db 00000001b,10000000b,00000000b,00000000b,\ |
00000001b,11111111b,11111000b,00000000b,\ |
00000001b,11111111b,11111000b,00000000b,\ |
00000000b,00000000b,00011000b,00000000b,\ |
00000000b,00000000b,00011000b,00000000b,\ |
00011111b,11111111b,11111000b,00000000b,\ |
00011111b,11111111b,11111000b,00000000b,\ |
00011000b,00000000b,00000000b,00000000b,\ |
00011000b,00000000b,00000000b,00000000b,\ |
00011111b,11111111b,11111111b,11100000b,\ |
00011111b,11111111b,11111111b,11100000b,\ |
00000000b,00000000b,00000000b,01100000b,\ |
00000000b,00000000b,00000000b,01100000b,\ |
00000000b,00000000b,00000000b,01100000b |
|
.snake_dots db 0,0, 0,1, 1,1 |
.snake_direction dd RIGHT |
.snake_direction_next dd RIGHT |
.number_of_stones dd 128 |
.name dd stage_06_name |
|
stage_07: |
.field db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\ |
0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,0,0,0,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,\ |
0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,2,0,0,0,0,0,0,\ |
0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,0,0,0,0,0,\ |
0,0,0,0,0,0,2,0,2,2,2,2,2,2,2,2,2,2,0,2,0,2,0,0,0,0,0,0,\ |
0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,0,0,0,0,0,\ |
0,0,0,0,0,0,2,0,2,2,2,2,2,2,2,2,2,2,2,2,0,2,0,0,0,0,0,0,\ |
0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,\ |
0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,0,0,0,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
.field db 00000000b,00000000b,00000000b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
00000011b,11111111b,11111100b,00000000b,\ |
00000000b,00000000b,00000100b,00000000b,\ |
00000011b,11111111b,11110100b,00000000b,\ |
00000010b,00000000b,00010100b,00000000b,\ |
00000010b,11111111b,11010100b,00000000b,\ |
00000010b,00000000b,00010100b,00000000b,\ |
00000010b,11111111b,11110100b,00000000b,\ |
00000010b,00000000b,00000100b,00000000b,\ |
00000011b,11111111b,11111100b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b |
|
.snake_dots db 8,1, 9,1, 10,1 |
.snake_direction dd RIGHT |
.snake_direction_next dd RIGHT |
.number_of_stones dd 83 |
.name dd stage_07_name |
|
stage_08: |
.field db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,\ |
0,0,0,0,2,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,\ |
0,0,0,0,0,0,0,2,0,2,0,0,2,0,0,2,0,0,0,0,0,2,0,2,0,0,0,0,\ |
0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,\ |
0,0,0,0,2,2,2,2,0,0,0,0,0,0,0,0,2,2,2,0,0,0,0,0,0,0,0,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,\ |
0,0,0,0,0,2,2,2,0,0,2,0,0,0,0,0,2,0,0,0,0,0,2,0,2,0,0,0,\ |
0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,\ |
0,0,0,2,0,0,0,0,2,2,0,0,0,0,0,0,0,2,2,2,0,0,2,0,0,0,0,0,\ |
0,0,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
.field db 00000000b,00000000b,00000000b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
00000000b,00000000b,00010000b,00000000b,\ |
00001001b,00000001b,00000000b,00000000b,\ |
00000001b,01001001b,00000101b,00000000b,\ |
00000000b,01000000b,00000100b,00000000b,\ |
00001111b,00000000b,11100000b,00000000b,\ |
00000000b,00000000b,00001000b,10000000b,\ |
00000111b,00100000b,10000010b,10000000b,\ |
00010000b,00000000b,00000010b,00000000b,\ |
00010000b,11000000b,01110010b,00000000b,\ |
00010010b,00000000b,00000010b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b |
|
.snake_dots db 0,0, 1,0, 2,0 |
.snake_direction dd RIGHT |
.snake_direction_next dd RIGHT |
.number_of_stones dd 40 |
.name dd stage_08_name |
|
stage_09: |
.field db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\ |
0,0,1,1,1,1,0,1,0,0,1,0,0,1,1,0,0,1,0,0,1,0,1,1,1,1,0,0,\ |
0,0,1,0,0,0,0,1,1,0,1,0,1,0,0,1,0,1,0,1,0,0,1,0,0,0,0,0,\ |
0,0,1,1,1,1,0,1,0,1,1,0,0,0,0,1,0,1,1,0,0,0,1,1,1,0,0,0,\ |
0,0,0,0,0,1,0,1,0,1,1,0,0,1,1,1,0,1,0,1,0,0,1,0,0,0,0,0,\ |
0,0,1,1,1,1,0,1,0,0,1,0,0,0,0,1,0,1,0,0,1,0,1,1,1,1,0,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
.field db 00000000b,00000000b,00000000b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
00111101b,00100110b,01001011b,11000000b,\ |
00100001b,10101001b,01010010b,00000000b,\ |
00111101b,01100001b,01100011b,10000000b,\ |
00000101b,01100111b,01010010b,00000000b,\ |
00111101b,00100001b,01001011b,11000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b |
|
.snake_dots db 12,6, 12,7, 12,8 |
.snake_direction dd DOWN |
.snake_direction_next dd DOWN |
.number_of_stones dd 59 |
.name dd stage_09_name |
|
stage_10: |
.field db 2,2,2,0,2,2,2,0,2,2,2,0,2,2,2,0,2,2,2,0,2,2,2,0,2,2,2,0,\ |
2,2,2,0,2,2,2,0,2,2,2,0,2,2,2,0,2,2,2,0,2,2,2,0,2,2,2,0,\ |
2,2,2,0,2,2,2,0,2,2,2,0,2,2,2,0,2,2,2,0,2,2,2,0,2,2,2,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\ |
2,2,2,0,2,2,2,0,2,2,2,0,2,2,2,0,2,2,2,0,2,2,2,0,2,2,2,0,\ |
2,2,2,0,2,2,2,0,2,2,2,0,2,2,2,0,2,2,2,0,2,2,2,0,2,2,2,0,\ |
2,2,2,0,2,2,2,0,2,2,2,0,2,2,2,0,2,2,2,0,2,2,2,0,2,2,2,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\ |
2,2,2,0,2,2,2,0,2,2,2,0,2,2,2,0,2,2,2,0,2,2,2,0,2,2,2,0,\ |
2,2,2,0,2,2,2,0,2,2,2,0,2,2,2,0,2,2,2,0,2,2,2,0,2,2,2,0,\ |
2,2,2,0,2,2,2,0,2,2,2,0,2,2,2,0,2,2,2,0,2,2,2,0,2,2,2,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\ |
2,2,2,0,2,2,2,0,2,2,2,0,2,2,2,0,2,2,2,0,2,2,2,0,2,2,2,0,\ |
2,2,2,0,2,2,2,0,2,2,2,0,2,2,2,0,2,2,2,0,2,2,2,0,2,2,2,0 |
.field db 11101110b,11101110b,11101110b,11100000b,\ |
11101110b,11101110b,11101110b,11100000b,\ |
11101110b,11101110b,11101110b,11100000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
11101110b,11101110b,11101110b,11100000b,\ |
11101110b,11101110b,11101110b,11100000b,\ |
11101110b,11101110b,11101110b,11100000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
11101110b,11101110b,11101110b,11100000b,\ |
11101110b,11101110b,11101110b,11100000b,\ |
11101110b,11101110b,11101110b,11100000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
11101110b,11101110b,11101110b,11100000b,\ |
11101110b,11101110b,11101110b,11100000b |
|
.snake_dots db 3,2, 3,3, 4,3 |
.snake_direction dd RIGHT |
.snake_direction_next dd RIGHT |
.number_of_stones dd 231 |
.name dd stage_10_name |
|
stage_11: |
.field db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\ |
0,0,0,0,0,2,2,2,0,0,0,0,0,2,2,2,0,0,0,0,0,2,2,2,0,0,0,0,\ |
0,0,0,0,2,2,0,2,2,0,0,0,2,2,0,2,2,0,0,0,2,2,0,2,2,0,0,0,\ |
0,0,0,2,2,0,0,0,2,2,0,2,2,0,0,0,2,2,0,2,2,0,0,0,2,2,0,0,\ |
0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,0,0,\ |
0,0,0,2,2,0,0,0,2,2,0,2,2,0,0,0,2,2,0,2,2,0,0,0,2,2,0,0,\ |
0,0,0,0,2,2,0,2,2,0,0,0,2,2,0,2,2,0,0,0,2,2,0,2,2,0,0,0,\ |
0,0,0,0,0,2,2,2,0,0,0,0,0,2,2,2,0,0,0,0,0,2,2,2,0,0,0,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 |
.field db 00000000b,00000000b,00000000b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
00000111b,00000111b,00000111b,00000000b,\ |
00001101b,10001101b,10001101b,10000000b,\ |
00011000b,11011000b,11011000b,11000000b,\ |
00000000b,01000000b,01000000b,01000000b,\ |
00011000b,11011000b,11011000b,11000000b,\ |
00001101b,10001101b,10001101b,10000000b,\ |
00000111b,00000111b,00000111b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b |
|
.snake_dots db 3,12, 4,12, 5,12 |
.snake_direction dd RIGHT |
.snake_direction_next dd RIGHT |
.number_of_stones dd 69 |
.name dd stage_11_name |
|
stage_12: |
.field db 0,0,0,0,0,0,0,0,0,0,0,2,2,0,0,0,0,0,0,0,2,2,2,0,0,0,0,0,\ |
0,2,2,0,2,2,2,0,0,0,0,2,0,0,0,0,0,0,0,0,2,0,2,0,0,2,0,2,\ |
0,2,0,0,2,0,2,2,2,2,0,2,2,0,0,2,2,2,0,0,0,0,0,0,0,2,2,2,\ |
0,2,2,0,0,0,0,2,0,2,0,0,0,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,0,0,0,\ |
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,0,0,\ |
0,2,0,2,0,0,2,2,0,0,0,0,2,2,0,0,2,0,2,0,0,2,2,0,0,0,2,2,\ |
0,2,2,2,0,0,2,0,0,0,0,0,2,0,0,0,2,2,2,0,0,2,0,0,0,0,0,2,\ |
0,0,0,0,0,0,2,2,0,0,0,0,2,2,0,0,0,0,0,0,0,2,2,0,0,0,2,2,\ |
0,0,0,0,0,0,0,0,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,\ |
0,0,0,2,0,2,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,2,2,0,0,0,0,0,\ |
2,2,0,2,2,2,0,0,0,0,0,0,0,2,2,0,2,0,2,0,0,2,0,0,0,0,0,0,\ |
0,2,0,0,0,0,2,2,2,0,0,0,0,0,2,0,2,2,2,0,0,2,2,0,2,0,2,0,\ |
2,2,0,0,0,0,2,0,2,0,0,0,0,2,2,0,0,0,0,0,0,0,0,0,2,2,2,0 |
.field db 00000000b,00011000b,00001110b,00000000b,\ |
01101110b,00010000b,00001010b,01010000b,\ |
01001011b,11011001b,11000000b,01110000b,\ |
01100001b,01000001b,01000000b,00000000b,\ |
00000000b,00000000b,00000011b,10000000b,\ |
00000000b,00000000b,00000010b,10000000b,\ |
01010011b,00001100b,10100110b,00110000b,\ |
01110010b,00001000b,11100100b,00010000b,\ |
00000011b,00001100b,00000110b,00110000b,\ |
00000000b,11100000b,00000000b,00000000b,\ |
00010100b,10100000b,00000110b,00000000b,\ |
11011100b,00000110b,10100100b,00000000b,\ |
01000011b,10000010b,11100110b,10100000b,\ |
11000010b,10000110b,00000000b,11100000b |
|
.snake_dots db 27,0, 26,0, 25,0 |
.snake_direction dd LEFT |
.snake_direction_next dd LEFT |
.number_of_stones dd 110 |
.name dd stage_12_name |
|
stage_13: |
.field db 00111000b,00100000b,00000000b,00000000b,\ |
01111100b,11110011b,11000011b,10000000b,\ |
11111100b,01110011b,10000001b,11000000b,\ |
11110000b,00000011b,11000000b,00000000b,\ |
00000000b,00000010b,00000000b,00000000b,\ |
00000000b,00000010b,00000001b,00000000b,\ |
00011110b,00000111b,00000111b,00000000b,\ |
00000111b,10001111b,11111110b,00000000b,\ |
00000011b,11111111b,11111100b,00000000b,\ |
00110001b,11111111b,11111001b,01100000b,\ |
00001110b,11101011b,00100111b,10000000b,\ |
01111000b,10000011b,10000010b,00000000b,\ |
00000011b,11100110b,00011010b,11000000b,\ |
00000000b,00000000b,00000000b,00000000b |
|
.snake_dots db 0,5, 0,6, 0,7 |
.snake_direction dd DOWN |
.snake_direction_next dd DOWN |
.number_of_stones dd 141 |
.name dd stage_13_name |
|
stage_14: |
.field db 00000110b,00000000b,00000000b,00000000b,\ |
00001000b,00000000b,00011000b,00000000b,\ |
00010000b,00000000b,00000100b,00000000b,\ |
00100001b,10000000b,11000010b,00000000b,\ |
01000010b,01000001b,00100001b,00000000b,\ |
10000100b,00000010b,00010000b,10000000b,\ |
10001000b,00000100b,00001000b,01000000b,\ |
10010000b,00001000b,00000100b,01000000b,\ |
01001000b,00010000b,00001000b,10000000b,\ |
00100100b,00100000b,00010001b,00000000b,\ |
00010010b,01000001b,00100010b,00000000b,\ |
00001001b,10000000b,11000100b,00000000b,\ |
00000100b,00000000b,00001000b,00000000b,\ |
00000000b,00000000b,00110000b,00000000b |
|
.snake_dots db 8,0, 9,0, 10,0 |
.snake_direction dd RIGHT |
.snake_direction_next dd RIGHT |
.number_of_stones dd 60 |
.name dd stage_14_name |
|
stage_15: |
.field db 00000000b,00000000b,00000000b,00000000b,\ |
00000000b,01110000b,00110000b,00000000b,\ |
00000000b,10000000b,00001010b,00000000b,\ |
00100001b,00000000b,00110010b,00000000b,\ |
00010001b,00111111b,10011100b,00000000b,\ |
00001001b,00100000b,11000000b,00000000b,\ |
00010000b,00000010b,01000000b,00000000b,\ |
00100000b,00000010b,00100001b,10000000b,\ |
00010000b,00000010b,00110010b,01000000b,\ |
00001000b,01000100b,00011100b,01000000b,\ |
00010000b,00111000b,00010000b,01000000b,\ |
00100000b,00000000b,00010000b,01000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b |
|
.snake_dots db 13,3, 13,2, 14,2 |
.snake_direction dd RIGHT |
.snake_direction_next dd RIGHT |
.number_of_stones dd 60 |
.name dd stage_15_name |
|
stage_16: |
.field db 00000000b,10000010b,00000000b,00000000b,\ |
00000000b,01001010b,10000010b,10100000b,\ |
01111111b,11100111b,00000001b,11000000b,\ |
00000000b,01000010b,00000000b,10000000b,\ |
00000100b,10000000b,01000000b,00000001b,\ |
00000100b,00100000b,10000000b,00000010b,\ |
11000100b,00010001b,11111000b,00000111b,\ |
00010101b,00001000b,10000000b,00000010b,\ |
00001110b,00010000b,01000000b,00000001b,\ |
00000100b,00100010b,00000000b,10000000b,\ |
00000000b,00000010b,00000000b,01000000b,\ |
00111111b,11111111b,11111111b,11100000b,\ |
00000000b,00000010b,00000000b,01000000b,\ |
00000000b,00000010b,00000000b,10000000b |
|
.snake_dots db 11,7, 10,7, 9,7 |
.snake_direction dd LEFT |
.snake_direction_next dd LEFT |
.number_of_stones dd 96 |
.name dd stage_16_name |
|
stage_17: |
.field db 00000000b,00000000b,00000000b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
00000111b,10000001b,11100000b,00000000b,\ |
00001000b,01000010b,00010000b,00000000b,\ |
00010001b,00100100b,01001000b,00000000b,\ |
00010001b,00000000b,01001000b,00000000b,\ |
00001000b,01000010b,00010000b,00000000b,\ |
00000111b,10000001b,11100000b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
00000000b,01000000b,00000000b,00000000b,\ |
00000000b,00111110b,00000000b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b |
|
.snake_dots db 11,7, 11,8, 12,8 |
.snake_direction dd RIGHT |
.snake_direction_next dd RIGHT |
.number_of_stones dd 40 |
.name dd stage_17_name |
|
stage_18: |
.field db 00000000b,00000000b,00000000b,00000000b,\ |
01000100b,01000100b,01000100b,01000000b,\ |
00101010b,10101010b,10101010b,10100000b,\ |
00010001b,00010001b,00010001b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
01000100b,01000100b,01000100b,01000000b,\ |
00101010b,10101010b,10101010b,10100000b,\ |
00010001b,00010001b,00010001b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
01000100b,01000100b,01000100b,01000000b,\ |
00101010b,10101010b,10101010b,10100000b,\ |
00010001b,00010001b,00010001b,00000000b |
|
.snake_dots db 2,5, 3,5, 4,5 |
.snake_direction dd RIGHT |
.snake_direction_next dd RIGHT |
.number_of_stones dd 78 |
.name dd stage_18_name |
|
stage_19: |
.field db 01000010b,00100100b,10000101b,00000000b,\ |
00010000b,00010000b,00100000b,10000000b,\ |
00111001b,00000010b,00010000b,00100000b,\ |
01000100b,00001000b,00000010b,00000000b,\ |
01010101b,01000000b,01000000b,01000000b,\ |
01010100b,00010000b,00001000b,11100000b,\ |
00000100b,10001001b,00100001b,00000000b,\ |
01111100b,00100000b,00000001b,01010000b,\ |
00111001b,00000100b,00010001b,01010000b,\ |
00010000b,00000000b,10000001b,00010000b,\ |
11010111b,11100000b,00011101b,11110000b,\ |
00010000b,01000000b,00100000b,11100000b,\ |
00010000b,10000000b,00100000b,01000000b,\ |
00000001b,00000000b,00010000b,01000000b |
|
.snake_dots db 27,6, 0,6, 1,6 |
.snake_direction dd RIGHT |
.snake_direction_next dd RIGHT |
.number_of_stones dd 95 |
.name dd stage_19_name |
|
stage_20: |
.field db 00000000b,00000000b,00000000b,00000000b,\ |
00000000b,00000000b,10001000b,00000000b,\ |
00000000b,00011100b,10000100b,00000000b,\ |
00000000b,01100100b,10000010b,00000000b,\ |
00000011b,10000100b,10000100b,00000000b,\ |
00000010b,00000100b,10001000b,00000000b,\ |
00000010b,00000100b,10000100b,00000000b,\ |
00000010b,00000100b,10000010b,00000000b,\ |
00000010b,00111100b,10010010b,00000000b,\ |
00011110b,00111100b,10010100b,00000000b,\ |
00011110b,00111100b,10001000b,00000000b,\ |
00011110b,00000000b,10000000b,00000000b,\ |
00000000b,00000000b,10000000b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b |
|
.snake_dots db 17,2, 17,3, 17,4 |
.snake_direction dd DOWN |
.snake_direction_next dd DOWN |
.number_of_stones dd 65 |
.name dd stage_20_name |
|
stage_21: |
.field db 00000000b,00000000b,00000000b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
00000011b,11111111b,11111110b,00000000b,\ |
00000001b,01000100b,01000100b,00000000b,\ |
00000010b,01000100b,01000100b,00000000b,\ |
00001100b,01000100b,01000100b,00000000b,\ |
01110000b,01000100b,01000100b,00000000b,\ |
01110000b,01000100b,01000100b,00000000b,\ |
01110000b,11101110b,11101110b,00000000b,\ |
00000000b,11101110b,11101110b,00000000b,\ |
00000000b,11101110b,11101110b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b |
|
.snake_dots db 10,1, 11,1, 12,1 |
.snake_direction dd RIGHT |
.snake_direction_next dd RIGHT |
.number_of_stones dd 86 |
.name dd stage_21_name |
|
stage_22: |
.field db 00000000b,00000000b,00000000b,00000000b,\ |
00000011b,10000000b,00000000b,00000000b,\ |
00000111b,11100000b,00000000b,00000000b,\ |
00001111b,11110000b,00000000b,00000000b,\ |
00011111b,11100000b,00000000b,00000000b,\ |
00011111b,11000011b,00001100b,00110000b,\ |
00011111b,10000111b,10011110b,01110000b,\ |
00011111b,11000111b,10011110b,01110000b,\ |
00011111b,11100011b,00001100b,00110000b,\ |
00001111b,11110000b,00000000b,00000000b,\ |
00000111b,11100000b,00000000b,00000000b,\ |
00000011b,10000000b,00000000b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b |
|
.snake_dots db 1,7, 1,6, 1,5 |
.snake_direction dd UP |
.snake_direction_next dd UP |
.number_of_stones dd 104 |
.name dd stage_22_name |
|
stage_23: |
.field db 00000000b,00000000b,00000000b,00000000b,\ |
00100000b,01000101b,00010000b,00100000b,\ |
00011010b,00100101b,00100010b,11000000b,\ |
00000100b,10101000b,10101001b,00000000b,\ |
00000100b,10010010b,01001001b,00000000b,\ |
00001011b,00110000b,01100110b,10000000b,\ |
00000000b,11001010b,10011000b,00000000b,\ |
00000001b,00000111b,00000100b,00000000b,\ |
00001110b,01001010b,10010011b,10000000b,\ |
00000010b,00110000b,01100010b,00000000b,\ |
00000101b,00010010b,01000101b,00000000b,\ |
00001001b,00001000b,10000100b,10000000b,\ |
00000000b,00001000b,10000000b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b |
|
.snake_dots db 15,0, 14,0, 13,0 |
.snake_direction dd LEFT |
.snake_direction_next dd LEFT |
.number_of_stones dd 85 |
.name dd stage_23_name |
|
stage_24: |
.field db 00000000b,00000000b,00000000b,00000000b,\ |
00111111b,11111111b,11111111b,10000000b,\ |
00100000b,00000000b,00000000b,10000000b,\ |
00100011b,11111111b,11111000b,10000000b,\ |
00100010b,00000000b,00001000b,10000000b,\ |
00100010b,00111111b,10001000b,10000000b,\ |
00100010b,00100000b,10001000b,10000000b,\ |
00101010b,10101010b,10101010b,10000000b,\ |
00001000b,10001110b,00100010b,00000000b,\ |
00001000b,10000000b,00100010b,00000000b,\ |
00001000b,11111111b,11100010b,00000000b,\ |
00001000b,00000000b,00000010b,00000000b,\ |
00001111b,11111111b,11111110b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b |
|
.snake_dots db 1,0, 0,0, 0,1 |
.snake_direction dd DOWN |
.snake_direction_next dd DOWN |
.number_of_stones dd 120 |
.name dd stage_24_name |
|
stage_25: |
.field db 00000100b,11000000b,00000000b,00000000b,\ |
00000011b,10000000b,00110010b,00000000b,\ |
10011010b,10000000b,00011100b,00000000b,\ |
01110000b,00000000b,00010101b,10010000b,\ |
01010000b,00000111b,00000000b,11100000b,\ |
00000100b,00000101b,00000000b,10100000b,\ |
00000100b,00000100b,00000000b,00000000b,\ |
00000011b,11111100b,00011001b,00000000b,\ |
00000010b,10010100b,00001110b,00000000b,\ |
00000010b,10010100b,00001010b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
00000011b,00100001b,10010011b,00100000b,\ |
00000001b,11000000b,11100001b,11000000b,\ |
00000001b,01000000b,10100001b,01000000b |
|
.snake_dots db 11,2, 12,2, 13,2 |
.snake_direction dd RIGHT |
.snake_direction_next dd RIGHT |
.number_of_stones dd 88 |
.name dd stage_25_name |
|
stage_26: |
.field db 00000000b,00000000b,00000000b,00000000b,\ |
00111100b,01001111b,01111010b,01000000b,\ |
00100000b,01000001b,00001010b,01000000b,\ |
00100100b,01001111b,01111011b,11000000b,\ |
00000100b,01001000b,00001000b,01000000b,\ |
00111100b,01001111b,01111000b,01000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
00111101b,11101111b,01111011b,11000000b,\ |
00100001b,00000001b,00000000b,00000000b,\ |
00111101b,11100001b,01111011b,11000000b,\ |
00000100b,00000001b,00000000b,01000000b,\ |
00111101b,11100001b,01111011b,11000000b,\ |
00000000b,00000000b,00000000b,00000000b |
|
.snake_dots db 1,5, 0,5, 0,6 |
.snake_direction dd DOWN |
.snake_direction_next dd DOWN |
.number_of_stones dd 115 |
.name dd stage_26_name |
|
stage_27: |
.field db 00000000b,10000000b,00000000b,01000000b,\ |
00000000b,10000000b,01000000b,11100000b,\ |
00100011b,11100000b,01000000b,01000000b,\ |
01110000b,10000001b,11110000b,00000000b,\ |
00100000b,10000000b,01000000b,00000000b,\ |
00000000b,00000000b,01000010b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
00000010b,00000000b,00000000b,00000000b,\ |
00000111b,00000000b,00000000b,10000000b,\ |
00000010b,00001000b,00000001b,11000000b,\ |
00000000b,00000000b,10000000b,10000000b,\ |
00000000b,01000001b,11000000b,00000000b,\ |
01000000b,11100000b,10000000b,00000000b,\ |
00000000b,01000000b,00000000b,00000000b |
|
.snake_dots db 12,8, 12,7, 12,6 |
.snake_direction dd UP |
.snake_direction_next dd UP |
.number_of_stones dd 51 |
.name dd stage_27_name |
|
stage_28: |
.field db 00000000b,00000000b,00000000b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
00000100b,00000000b,00000010b,00000000b,\ |
00010100b,00000000b,00000010b,10000000b,\ |
01010100b,00000000b,00000010b,10100000b,\ |
01010101b,11111111b,11111010b,10100000b,\ |
01010100b,00000000b,00000010b,10100000b,\ |
00010100b,00000000b,00000010b,10000000b,\ |
00000100b,00000000b,00000010b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b |
|
.snake_dots db 13,8, 12,8, 11,8 |
.snake_direction dd LEFT |
.snake_direction_next dd LEFT |
.number_of_stones dd 44 |
.name dd stage_28_name |
|
stage_29: |
.field db 00000000b,01110000b,00000000b,00000000b,\ |
00000100b,01000110b,00000001b,10000000b,\ |
01001110b,00001100b,01100000b,11000000b,\ |
01000000b,00000000b,01100000b,00000000b,\ |
01100000b,01111000b,00000001b,10010000b,\ |
00000000b,00000010b,10000101b,10110000b,\ |
00110000b,00110010b,10001100b,00100000b,\ |
00011011b,00110110b,10000100b,00000000b,\ |
00000001b,00000000b,10010000b,10000000b,\ |
00100001b,00000000b,00111000b,10000000b,\ |
00111001b,00110011b,00000011b,10000000b,\ |
01111111b,11111111b,00011011b,11010000b,\ |
11111111b,11111111b,00011111b,11110000b,\ |
11111111b,11111111b,00111111b,11110000b |
|
.snake_dots db 0,0, 1,0, 2,0 |
.snake_direction dd RIGHT |
.snake_direction_next dd RIGHT |
.number_of_stones dd 151 |
.name dd stage_29_name |
|
stage_30: |
.field db 00000000b,00000000b,00000000b,00000000b,\ |
00000000b,00000001b,01011100b,00000000b,\ |
00000000b,00000001b,11001000b,00000000b,\ |
00000100b,00000001b,01001000b,00000000b,\ |
00000100b,00000100b,00000000b,00000000b,\ |
00000100b,00000100b,00000100b,00000000b,\ |
00000100b,00000100b,00000100b,00000000b,\ |
00000100b,00000100b,00000100b,00000000b,\ |
01111111b,11000100b,11111111b,11100000b,\ |
00000100b,00000100b,00000100b,00000000b,\ |
00011111b,00111111b,10001110b,00000000b,\ |
00000100b,00000100b,00000100b,00000000b,\ |
00011111b,00011111b,00011111b,00000000b,\ |
11111111b,11111111b,11111111b,11110000b |
|
.snake_dots db 8,2, 9,2, 10,2 |
.snake_direction dd RIGHT |
.snake_direction_next dd RIGHT |
.number_of_stones dd 109 |
.name dd stage_30_name |
|
stage_31: |
.field db 00000101b,00010000b,00000100b,01000000b,\ |
01000100b,01010101b,00010100b,01000000b,\ |
01000101b,01010101b,01000101b,00010000b,\ |
01010000b,00010100b,01000000b,01010000b,\ |
00010101b,01000101b,01010100b,01000000b,\ |
01000001b,00010000b,01010101b,01000000b,\ |
01010101b,00010100b,00000101b,00010000b,\ |
00000101b,01010000b,01000101b,01010000b,\ |
01010000b,01000100b,00000000b,01010000b,\ |
00010101b,00000101b,00010100b,00010000b,\ |
01010001b,00010001b,01000001b,01000000b,\ |
01000100b,00000101b,01010100b,01010000b,\ |
00010001b,01010100b,00010001b,00010000b,\ |
00000100b,01000001b,00010001b,00000000b |
|
.snake_dots db 18,8, 17,8, 16,8 |
.snake_direction dd LEFT |
.snake_direction_next dd LEFT |
.number_of_stones dd 112 |
.name dd stage_31_name |
|
stage_32: |
.field db 11111111b,11111111b,11111111b,11110000b,\ |
10010010b,01001001b,00100100b,10010000b,\ |
10010000b,01000001b,00000100b,00010000b,\ |
10010010b,01001001b,00100100b,10010000b,\ |
10010010b,01001001b,00100100b,10010000b,\ |
10010010b,01001001b,00100100b,10010000b,\ |
10010010b,01001001b,00100100b,10010000b,\ |
10010010b,01001001b,00100100b,10010000b,\ |
10010010b,01001001b,00100100b,10010000b,\ |
10010010b,01001001b,00100100b,10010000b,\ |
10010010b,01001001b,00100100b,10010000b,\ |
10000010b,00001000b,00100000b,10010000b,\ |
10010010b,01001001b,00100100b,10010000b,\ |
11111111b,11111111b,11111111b,11110000b |
|
.snake_dots db 1,1, 1,2, 1,3 |
.snake_direction dd DOWN |
.snake_direction_next dd DOWN |
.number_of_stones dd 168 |
.name dd stage_32_name |
|
stage_33: |
.field db 00000000b,00000000b,00000000b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
01111111b,11001111b,11111111b,11100000b,\ |
01000100b,01001000b,01000000b,00100000b,\ |
01000100b,01001000b,01000001b,10100000b,\ |
01000100b,01001000b,01001101b,10100000b,\ |
00000000b,00000000b,00000110b,00000000b,\ |
01000100b,01001000b,01000010b,00100000b,\ |
01000100b,01001000b,01001111b,00100000b,\ |
01000100b,01001000b,01001111b,00100000b,\ |
01000100b,01001000b,01000110b,00100000b,\ |
01111111b,11001111b,11111111b,11100000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b |
|
.snake_dots db 6,6, 7,6, 8,6 |
.snake_direction dd RIGHT |
.snake_direction_next dd RIGHT |
.number_of_stones dd 109 |
.name dd stage_33_name |
|
stage_34: |
.field db 01110000b,00000000b,00000011b,10000000b,\ |
00010010b,00010000b,01111100b,00000000b,\ |
00011110b,00010000b,00100100b,00000000b,\ |
00000100b,00011001b,00100111b,00000000b,\ |
00001111b,10001001b,00100000b,00110000b,\ |
00000001b,00001011b,00101000b,00100000b,\ |
00000001b,00011110b,01111000b,00100000b,\ |
00111000b,00000010b,00001100b,10100000b,\ |
00001110b,00100010b,00000000b,10100000b,\ |
01100011b,11111110b,01000011b,11100000b,\ |
00111110b,00100010b,01000000b,10000000b,\ |
00000000b,01100011b,11000010b,10000000b,\ |
00000000b,01000000b,01100111b,10000000b,\ |
00000000b,00000000b,00000010b,00000000b |
|
.snake_dots db 7,0, 8,0, 9,0 |
.snake_direction dd RIGHT |
.snake_direction_next dd RIGHT |
.number_of_stones dd 113 |
.name dd stage_34_name |
|
stage_35: |
.field db 00000100b,00000000b,00001010b,00000000b,\ |
00010100b,01000000b,00101010b,00000000b,\ |
00010100b,10000010b,00010010b,10000000b,\ |
00010001b,00000000b,00010010b,10000000b,\ |
00010001b,00000010b,00001010b,10000000b,\ |
01010010b,00000010b,00001000b,10100000b,\ |
01000100b,00000000b,00001000b,10100000b,\ |
01000100b,00000010b,00000100b,10100000b,\ |
01001000b,00000010b,00000100b,00100000b,\ |
01001000b,00000000b,00000010b,00100000b,\ |
00010000b,00000010b,00000010b,00100000b,\ |
00110000b,00000010b,00000010b,00100000b,\ |
00100000b,00000010b,00000001b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b |
|
.snake_dots db 13,11, 13,10, 13,9 |
.snake_direction dd UP |
.snake_direction_next dd UP |
.number_of_stones dd 66 |
.name dd stage_35_name |
|
stage_36: |
.field db 10101110b,10001110b,00110100b,11100000b,\ |
11101000b,10001110b,00101010b,10000000b,\ |
10101110b,11101000b,00101010b,11100000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
00000000b,10110010b,01000100b,00000000b,\ |
00000001b,10100101b,01010100b,00000000b,\ |
00000001b,10100101b,00101000b,00000000b,\ |
00000000b,00000000b,00000000b,00000000b,\ |
00010001b,11010101b,11010001b,11000000b,\ |
00010001b,11010101b,11010001b,00000000b,\ |
00010001b,00010101b,00010000b,10000000b,\ |
00011101b,11001001b,11011100b,01000000b,\ |
00000000b,00000000b,00000001b,11010000b |
|
.snake_dots db 27,11, 27,10, 27,9 |
.snake_direction dd UP |
.snake_direction_next dd UP |
.number_of_stones dd 112 |
.name dd stage_36_name |
|
|
stage_00_name db 'Classic mode',0 |
stage_01_name db 'Begin',0 |
stage_02_name db 'Frame',0 |
stage_03_name db 'Sight',0 |
stage_04_name db 'Dashed',0 |
stage_05_name db 'Beams',0 |
stage_06_name db 'Pipe',0 |
stage_07_name db 'Labyrinth',0 |
stage_08_name db 'Sea battle',0 |
stage_09_name db 'Recursion',0 |
stage_10_name db 'Narrow corridors',0 |
stage_11_name db 'CCC',0 |
stage_12_name db 'Deadlocks',0 |
stage_13_name db 'Boat',0 |
stage_14_name db 'Pattern',0 |
stage_15_name db 'Guernica',0 |
stage_16_name db 'Goto',0 |
stage_17_name db 'Smiling face',0 |
stage_18_name db 'Waves',0 |
stage_19_name db 'First snow',0 |
stage_20_name db 'Music and silence',0 |
stage_21_name db 'Experiment',0 |
stage_22_name db 'Pacman',0 |
stage_23_name db 'Intricate pattern',0 |
stage_24_name db 'Square arcs',0 |
stage_25_name db 'In the animal world',0 |
stage_26_name db 'Digits',0 |
stage_27_name db 'Pluses',0 |
stage_28_name db 'Rod',0 |
stage_29_name db 'Tetris',0 |
stage_30_name db 'Towers of Hanoi',0 |
stage_31_name db 'Ruins',0 |
stage_32_name db 'Walls of Akendora',0 |
stage_33_name db 'Geranium in the window',0 |
stage_34_name db 'Algae',0 |
stage_35_name db 'The road ahead',0 |
stage_36_name db 'Help me draw levels!',0 |
|
|
background_color dd 0x000000 |
decorations_color dd 0x00000000 |
snake_color dd 0x000000 |
snake_head_color dd 0x000000 |
lives_in_head_number_color dd 0x000000 |
snake_picture_color dd 0x000000 |
version_picture_color dd 0x000000 |
pause_picture_color dd 0x000000 |
1572,7 → 2357,8 |
ini.get_int , 'ini_get_int' ,\ |
ini.set_str , 'ini_set_str' ,\ |
ini.set_int , 'ini_set_int' ,\ |
ini.get_color , 'ini_get_color' |
ini.get_color , 'ini_get_color' ,\ |
ini.get_shortcut, 'ini_get_shortcut' |
|
import box_lib,\ |
edit_box.draw , 'edit_box' ,\ |
1584,7 → 2370,20 |
aPreferences db 'Preferences',0 |
aSpeed db 'Speed',0 |
aTheme db 'Theme',0 |
aSmart_reverse db 'Smart_reverse',0 |
aShow_lives_style db 'Show_lives_style',0 |
aDraw_level_name_in_window_title db 'Draw_level_name_in_window_title',0 |
aSeparating_symbol db 'Separating_symbol',0 |
|
aShortcuts db 'Shortcuts',0 |
aMove_left db 'Move_left',0 |
aMove_down db 'Move_down',0 |
aMove_up db 'Move_up',0 |
aMove_right db 'Move_right',0 |
aReverse db 'Reverse',0 |
aIncrease db 'Increase',0 |
aDecrease db 'Decrease',0 |
|
aTheme_name db 32 dup (0) |
aDecorations db 'Decorations',0 |
aBackground_color db 'Background_color',0 |
1591,6 → 2390,7 |
aDecorations_color db 'Decorations_color',0 |
aSnake_color db 'Snake_color',0 |
aSnake_head_color db 'Snake_head_color',0 |
aLives_in_head_number_color db 'Lives_in_head_number_color',0 |
aSnake_picture_color db 'Snake_picture_color',0 |
aVersion_picture_color db 'Version_picture_color',0 |
aPause_picture_color db 'Pause_picture_color',0 |
1632,6 → 2432,8 |
rb 256 |
mouse_dd rd 1 |
|
window_style rd 1 |
|
cur_level rd 1 |
cur_level_number rd 1 |
hi_level rd 1 |
1691,6 → 2493,27 |
|
field_map rb GRID_WIDTH*GRID_HEIGHT*2 |
|
proc_info process_information |
|
smart_reverse rd 1 |
show_lives_style rd 1 |
draw_level_name_in_window_title rd 1 |
separating_symbol rd 1 |
|
shortcut_move_left rb 1 |
shortcut_move_down rb 1 |
shortcut_move_up rb 1 |
shortcut_move_right rb 1 |
shortcut_reverse rb 1 |
shortcut_increase rb 1 |
shortcut_decrease rb 1 |
|
square_side_length rd 1 |
|
gbxm1 rd 1 |
gbym1 rd 1 |
speed_up_counter rw 1 |
|
rb 4096 |
stacktop: |
d_end: |
d_end: |