Subversion Repositories Kolibri OS

Rev

Rev 8485 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1.  
  2. ; Author: RU095@YANDEX.RU
  3.  
  4. use32
  5.   org    0x0
  6.   db     'MENUET01'
  7.   dd     0x01
  8.   dd     START
  9.   dd     I_END
  10.   dd     0x300000
  11.   dd     0x27fff0
  12.   dd     0x0
  13.   dd     0x0
  14.  
  15. include 'lang.inc'
  16. include '..\..\macros.inc' ; ¬ ªà®áë ®¡«¥£ç îâ ¦¨§­ì  áᥬ¡«¥à騪®¢!
  17.  
  18. include 'ASCL.INC'
  19. include 'ASCGL.INC'
  20.  
  21. WND_COLOR equ 0x74000000
  22.  
  23. gif_hash_offset = gif_hash_area
  24. COLOR_ORDER equ MENUETOS
  25.  
  26. DELAY equ  2         ; ‡ ¤¥à¦ª  ¯¥à¥¤ ¯¥à¥å®¤®¬ ª á«¥¤ãî饬㠪 ¤àã ¢ ¬á¥ª
  27.  
  28. START:
  29. ;****************
  30. ; Žâªà뢠¥¬ ä ¨«
  31. ;****************
  32. openfile:
  33. ;    and  [entered],0
  34. ;    mov ecx,499*3*4 ;at start
  35.     xor ecx,ecx
  36.     mov ecx,1
  37.  
  38.   ; Convert gif to animation format
  39.     giftoani workarea,Image,ecx
  40.     bmptoimg bullet_bmp, img_bullet
  41.     bmptoimg level_bmp, img_level
  42.     bmptoimg kirpich, img_area
  43.     bmptoimg kirpich2, img_area2
  44.     bmptoimg kirpich3, img_area3
  45.     bmptoimg lest_bmp, img_lestniza
  46.     bmptoimg water1_bmp, img_water1
  47.     bmptoimg water2_bmp, img_water2
  48.     bmptoimg door1_bmp, img_door1
  49.     bmptoimg door2_bmp, img_door2
  50.  
  51.  
  52. red:
  53.     call timer
  54.     call draw_window
  55. ;    call load_level
  56. ;    delay 200
  57.  
  58. still:
  59.     timeevent DELAY,no_event, red, key, button
  60.  
  61. no_event:
  62.     call draw_subimage
  63.     jmp  still
  64.  
  65.   key:
  66.  ; ¡«®ª  ¤¢¨¦¥­¨ï ¯¥àá®­ ¦ 
  67.     mov  eax,2
  68.     int  0x40
  69.      cmp  ah, 179          ; ¯à ¢®  4
  70.      je go_mov
  71.      cmp  ah, 176          ; «¥¢®  1
  72.      je go_mov
  73.      cmp  ah, 178          ; ¢¥àå  3
  74.      je go_mov
  75.      cmp  ah, 177          ; ­¨§  2
  76.      je go_mov
  77.      cmp  ah, 120          ; ­¨§  2
  78.      je go_fire
  79.      cmp  ah, 122          ; ­¨§  2
  80.      je go_fire
  81.      cmp  ah, 239          ; ­¨§  2
  82.      je go_fire_left
  83.      cmp  ah, 231          ; ­¨§  2
  84.      je go_fire
  85.  
  86.  
  87.       jmp no_mov    ; if not left, right, up, down, then go NO MOV
  88.  
  89.     go_mov:
  90.        ;mov ebx, [v_mov2]
  91.        mov [v_mov2], ah
  92.        sub word [v_mov2], 175   ; ®â­¨¬ ¥¬ ®â ª®¤  ª« ¢¨è¨ 175 ¨ ®áâ ¥âáï 1,2,3 ¨«¨ 4 ᮮ⢥âá⢥­­® ­ ¯à ¢«¥­¨ï ¤¢¨¦¥­¨ï ¯¥àá®­ ¦ 
  93.       jmp no_mov    ; if not left, right, up, down, then go NO MOV
  94.  
  95.     go_fire_left:
  96.        xor eax,eax
  97.        mov ah, 122
  98.        call fire
  99.       jmp no_mov
  100.     go_fire:
  101.        call fire
  102.     no_mov:
  103.  ; ª®­¥æ ¡«®ª  ¤¢¨¦¥­¨ï ¯¥àá®­ ¦ 
  104.     jmp  still
  105.  
  106.   button:
  107.     mov  eax, 17
  108.     int  0x40
  109.  
  110.     cmp  ah,1
  111.     jne  noclose
  112.   _close:
  113.     or   eax,-1
  114.     int  0x40
  115.   noclose:
  116.     jmp  still
  117.  
  118. ;   *********************************************
  119. ;   *******  Ž…„…‹…ˆ… ˆ Ž’ˆ‘Ž‚Š€ ŽŠ€ *******
  120. ;   *********************************************
  121.  
  122. draw_window:
  123.     startwd
  124.  
  125.     mcall 48, 4
  126.     mov  ecx, 50*65536+516
  127.         add  ecx, eax
  128.     mov  ebx, 50*65536+521
  129.     mov  edx, WND_COLOR
  130.     mov  edi, title
  131.     xor  eax, eax
  132.     int  0x40
  133.  
  134.     xor  ecx,ecx
  135.     call draw_subimage
  136.     cmp  [imgcount],1
  137.     je   .enddraw
  138.  
  139.     mov  ecx,[img_index]
  140.  
  141.     call draw_subimage
  142.  
  143.   .enddraw:
  144.  
  145.     endwd
  146.  
  147.  
  148. ret
  149.  
  150. ;*******************************************
  151. ; LABIRINT
  152. ;*******************************************
  153.  
  154.  labirint:
  155.  
  156.    ; ¢ë¢®¤ ¡«®ª®¢ « ¡¨à¨­â 
  157.    cycle:
  158.  
  159.     mov     eax, [Lab]
  160.     shl     eax, 5          ; ᤢ¨£ ॣ¨áâà  ¢ ¯à ¢® ­  5 ¯®§¨æ¨¨ ¢á¥ à ¢­® ç⮠㬭®¦¨«¨ ­  32
  161.     mov     [perem1], eax
  162.     mov     eax, [Lab]
  163.     shr     eax, 4          ; ᤢ¨£ ॣ¨áâà  ¢ «¥¢®
  164.     shl     eax, 5          ; ᤢ¨£ ®¡à â­® (¢á¥ à ¢­® ç⮠楫®ç¨á«¥­­®¥ ¤¥«¥­¨¥­  256)
  165.     mov     [perem2], eax
  166.     shl     eax, 4          ; ¢á¥ à ¢­® çâ® ®â­¨¬ ¥¬ ®â ª®®à¤¨­ â ­¥­ã¦­ë© ¯à¨à®áâ -> “-256*X
  167.     sbb  dword [perem1], eax;
  168.  
  169.   mov    ebx, [Lab]
  170.   sbb    ebx, 1
  171.   mov     eax,[Dangeon + ebx]    ; ¡¥à¥â ¡ ©â ¨§ ¤ ­£¥®­ + ᬥ饭¨¥
  172.  
  173.   cmp  ah, 1   ;
  174.   je go_block
  175.  
  176.   cmp  ah, 0   ;
  177.   je back_block
  178.  
  179.   cmp  ah, 12   ; § ªà áª  ä®­  §   «¬ §®¬
  180.   je back_block
  181.  
  182.   cmp  ah, 3   ;
  183.   je boom_block
  184.  
  185.   cmp  ah, 16   ;
  186.   je door_block
  187.  
  188.   cmp  ah, 2   ; § ªà áª  ä®­  §   «¬ §®¬
  189.   je cool_block
  190.  
  191.   jmp end_block
  192.   go_block:
  193.     imgtoimg img_area,dword [perem1],dword [perem2],canvas
  194.   jmp end_block
  195.  
  196.   cool_block:
  197.      imgtoimg img_area3,dword [perem1],dword [perem2],canvas
  198.   jmp end_block
  199.  
  200.  
  201.   back_block:
  202.     imgtoimg img_area2,dword [perem1],dword [perem2],canvas
  203.    jmp end_block
  204.  
  205.   door_block:
  206.     imgtoimg img_door1,dword [perem1],dword [perem2],canvas
  207.  
  208.     mov eax, [gold]
  209.     cmp ax, 10        ; ¥á«¨ ᮡ࠭® ¡®«¥¥ 10  «¬ §®¢ ¤¢¥àì ®âªàëâ 
  210.     jna end_block
  211.     imgtoimg img_door2,dword [perem1],dword [perem2],canvas
  212.    jmp end_block
  213.  
  214.  
  215.   boom_block:
  216.     imgtoimg img_area,dword [perem1],dword [perem2],canvas
  217.            mov ebp,18 ; ª ¤à
  218.            mov eax, dword [perem1]
  219.            mov dword [X_anime], eax
  220.            mov eax, dword [perem2]
  221.            mov dword [Y_anime], eax
  222.            call animashka
  223.  
  224.              mov ecx, [timer1]   ;
  225.              and ecx, 15
  226.              cmp ecx, 0
  227.              jne  end_block
  228.  
  229.                mov    ebx, [Lab]
  230.                 mov     byte [Dangeon + ebx], 0    ; ¡¥à¥â ¡ ©â ¨§ ¤ ­£¥®­ + ᬥ饭¨¥
  231.  
  232.  
  233.   end_block:
  234.  
  235.     add word [Lab],1
  236.     mov     eax, [Lab]
  237.  
  238.    cmp     eax, 256                   ;   if eax == 0
  239.    je      cycle_end                 ;   jump to cycle_end:
  240.    jmp     cycle                    ;
  241.  
  242.    cycle_end:
  243.  
  244.    mov    eax, 0
  245.    mov    [Lab],eax
  246.  
  247.  ret   ; END labirint
  248.  
  249.  
  250. ;*******************************************
  251. ; ‹…‘’ˆ–€
  252. ;*******************************************
  253.  lestniza:
  254.    ; ¢ë¢®¤ ¡«®ª®¢ « ¡¨à¨­â 
  255.    cycle2:
  256.  
  257.     mov     eax, [Lab]
  258.     shl     eax, 5          ; ᤢ¨£ ॣ¨áâà  ¢ ¯à ¢® ­  5 ¯®§¨æ¨¨ ¢á¥ à ¢­® ç⮠㬭®¦¨«¨ ­  32
  259.     mov     [perem1], eax
  260.     mov     eax, [Lab]
  261.     shr     eax, 4          ; ᤢ¨£ ॣ¨áâà  ¢ «¥¢®
  262.     shl     eax, 5          ; ᤢ¨£ ®¡à â­® (¢á¥ à ¢­® ç⮠楫®ç¨á«¥­­®¥ ¤¥«¥­¨¥­  256)
  263.     mov     [perem2], eax
  264.     shl     eax, 4          ; ¢á¥ à ¢­® çâ® ®â­¨¬ ¥¬ ®â ª®®à¤¨­ â ­¥­ã¦­ë© ¯à¨à®áâ -> “-256*X
  265.     sbb  dword [perem1], eax;
  266.  
  267.  
  268.   mov    ebx, [Lab]
  269.   sbb    ebx, 1
  270.   mov     eax,[Dangeon + ebx]    ; ¡¥à¥â ¡ ©â ¨§ ¤ ­£¥®­ + ᬥ饭¨¥
  271.  
  272.   cmp  ah, 8   ;
  273.   je go_lestniza
  274.  
  275.   jmp end_lestniza
  276.   go_lestniza:
  277.  
  278.     imgtoimg img_lestniza,dword [perem1],dword [perem2],canvas
  279.   end_lestniza:
  280.  
  281.     add word [Lab],1
  282.     mov     eax, [Lab]
  283.  
  284.    cmp     eax, 256                   ;   if eax == 0
  285.    je      cycle2_end                 ;   jump to cycle_end:
  286.    jmp     cycle2                    ;
  287.  
  288.    cycle2_end:
  289.  
  290.    mov    eax, 0
  291.    mov    [Lab],eax
  292.  
  293.  
  294.  ret   ; END lestniza
  295.  
  296.  
  297.  
  298. ;*******************************************
  299. ; ‚Ž„€     ¨  €‹Œ€‡›
  300. ;*******************************************
  301.  water:
  302.  
  303.    ; ¢ë¢®¤ ¢®¤ë « ¡¨à¨­â 
  304.    cycle3:
  305.  
  306.     mov     eax, [Lab]
  307.     shl     eax, 5          ; ᤢ¨£ ॣ¨áâà  ¢ ¯à ¢® ­  5 ¯®§¨æ¨¨ ¢á¥ à ¢­® ç⮠㬭®¦¨«¨ ­  32
  308.     mov     [perem1], eax
  309.     mov     eax, [Lab]
  310.     shr     eax, 4          ; ᤢ¨£ ॣ¨áâà  ¢ «¥¢®
  311.     shl     eax, 5          ; ᤢ¨£ ®¡à â­® (¢á¥ à ¢­® ç⮠楫®ç¨á«¥­­®¥ ¤¥«¥­¨¥­  256)
  312.     mov     [perem2], eax
  313.     shl     eax, 4          ; ¢á¥ à ¢­® çâ® ®â­¨¬ ¥¬ ®â ª®®à¤¨­ â ­¥­ã¦­ë© ¯à¨à®áâ -> “-256*X
  314.     sbb  dword [perem1], eax;
  315.  
  316.  
  317.   mov    ebx, [Lab]
  318.   sbb    ebx, 1
  319.   mov     eax,[Dangeon + ebx]    ; ¡¥à¥â ¡ ©â ¨§ ¤ ­£¥®­ + ᬥ饭¨¥
  320.  
  321.   cmp  ah, 4   ;
  322.   je go_water
  323.  
  324.   cmp  ah, 12   ;  à¨á®¢ ­¨¥  «¬ §®¢
  325.   je go_almaz
  326.  
  327.   jmp end_water
  328.   go_water:
  329.   mov     eax,0    ;
  330.   mov     eax, [timer1];
  331.   and  eax, 15
  332.   cmp  eax, 7   ;
  333.   jb go_water2
  334.  
  335.     imgtoimg img_water1,dword [perem1],dword [perem2],canvas
  336.   jmp end_water
  337.  
  338.   go_water2:
  339.     imgtoimg img_water2,dword [perem1],dword [perem2],canvas
  340.  
  341.   jmp end_water
  342.   go_almaz:
  343.  
  344.   mov     eax,0    ;
  345.   mov     eax, [timer1];
  346.   and  eax, 31
  347.  
  348.    cmp eax, 10
  349.    ja almaz2
  350.  
  351.    mov ebp,14 ; ª ¤à
  352.    mov eax, dword [perem1]
  353.    mov dword [X_anime], eax
  354.    mov eax, dword [perem2]
  355.    mov dword [Y_anime], eax
  356.    call animashka
  357.    jmp end_water
  358.  
  359.    almaz2:
  360.    cmp eax, 20
  361.    ja almaz3
  362.  
  363.    mov ebp,15 ; ª ¤à
  364.    mov eax, dword [perem1]
  365.    mov dword [X_anime], eax
  366.    mov eax, dword [perem2]
  367.    mov dword [Y_anime], eax
  368.    call animashka
  369.    jmp end_water
  370.  
  371.    almaz3:
  372.    mov ebp,16 ; ª ¤à
  373.    mov eax, dword [perem1]
  374.    mov dword [X_anime], eax
  375.    mov eax, dword [perem2]
  376.    mov dword [Y_anime], eax
  377.    call animashka
  378.  
  379.  
  380.   end_water:
  381.  
  382.     add word [Lab],1
  383.     mov     eax, [Lab]
  384.  
  385.    cmp     eax, 256                   ;   if eax == 0
  386.    je      cycle3_end                 ;   jump to cycle_end:
  387.    jmp     cycle3                    ;
  388.  
  389.    cycle3_end:
  390.  
  391.    mov    eax, 0
  392.    mov    [Lab],eax
  393.  
  394.  
  395.  ret   ; END water
  396.  
  397.  
  398. ;*******************************************
  399. ; ‚뢮¤¨¬ á«¥¤ãî騩 ª ¤à ¨§ ᯨ᪠ ª à⨭®ª
  400. ;*******************************************
  401. draw_subimage:
  402.   ;aframetoimg Image,32, 32,canvas,0x00ffffff ; …‚ˆ„ˆŒ›‰, ¯à®§à ç­ë© –‚…’ ˆ‹ˆ … ˆ‘“…Œ›‰
  403.  
  404.   call labirint
  405.   call lestniza
  406.   call enemy_mas
  407.   call enemy_mov
  408. ;-------------------------------------------------------------------------------
  409.     mov ebx, [gold]
  410.     cmp bx, 5           ;㢥«¨ç¥­¨¥ ᪮à®á⨠¢à £®¢ ¥á«¨ ãªà « ¡®«¥¥ 9
  411.     jna lov_velo
  412.      call enemy_mas
  413.      call enemy_mov
  414.     lov_velo:
  415. ;-------------------------------------------------------------------------------
  416. ;-------------------------------------------------------------------------------
  417.     mov ebx, [gold]
  418.     cmp bx, 9           ;㢥«¨ç¥­¨¥ ᪮à®á⨠¢à £®¢ ¥á«¨ ãªà « ¡®«¥¥ 9
  419.     jna lov_velo2
  420.      call enemy_mas
  421.      call enemy_mov
  422.     lov_velo2:
  423. ;-------------------------------------------------------------------------------
  424. ;  call enemy_mas
  425. ;  call enemy_mov
  426.   call hiro
  427.   call hiro_mov
  428.   call water
  429.  
  430.   call bullet_mov
  431.   call bullet_mov
  432.   call bullet_mov
  433.   call bullet_mas
  434.   call bullet_mov
  435.   call bullet_mov
  436.   call bullet_mov
  437.   call bullet_mas
  438.   call proverka_gold
  439.   call potop
  440.  
  441.   setimg 0,0,canvas
  442.  
  443.   call timer
  444.   call tablo
  445. ret
  446.  
  447. ;@@@@@@@@@@@@@@@@@@
  448. animashka:
  449. ;!!!‚€†Ž ¯¥à¥¤ ¢ë§®¢®¬ ¯à®æ¥¤ãàë ¤®«¦¥­ ¡ëâì ãáâ ­®¢«¥­ ebx[­®¬¥à ª ¤à ] ¨ x,y
  450.  
  451.   mov edi,coords
  452.   mov esi, Image ; £¨ä  ­¨¬ èª  ¢ ¯ ¬ïâ¨
  453. ;
  454. ;  mov ebp, dword [edi+8] ;ecx §¤¥áì ª®­ªà¥â­ë© ­®¬¥à ¢ë¢®¤¨¬®£® ª ¤à 
  455. ;  inc ebp ; 㢥«¨ç¥­¨¥ ª ¤à 
  456. ;  cmp ebp,3 ;  ¬ ªá¨¬ «ì­®¥ ª®«¨ç¥á⢮ ª ¤à®¢ !!!!!!!
  457. ;  jna ok_fr ; ¥á«¨ ¢ë¢®¤¨¬ë ª ¤à ¬¥­ìè¥ ¬ ªá¨¬ «ì­®£® ª®«¨ç¥á⢠ ª ¤à®¢
  458. ;!!!!!!!!!  mov ebp,2 ;®¡­ã«¥­¨¥ ª ¤à 
  459.  
  460. ok_fr:
  461.   mov dword [edi+8], ebp ;­®¬¥à ¢ë¢®¤¨¬®£® ª ¤à 
  462. loo:
  463.   cmp ebp,0  ; ¥á«¨ ª ¤à ­ã«¥¢®© â® áࠧ㠭  ¢ë¢®¤ ?
  464.   je  setpic
  465.   movzx eax,word [esi+4]   ; ¥á«¨ ­¥â ⮠㢥«¨ç¨¢ ¥¬ å ã ?
  466.   movzx ebx,word [esi+6]
  467.   mul ebx ;dword [esi+4] 㬭®¦ ¥â ebx ­  eax ¨ १ã«ìâ â ¢ eax edx
  468.   mov ebx,3 ; ª®«¨ç¥á⢮ ª ¤à®¢ ???
  469.   mul ebx
  470.   add eax,8
  471.   add esi,eax
  472.   dec ebp
  473.   jmp loo
  474. setpic:
  475.  
  476.   pushad
  477. ; aframetoimg esi,dword [edi], dword [edi+4],canvas,0x00ffffff ; …‚ˆ„ˆŒ›‰, ¯à®§à ç­ë© –‚…’ ˆ‹ˆ … ˆ‘“…Œ›‰
  478. ;  aframetoimg esi,32, 32,canvas,0x00ffffff ; …‚ˆ„ˆŒ›‰, ¯à®§à ç­ë© –‚…’ ˆ‹ˆ … ˆ‘“…Œ›‰
  479.   aframetoimg esi,dword [X_anime],dword [Y_anime],canvas,0x00ffffff ; …‚ˆ„ˆŒ›‰, ¯à®§à ç­ë© –‚…’ ˆ‹ˆ … ˆ‘“…Œ›‰
  480.   ;call enemy_mas
  481.   popad
  482. ret
  483. ;@@@@@@@@@@@@@@
  484.  
  485.  
  486.  ;-------------- TIMER --------------
  487.  timer:
  488.      mov     eax,0    ;
  489.      mov     eax,[timer1]    ;
  490.      add     eax, 1;
  491.      mov     [timer1], eax
  492.  
  493.      cmp     eax, 64   ;      â ©¬¥à ®â 0 ¤® 64
  494.      je nul_timer
  495.      jmp timer_dalee
  496.      nul_timer :
  497.      mov    [timer1], 0
  498.      timer_dalee:
  499.  ret
  500.  ;-------------- TIMER --------------
  501.  
  502.  
  503.  
  504.  
  505.  
  506. ;*******************************************
  507. ; ENEMY
  508. ;*******************************************
  509.  
  510.  enemy_mas:       ; ¢ë¢®¤ ENEmy    ENEMYYYYYYYYYYYYYYY ENEMYYYYYYYYYYYYYY !!!
  511.  
  512.   mov word [Lab2], 0 ; ¢á¥ ¤¥« âì ¢ WORD ®¤¨­ í«¥¬¥­â ¢ ¬ áᨢ¥ +2 á«¥¤ãî騩 ¢à £ á®®â¢â¥âá⢥­­® 6*2= + 12
  513.  
  514.  cycle4:
  515.  
  516.   mov    ebx, 0
  517.   mov    ecx, 0
  518.   mov    edx, 0
  519.   mov    esi, 0
  520.  
  521.   mov    word bx, [Lab2]
  522.   mov    word ax,[Enemy+bx]    ; ¡¥à¥â ¡ ©â ¨§ Enemy + ᬥ饭¨¥
  523.  
  524.   cmp  ax, 1   ;   ®¡ëç­ë© ¢à £ ­®¬¥à 1
  525.   je go_enemy
  526.  
  527.   jmp end_enemy
  528.   go_enemy:
  529.  
  530.   add    word bx, 2 ; X ª®®à¨¤¨­ â  ¤ ­­®£® ¢à £ 
  531.   mov    word ax, [Enemy + bx]
  532.   mov    word [X_enemy], ax
  533.  
  534.   add    word bx, 2 ; Y ª®®à¨¤¨­ â  ¤ ­­®£® ¢à £ 
  535.   mov    word ax, [Enemy + ebx]
  536.   mov    word [Y_enemy], ax
  537.  
  538.   add    word bx, 2 ; ¯®«®¦¥­¨¥ ¢ ¬ áᨢ¥ ¤ ­­®£® ¢à £ 
  539.   mov    word ax, [Enemy + ebx]
  540.   mov    word [lab_enemy], ax
  541.  
  542.   add    word bx, 2 ; ­ ¯à ¢«¥­¨¥ ¤¢¨¦¥­¨ï ¤ ­­®£® ¢à £ 
  543.   mov    word ax, [Enemy + ebx]
  544.   mov    word [mov_enemy], ax
  545.  
  546.   add    word bx, 2 ; enemy LIFE
  547.   mov    word ax, [Enemy + ebx]
  548.   mov    word [life_enemy], ax
  549.  
  550.   cmp  ax, 499;            ; § ¬®à®¦¥­­ë¥ ¢à £¨
  551.   ja enemy_dalee
  552.    mov ebp,2 ; ª ¤à
  553.    mov eax, dword [X_enemy]
  554.    mov dword [X_anime], eax
  555.    mov eax, dword [Y_enemy]
  556.    mov dword [Y_anime], eax
  557.    call animashka
  558.    jmp enemy_bmp_end
  559.  
  560.  
  561.  
  562.   enemy_dalee:
  563.   xor     eax,eax    ;
  564.   mov     eax, [X_enemy]    ;
  565.   and  eax, 15
  566.   cmp  ax, 7;
  567.   ja enemy_1
  568.  
  569.   jmp enemy_2
  570.  
  571.    enemy_1:
  572.  
  573.    mov ebp,0 ; ª ¤à
  574.    mov eax, dword [X_enemy]
  575.    mov dword [X_anime], eax
  576.    mov eax, dword [Y_enemy]
  577.    mov dword [Y_anime], eax
  578.    call animashka
  579.  
  580.    jmp enemy_bmp_end
  581.  
  582.    enemy_2:
  583.    mov ebp,1 ; ª ¤à
  584.    mov eax, dword [X_enemy]
  585.    mov dword [X_anime], eax
  586.    mov eax, dword [Y_enemy]
  587.    mov dword [Y_anime], eax
  588.    call animashka
  589.    enemy_bmp_end:
  590.  
  591.    end_enemy:
  592.  
  593.     mov     eax, 0
  594.     mov     word ax, [Lab2]
  595.  
  596.    cmp     ax, 96                   ;   if eax == 0
  597.    je      cycle4_end                 ;   jump to cycle_end:
  598.  
  599.     add     word [Lab2],12
  600.  
  601.    jmp     cycle4                    ;
  602.  
  603.    cycle4_end:
  604.  
  605.  ret   ; END eNEMYYYYYYYYYYYYYYY ENEMYYYYYYYYYYYYYY !!!
  606.  
  607. ;$$$$$$$$$$$$$$$$$$$$$$$$$$
  608. ;   ENEMY MOV
  609. ;$$$$$$$$$$$$$$$$$$$$$$$$$$
  610. enemy_mov:
  611.   mov word [Lab2], 0 ; ¢á¥ ¤¥« âì ¢ WORD ®¤¨­ í«¥¬¥­â ¢ ¬ áᨢ¥ +2 á«¥¤ãî騩 ¢à £ á®®â¢â¥âá⢥­­® 6*2= + 12
  612.  
  613.  cycle5:
  614.  
  615.   mov    ebx, 0
  616.   mov    ecx, 0
  617.   mov    edx, 0
  618.   mov    esi, 0
  619.  
  620.   mov    word bx, [Lab2]
  621.   mov    word ax,[Enemy+bx]    ; ¡¥à¥â ¡ ©â ¨§ Enemy + ᬥ饭¨¥
  622.  
  623.   cmp  ax, 1   ;   ®¡ëç­ë© ¢à £ ­®¬¥à 1
  624.   je go_mov_enemy
  625.  
  626.   jmp end_mov_enemy
  627.   go_mov_enemy:
  628.  
  629.   add    word bx, 2 ; X ª®®à¨¤¨­ â  ¤ ­­®£® ¢à £ 
  630.   mov    word ax, [Enemy + bx]
  631.   mov    word [X_enemy], ax
  632.  
  633.   add    word bx, 2 ; Y ª®®à¨¤¨­ â  ¤ ­­®£® ¢à £ 
  634.   mov    word ax, [Enemy + ebx]
  635.   mov    word [Y_enemy], ax
  636.  
  637.   add    word bx, 2 ; ¯®«®¦¥­¨¥ ¢ ¬ áᨢ¥ ¤ ­­®£® ¢à £ 
  638.   mov    word ax, [Enemy + ebx]
  639.   mov    word [lab_enemy], ax
  640.  
  641.   add    word bx, 2 ; ­ ¯à ¢«¥­¨¥ ¤¢¨¦¥­¨ï ¤ ­­®£® ¢à £ 
  642.   mov    word ax, [Enemy + ebx]
  643.   mov    word [mov_enemy], ax
  644.  
  645.   add    word bx, 2 ; enemy LIFE
  646.   mov    word ax, [Enemy + ebx]
  647.   mov    word [life_enemy], ax
  648.  
  649.   cmp  ax, 499;            ; § ¬®à®¦¥­­ë¥ ¢à £¨
  650.   ja  dalee_enemy_mov
  651.   add ax, 1
  652.  
  653.   mov    word [Enemy + ebx], ax
  654.  
  655.   jmp end_mov_enemy
  656.  
  657.   dalee_enemy_mov:
  658.      ; ¡«®ª ¯®¥¤ ­¨ï £¥à®ï
  659.       mov  ax, [Xpl]
  660.       add  ax, 23
  661.       cmp ax, [X_enemy]
  662.         jna ne_em
  663.          sbb ax, 45
  664.          cmp ax, [X_enemy]
  665.           ja ne_em
  666.             mov  ax, [Ypl]
  667.             add  ax, 23
  668.             cmp ax, [Y_enemy]
  669.              jna ne_em
  670.              sbb ax, 45
  671.              cmp ax, [Y_enemy]
  672.           ja ne_em
  673.           call load_level  ; DEAD HIRO
  674.           delay 150
  675.  
  676.        ne_em:
  677.      ;«®ª ¯®¯ ¤ ­¨ï 1 ¯ã«¨
  678.  
  679.   mov    word bx, 0
  680.   mov    word ax,[Bullet + ebx]
  681.   cmp ax, 0
  682.   je no_bullet
  683.  
  684.   add    word bx, 2   ; [Xpl]
  685.   mov    word cx, [Bullet + ebx]
  686.  
  687.   add    word bx, 2   ; [Ypl]
  688.   mov    word dx, [Bullet + ebx]
  689.  
  690.     cmp dx, [Y_enemy]
  691.     jna no_bullet
  692.       sbb dx, 32
  693.       cmp dx, [Y_enemy]
  694.       ja no_bullet
  695.       cmp cx, [X_enemy]
  696.        jna no_bullet
  697.        sbb cx, 32
  698.         cmp cx, [X_enemy]
  699.         ja no_bullet
  700.         mov    word bx, [Lab2]
  701.         add    word bx, 10 ; enemy LIFE
  702.         mov    word [Enemy + ebx],0
  703.  
  704.         mov    byte [Bullet], 0    ;
  705.  
  706.     no_bullet:
  707.  
  708.  
  709.      ;‹ŽŠ ˆŽ‘’€ „‚ˆ†…ˆŸ ‚€ƒŽ‚
  710.         mov word ax, [mov_enemy]                      ;
  711.         cmp ax, 1            ; left                   ;
  712.         jne next_2                                    ;
  713.           sbb    word [X_enemy], 1                    ;
  714.           mov    word ax, [X_enemy]                   ;
  715.           mov    word bx, [Lab2]                      ;
  716.           add    word bx, 2 ; X ª®®à¨¤¨­ â  ¤ ­­®£® ¢à £ 
  717.           mov    word [Enemy + bx], ax                ;
  718.                                                       ;
  719.         next_2:                                       ;
  720.         cmp ax, 2            ; down                   ;
  721.         jne next_3                                    ;
  722.           add    word [Y_enemy], 1                    ;
  723.           mov    word ax, [Y_enemy]                   ;
  724.           mov    word bx, [Lab2]                      ;
  725.           add    word bx, 4 ; Y ª®®à¨¤¨­ â  ¤ ­­®£® ¢à £ 
  726.           mov    word [Enemy + bx], ax                ;
  727.                                                       ;
  728.         next_3:                                       ;
  729.         cmp ax, 3            ; up                     ;
  730.         jne next_4                                    ;
  731.           sbb    word [Y_enemy], 1                    ;
  732.           mov    word ax, [Y_enemy]                   ;
  733.           mov    word bx, [Lab2]                      ;
  734.           add    word bx, 4 ; Y ª®®à¨¤¨­ â  ¤ ­­®£® ¢à £ 
  735.           mov    word [Enemy + bx], ax                ;
  736.                                                       ;
  737.         next_4:                                       ;
  738.         cmp ax, 4            ; right                  ;
  739.         jne next_end
  740.  
  741.              ;ƒà ¢¨â æ¨®­­ ï § ¯« âª    «¥ç¨â âà ¡« - ª®£¤  ¢à £ ¤¢¨£ ¥âáï á«¥¢  ­  ¯à ¢® â® ¯à®«¥â ¥â ®¤¨­ ¯ãá⮩ ¡«®ª
  742.               mov word bx, [X_enemy] ; â® ãá«®¢¨¥ ¯®§¢®«ï¥â ¤®¡¥¦ âì ¤® ¯®§¨æ¨¨ ­ ¯à®â¨¢ ¡«®ª 
  743.               and ebx, 31    ; X ¢ ¯®§¨æ¨¨ ­ ¯à®â¨¢ ¡«®ª 
  744.               cmp bx, 0     ;
  745.               jne n4_dalee   ;
  746.                 mov    bx,[lab_enemy]
  747.                 add    bx,16
  748.                 mov    ax, [Dangeon + bx]
  749.                 and   eax,15
  750.                  cmp word ax, 0
  751.                  je next_end
  752.                  cmp word ax, 4
  753.                  je next_end
  754.               ;ª®­¥æ § ¯« âª¨
  755.  
  756.            n4_dalee:
  757.         ;
  758.           add    word [X_enemy], 1                    ;
  759.           mov    word ax, [X_enemy]                   ;
  760.           mov    word bx, [Lab2]                      ;
  761.           add    word bx, 2 ; X ª®®à¨¤¨­ â  ¤ ­­®£® ¢à £ 
  762.           mov    word [Enemy + bx], ax                ;
  763.                                                       ;
  764.         next_end:
  765.           ;END ‹ŽŠ ˆŽ‘’€ „‚ˆ†…ˆŸ ‚€ƒ
  766.  
  767.           ;
  768.  
  769.      ;   ­¤®¬­ë© ¢ë¡®à ­  «¥á­¨æ¥
  770.         mov word bx, [X_enemy] ; â® ãá«®¢¨¥ ¯®§¢®«ï¥â ¤®¡¥¦ âì ¤® ¯®§¨æ¨¨ ­ ¯à®â¨¢ ¡«®ª 
  771.         and ebx, 31    ; X ¢ ¯®§¨æ¨¨ ­ ¯à®â¨¢ ¡«®ª 
  772.         cmp bx, 0     ;
  773.         jne end_les   ;
  774.            mov word bx, [Y_enemy] ; â® ãá«®¢¨¥ ¯®§¢®«ï¥â ¤®¡¥¦ âì ¤® ¯®§¨æ¨¨ ­ ¯à®â¨¢ ¡«®ª 
  775.            and ebx, 31    ; X ¢ ¯®§¨æ¨¨ ­ ¯à®â¨¢ ¡«®ª 
  776.            cmp bx, 0     ;
  777.            jne end_les   ;
  778.  
  779.                 random 300, eax
  780.  
  781.                  cmp eax, 150
  782.                  ja les2
  783.                  jmp end_up_or_down
  784.                 les2:
  785.  
  786.                 mov eax, [Ypl]
  787.                 cmp eax, [Y_enemy]
  788.                 jna bolee
  789.                 mov    word [mov_enemy],2                   ; ¢­¨§
  790.                 mov    word ax, [mov_enemy]                 ;
  791.                 mov    word bx, [Lab2]                      ;
  792.                 add    word bx, 8  ; ­ ¯à ¢«¥­¨¥ ¤¢¨¦¥­¨ï ¤ ­­®£® ¢à £ 
  793.                 mov    word [Enemy + bx], ax                ;
  794.                 jmp end_les
  795.  
  796.                 bolee:
  797.                 mov    word [mov_enemy],3                   ; up
  798.                 mov    word ax, [mov_enemy]                 ;
  799.                 mov    word bx, [Lab2]                      ;
  800.                 add    word bx, 8  ; ­ ¯à ¢«¥­¨¥ ¤¢¨¦¥­¨ï ¤ ­­®£® ¢à £ 
  801.                 mov    word [Enemy + bx], ax                ;
  802.                 jmp end_les
  803.  
  804.                 end_up_or_down:
  805.  
  806.                  random 300, eax
  807.                  cmp eax, 150
  808.                  ja les22
  809.                  jmp end_les
  810.                 les22:
  811.  
  812.                 mov eax, [Xpl]
  813.                 cmp eax, [X_enemy]
  814.                 jna bolee2
  815.                 mov    word [mov_enemy],4                   ; ¢­¨§
  816.                 mov    word ax, [mov_enemy]                 ;
  817.                 mov    word bx, [Lab2]                      ;
  818.                 add    word bx, 8  ; ­ ¯à ¢«¥­¨¥ ¤¢¨¦¥­¨ï ¤ ­­®£® ¢à £ 
  819.                 mov    word [Enemy + bx], ax                ;
  820.                 jmp end_les
  821.  
  822.                 bolee2:
  823.                 mov    word [mov_enemy],1                   ; up
  824.                 mov    word ax, [mov_enemy]                 ;
  825.                 mov    word bx, [Lab2]                      ;
  826.                 add    word bx, 8  ; ­ ¯à ¢«¥­¨¥ ¤¢¨¦¥­¨ï ¤ ­­®£® ¢à £ 
  827.                 mov    word [Enemy + bx], ax                ;
  828.  
  829.         end_les:
  830.      ;  end  ­¤®¬­ë© ¢ë¡®à ­  «¥á­¨æ¥
  831.  
  832.      ;ƒà ¢¨â æ¨ï
  833.         mov word bx, [X_enemy] ; â® ãá«®¢¨¥ ¯®§¢®«ï¥â ¤®¡¥¦ âì ¤® ¯®§¨æ¨¨ ­ ¯à®â¨¢ ¡«®ª 
  834.         and ebx, 31    ; X ¢ ¯®§¨æ¨¨ ­ ¯à®â¨¢ ¡«®ª 
  835.         cmp bx, 0     ;
  836.         jne end_grava   ;
  837.  
  838.                 mov    bx,[lab_enemy]
  839.                 add    bx,16
  840.                 mov    ax, [Dangeon + bx]
  841.  
  842.                 and   eax,15
  843.                  cmp word ax, 0
  844.                  je grava
  845.                  cmp word ax, 4
  846.                  je grava
  847.                  jmp end_grava
  848.                 grava:
  849.                 mov    word [mov_enemy], 2                  ; padenie ‚€ƒ€
  850.                 mov    word ax, [mov_enemy]                 ;
  851.                 mov    word bx, [Lab2]                      ;
  852.                 add    word bx, 8  ; ­ ¯à ¢«¥­¨¥ ¤¢¨¦¥­¨ï ¤ ­­®£® ¢à £ 
  853.                 mov    word [Enemy + bx], ax                ;
  854.  
  855.         end_grava:
  856.      ;ª®­¥æ £à ¢¨â æ¨¨
  857.  
  858.           ;¡«®ª à áç¥â  ¯®«®¦¥­¨ï ¢à £  ¢ « ¡¨à¨­â¥
  859.             mov eax, 0                            ;
  860.             mov eax, [Y_enemy]                        ;
  861.             shr eax, 5                            ;
  862.             shl eax, 4                            ;
  863.             mov ebx, 0                            ;
  864.             mov ebx, [X_enemy]                        ;
  865.             shr ebx, 5                            ;
  866.             add eax, ebx                          ;
  867.             mov [lab_enemy], eax                   ;
  868.                 mov    word bx, [Lab2]                      ;
  869.                 add    word bx, 6  ; ­ ¯à ¢«¥­¨¥ ¤¢¨¦¥­¨ï ¤ ­­®£® ¢à £ 
  870.                 mov    word [Enemy + bx], ax                ;
  871.           ;¡«®ª à áç¥â  ¯®«®¦¥­¨ï ¢à £  ¢ « ¡¨à¨­â¥
  872.  
  873.  
  874.  
  875.  
  876.  
  877.  
  878.        ;‹ŽŠ ‡€…’€ „‚¨¦¥­¨ï
  879.         mov word bx, [Y_enemy] ; â® ãá«®¢¨¥ ¯®§¢®«ï¥â ¤®¡¥¦ âì ¤® ¯®§¨æ¨¨ ­ ¯à®â¨¢ ¡«®ª 
  880.         and bx, 31    ; Y ¢ ¯®§¨æ¨¨ ­ ¯à®â¨¢ ¡«®ª 
  881.         cmp bx, 0     ;
  882.         jne end_zapret   ;
  883.            mov word ax, [X_enemy] ; â® ãá«®¢¨¥ ¯®§¢®«ï¥â ¤®¡¥¦ âì ¤® ¯®§¨æ¨¨ ­ ¯à®â¨¢ ¡«®ª 
  884.            and ax, 31    ; X ¢ ¯®§¨æ¨¨ ­ ¯à®â¨¢ ¡«®ª 
  885.            cmp ax, 0     ;
  886.            jne end_zapret   ;
  887.  
  888.               mov word ax, [mov_enemy] ; â® ãá«®¢¨¥ ¯®§¢®«ï¥â ¤®¡¥¦ âì ¤® ¯®§¨æ¨¨ ­ ¯à®â¨¢ ¡«®ª 
  889.  
  890.               cmp ax, 0
  891.               jne duma1
  892.                     ;  ­¤®¬­ë© ¢ë¡®à ¤¢¨¦¥­¨ï
  893.                  mov eax, [timer1]
  894.                  and eax, 3
  895.                  cmp eax, 0
  896.                  jne dalee_duma1
  897.                  add eax, 4
  898.                  dalee_duma1:
  899.  
  900.                 mov    word [mov_enemy], ax                  ;
  901.                 mov    word ax, [mov_enemy]                 ;
  902.                 mov    word bx, [Lab2]                      ;
  903.                 add    word bx, 8  ; ­ ¯à ¢«¥­¨¥ ¤¢¨¦¥­¨ï ¤ ­­®£® ¢à £ 
  904.                 mov    word [Enemy + bx], ax                ;
  905.  
  906.  
  907.  
  908.               duma1:
  909.               cmp ax, 4
  910.               jne duma2  ; ¯à¢¥àª  á¯à ¢ 
  911.                 mov    bx,[lab_enemy]
  912.                 add    bx,1
  913.                 mov    ax, [Dangeon + bx]
  914.                 and   eax,3
  915.                  cmp ax, 0
  916.                  jne duma_stop
  917.                  jmp duma_end
  918.  
  919.               duma2:
  920.               cmp ax, 1
  921.               jne duma3  ; á«¥¢ 
  922.                 mov    bx,[lab_enemy]
  923.                 sbb    bx,1
  924.                 mov    ax, [Dangeon + bx]
  925.                 and   eax,3
  926.                  cmp ax, 0
  927.                  jne duma_stop
  928.                  jmp duma_end
  929.  
  930.               duma3:
  931.               cmp ax, 2
  932.               jne duma4  ; á­¨§ã
  933.                 mov    bx,[lab_enemy]
  934.                 add    bx,16
  935.                 mov    ax, [Dangeon + bx]
  936.                 and   eax,3
  937.                  cmp ax, 0
  938.                  jne duma_stop
  939.                  jmp duma_end
  940.  
  941.               duma4:
  942.               cmp ax, 3
  943.               jne duma_stop  ; ᢥàåã
  944.  
  945.                 mov    bx,[lab_enemy]     ; ¥á«¨ ª¨à¯¨ç ­ ¤ £®«®¢®©
  946.                 sbb    bx,16
  947.                 mov    ax, [Dangeon + bx]
  948.                 and   eax,3
  949.                  cmp ax, 0                ; ¥á«¨ ª¨à¯¨ç ­ ¤ £®«®¢®©
  950.                  jne duma_stop
  951.  
  952.                 mov    bx,[lab_enemy]     ; ¥á«¨ ¢à £ ­¥ ­  «¥á­¨æ¥
  953.                 mov    ax, [Dangeon + bx]
  954.                 and   eax,15
  955.                 cmp ax, 8
  956.                  jne duma_stop
  957.  
  958.                  jmp duma_end
  959.  
  960.               duma_stop:
  961.  
  962.                 mov    word [mov_enemy], 0                  ; Ž‘’€Ž‚Š€ ‚€ƒ€
  963.                 mov    word ax, [mov_enemy]                 ;
  964.                 mov    word bx, [Lab2]                      ;
  965.                 add    word bx, 8  ; ­ ¯à ¢«¥­¨¥ ¤¢¨¦¥­¨ï ¤ ­­®£® ¢à £ 
  966.                 mov    word [Enemy + bx], ax                ;
  967.  
  968.            duma_end:
  969.  
  970.          end_zapret:
  971.          ;ª®­¥æ § ¯à¥â 
  972.  
  973.   end_mov_enemy:
  974.  
  975.     mov     eax, 0
  976.     mov     word ax, [Lab2]
  977.  
  978.    cmp     ax, 96                   ;   if eax == 0
  979.    je      cycle5_end                 ;   jump to cycle_end:
  980.  
  981.     add     word [Lab2],12
  982.  
  983.    jmp     cycle5                    ;
  984.  
  985.    cycle5_end:
  986.  
  987.  
  988. ret
  989.  
  990. ;*****************************
  991. ;   HIRO
  992. ;*****************************
  993.  
  994.  hiro:
  995.  
  996.   mov ecx, [v_fire]   ;áâ५졠
  997.   cmp ecx, 0
  998.   je  next_anima
  999.       cmp ecx, 1
  1000.         je wprawo
  1001.          mov ebp,12 ; ª ¤à
  1002.          mov eax, dword [Xpl]
  1003.          mov dword [X_anime], eax
  1004.          mov eax, dword [Ypl]
  1005.          mov dword [Y_anime], eax
  1006.          call animashka
  1007.              mov ecx, [timer1]   ;áâ५졠
  1008.              and ecx, 15
  1009.              cmp ecx, 0
  1010.              jne  end_hiro
  1011.               mov dword [v_fire], 0
  1012.           jmp end_hiro
  1013.  
  1014.          wprawo:
  1015.          mov ebp,11 ; ª ¤à
  1016.          mov eax, dword [Xpl]
  1017.          mov dword [X_anime], eax
  1018.          mov eax, dword [Ypl]
  1019.          mov dword [Y_anime], eax
  1020.          call animashka
  1021.              mov ecx, [timer1]   ;áâ५졠
  1022.              and ecx, 15
  1023.              cmp ecx, 0
  1024.              jne  end_hiro
  1025.               mov dword [v_fire], 0
  1026.           jmp end_hiro
  1027.  
  1028.                       ;áâ५졠
  1029.    jmp end_hiro
  1030.  
  1031.  next_anima:
  1032.   mov eax, [v_mov]
  1033.   cmp eax, 1
  1034.   jne next_r
  1035.   mov     eax,0    ;
  1036.   mov     eax, [Xpl];
  1037.   and  eax, 15
  1038.   cmp  eax, 7   ;
  1039.   ja next_l1
  1040.  
  1041.    mov ebp,3 ; ª ¤à
  1042.    mov eax, dword [Xpl]
  1043.    mov dword [X_anime], eax
  1044.    mov eax, dword [Ypl]
  1045.    mov dword [Y_anime], eax
  1046.    call animashka
  1047.    jmp end_hiro
  1048.  
  1049.    next_l1:
  1050.    mov ebp,5 ; ª ¤à
  1051.    mov eax, dword [Xpl]
  1052.    mov dword [X_anime], eax
  1053.    mov eax, dword [Ypl]
  1054.    mov dword [Y_anime], eax
  1055.    call animashka
  1056.        pusha
  1057.        mcall 55, eax, , , Music_mov   ; §¢ãª ¢ëáâ५ 
  1058.        popa
  1059.  
  1060.    jmp end_hiro
  1061.  
  1062.   next_r:
  1063.   cmp eax, 4
  1064.   jne next_d
  1065.  
  1066.   mov     eax,0    ;
  1067.   mov     eax, [Xpl];
  1068.   and  eax, 15
  1069.   cmp  eax, 7   ;
  1070.   ja next_d1
  1071.  
  1072.    mov ebp,4 ; ª ¤à
  1073.    mov eax, dword [Xpl]
  1074.    mov dword [X_anime], eax
  1075.    mov eax, dword [Ypl]
  1076.    mov dword [Y_anime], eax
  1077.    call animashka
  1078.  
  1079.        pusha
  1080.        mcall 55, eax, , , Music_mov   ; §¢ãª ¢ëáâ५ 
  1081.        popa
  1082.    jmp end_hiro
  1083.  
  1084.    next_d1:
  1085.    mov ebp,6 ; ª ¤à
  1086.    mov eax, dword [Xpl]
  1087.    mov dword [X_anime], eax
  1088.    mov eax, dword [Ypl]
  1089.    mov dword [Y_anime], eax
  1090.    call animashka
  1091.  
  1092.    jmp end_hiro
  1093.  
  1094.   next_d:
  1095.   cmp eax, 2
  1096.   jne next_u
  1097.    mov ebp,13 ; ª ¤à
  1098.     mov eax, [temp2]
  1099.     cmp eax, 8
  1100.     jne padaem
  1101.    mov ebp,10 ; ª ¤à
  1102.     padaem:
  1103.     mov eax, [temp5]
  1104.     cmp eax, 8
  1105.     jne padaem2
  1106.    mov ebp,10 ; ª ¤à
  1107.     padaem2:
  1108.    mov eax, dword [Xpl]
  1109.    mov dword [X_anime], eax
  1110.    mov eax, dword [Ypl]
  1111.    mov dword [Y_anime], eax
  1112.    call animashka
  1113.    jmp end_hiro
  1114.  
  1115.   next_u:
  1116.   cmp eax, 3
  1117.   jne next_s
  1118.   mov     eax,0    ;
  1119.   mov     eax, [Ypl];
  1120.   and  eax, 15
  1121.   cmp  eax, 7   ;
  1122.   ja next_u1
  1123.  
  1124.    mov ebp,10 ; ª ¤à
  1125.    mov eax, dword [Xpl]
  1126.    mov dword [X_anime], eax
  1127.    mov eax, dword [Ypl]
  1128.    mov dword [Y_anime], eax
  1129.    call animashka
  1130.    jmp end_hiro
  1131.  
  1132.    next_u1:
  1133.    mov ebp,9 ; ª ¤à
  1134.    mov eax, dword [Xpl]
  1135.    mov dword [X_anime], eax
  1136.    mov eax, dword [Ypl]
  1137.    mov dword [Y_anime], eax
  1138.    call animashka
  1139.  
  1140.    jmp end_hiro
  1141.  
  1142.   next_s:
  1143.   cmp eax, 0
  1144.   jne next_s
  1145.    mov ebp,17; ª ¤à
  1146.    mov eax, dword [Xpl]
  1147.    mov dword [X_anime], eax
  1148.    mov eax, dword [Ypl]
  1149.    mov dword [Y_anime], eax
  1150.    call animashka
  1151.    jmp end_hiro
  1152.  
  1153.  end_hiro:
  1154.  
  1155.  ret   ; END Hiro
  1156. ;**************
  1157. ;  end HIRO
  1158. ;**************
  1159.  
  1160.  
  1161. ;****************
  1162. ;  Hiro MOV
  1163. ;****************
  1164. hiro_mov:
  1165.  
  1166.      ;…ƒ€„
  1167.  
  1168.        ; ¢ëç¨á«¥­¨¥ á®á¥¤­¨å ¡«®ª®¢
  1169.        mov    ebx, [hiro_lab]
  1170.        sbb    ebx,2
  1171.        mov    eax,[Dangeon + bx]    ;                 up
  1172.        mov    [temp1], ah           ;               temp4
  1173.                                     ;
  1174.        add    ebx,1                 ;        left    hiro  right
  1175.        mov    eax,[Dangeon + bx]    ;       temp1   temp2  temp3
  1176.        mov    [temp2], ah           ;
  1177.  
  1178. ;-------------------------------------------------------------------------------
  1179. ;     ‘¡®à  «¬ §®¢
  1180. ;-------------------------------------------------------------------------------
  1181.         mov ecx, [Ypl] ; â® ãá«®¢¨¥ ¯®§¢®«ï¥â ¤®¡¥¦ âì ¤® ¯®§¨æ¨¨ ­ ¯à®â¨¢ ¡«®ª 
  1182.         and ecx, 31    ; Y ¢ ¯®§¨æ¨¨ ­ ¯à®â¨¢ ¡«®ª 
  1183.  
  1184.         mov edx, [Xpl] ; â® ãá«®¢¨¥ ¯®§¢®«ï¥â ¤®¡¥¦ âì ¤® ¯®§¨æ¨¨ ­ ¯à®â¨¢ ¡«®ª 
  1185.         and edx, 31    ; Y ¢ ¯®§¨æ¨¨ ­ ¯à®â¨¢ ¡«®ª 
  1186.         or edx,ecx ; Œë ç¥âª® ᯮ§¨æ¨®­¨à®¢ ­ë ¯® • ¨ “
  1187.         cmp edx, 0
  1188.         jne no_almaz
  1189.  
  1190.           cmp ah, 12
  1191.           jne no_almaz
  1192.           xor cx, cx
  1193.           add ebx,1  ; ‡€‹€’Š€ !!!  ¡¥§ ­¥¥ ¯®ç¥¬ãâ® ®¡­ã«ï¥â ­¥  «¬ §ë   á®á¥¤­¨¥ ¡«®ª¨
  1194.           mov  [Dangeon + bx], ch
  1195.           sbb ebx, 1  ; ‡€‹€’Š€ !!!
  1196.           mov ecx, [gold]
  1197.           add ecx, 1
  1198.           mov [gold], ecx
  1199.        pusha
  1200.        mcall 55, eax, , , Music_almaz   ; §¢ãª Almaz
  1201.        popa
  1202.           no_almaz:
  1203. ;-------------------------------------------------------------------------------
  1204. ;     ‘¡®à  «¬ §®¢
  1205. ;-------------------------------------------------------------------------------
  1206.                                     ;                down
  1207.        add    ebx,1                 ;               temp5
  1208.        mov    eax,[Dangeon + bx]    ;
  1209.        mov    [temp3], ah
  1210.  
  1211.        sbb    ebx,17                ; !!!!!!!!!!!!
  1212.        mov    eax,[Dangeon + bx]    ; ¯à¨ ®âáãâá⢨¨ ¡¨¡«¨®â¥ª¨  MACROS.INC   ebx=17 , ¯à¨ ¥¥ ¯à¨áãâá⢨¨ ebx=16
  1213.        mov    [temp4], ah
  1214.  
  1215.        add    ebx,32                ;
  1216.        mov    eax,[Dangeon + bx]    ;
  1217.        mov    [temp5], ah
  1218.        ; ¢ëç¨á«¥­¨¥ á®á¥¤­¨å ¡«®ª®¢
  1219.  
  1220.  
  1221.  
  1222.  
  1223.  
  1224.      ;à §à¥è¥­¨¥ ­  ¤¢¨¦¥­¨¥
  1225.      mov     eax,0              ;
  1226.      mov     eax,[v_mov2]       ;
  1227.      and     eax,7
  1228.      and     eax,2
  1229.      cmp eax, 2
  1230.      je smena
  1231.  
  1232.         mov ebx, [Ypl] ; â® ãá«®¢¨¥ ¯®§¢®«ï¥â ¤®¡¥¦ âì ¤® ¯®§¨æ¨¨ ­ ¯à®â¨¢ ¡«®ª 
  1233.         and ebx, 31    ; Y ¢ ¯®§¨æ¨¨ ­ ¯à®â¨¢ ¡«®ª 
  1234.         cmp ebx, 0     ;
  1235.         jne end_tamgna   ;
  1236.         smena:
  1237.  
  1238.          mov     eax,0              ;
  1239.          mov     eax,[v_mov2]       ;
  1240.          and     eax,7
  1241.          and     eax,2
  1242.          cmp eax, 0
  1243.          je smena2
  1244.  
  1245.          mov ebx, [Xpl] ; â® ãá«®¢¨¥ ¯®§¢®«ï¥â ¤®¡¥¦ âì ¤® ¯®§¨æ¨¨ ­ ¯à®â¨¢ ¡«®ª 
  1246.          and ebx, 31    ; X ¢ ¯®§¨æ¨¨ ­ ¯à®â¨¢ ¡«®ª 
  1247.          cmp ebx, 0     ;
  1248.          jne end_tamgna   ;
  1249.  
  1250.           smena2:
  1251.           mov eax, [v_mov2]
  1252.           and eax, 7
  1253.           mov [v_mov], eax
  1254.      end_tamgna:
  1255.      ;à §à¥è¥­¨¥ ­  ¤¢¨¦¥­¨¥
  1256.  
  1257.  
  1258.      ;“ˆ€ˆ… ‚ …ƒ€„“
  1259.         mov ebx, [Ypl] ;
  1260.         and ebx, 31    ; Y ¢ ¯®§¨æ¨¨ ­ ¯à®â¨¢ ¡«®ª 
  1261.         cmp ebx, 0     ;
  1262.         jne end_stop   ;
  1263.         mov eax, [Xpl] ; ¡¥§ ¬ ªà®á  í⮣® ¡«®ª  ­¥ ¡ë«® ®­ ¡ë« ¢­ãâਠ¡«®ª  㯨࠭¨©
  1264.         and eax, 31    ; X ¢ ¯®§¨æ¨¨ ­ ¯à®â¨¢ ¡«®ª 
  1265.         cmp eax, 0     ;
  1266.         jne end_stop   ;
  1267.      mov eax, [v_mov]
  1268.  
  1269.      cmp  eax, 2
  1270.        je stop_d
  1271.        jmp stop_u
  1272.  
  1273.        stop_d:
  1274.         mov ebx, [temp5]
  1275.           ;§ ¯« âª  2 à ¢­® 1 ¥á«¨ ¡¥â®­ â® íâ® ª ª ª¨à¯¨ç, ¨­ ç¥ £¥à®© ¯à®å®¤¨â ᪢®§ì ¡¥â®­
  1276.  
  1277.           cmp ebx, 2
  1278.           jne no_zaplat1
  1279.  
  1280.            sbb ebx,1
  1281.  
  1282.           no_zaplat1:
  1283.  
  1284.         and ebx,3
  1285.         or eax, ebx
  1286.  
  1287.          cmp eax, 2
  1288.          je end_stop
  1289.           mov ebx, 0
  1290.           mov [v_mov], ebx
  1291.  
  1292.        stop_u:
  1293.        cmp  eax, 3
  1294.        jne stop_l
  1295.  
  1296.         mov ebx, [temp4]
  1297.         and ebx,3
  1298.         and eax, ebx
  1299.  
  1300.     ;    mov ebx, [Ypl] ; â® ãá«®¢¨¥ ¯®§¢®«ï¥â ¤®¡¥¦ âì ¤® ¯®§¨æ¨¨ ­ ¯à®â¨¢ ¡«®ª 
  1301.     ;    and ebx, 31    ; Y ¢ ¯®§¨æ¨¨ ­ ¯à®â¨¢ ¡«®ª 
  1302.     ;    cmp ebx, 0     ;
  1303.     ;    jne end_stop   ;
  1304.  
  1305.  
  1306.          cmp eax, 0
  1307.          je end_stop
  1308.           mov ebx, 0
  1309.           mov [v_mov], ebx
  1310.  
  1311.        stop_l:
  1312.        cmp  eax, 1
  1313.        jne stop_r
  1314.  
  1315.         mov ebx, [temp1]
  1316.         and ebx,3
  1317.  
  1318.     ;    mov eax, [Xpl] ; â® ãá«®¢¨¥ ¯®§¢®«ï¥â ¤®¡¥¦ âì ¤® ¯®§¨æ¨¨ ­ ¯à®â¨¢ ¡«®ª 
  1319.     ;    and eax, 31    ; Y ¢ ¯®§¨æ¨¨ ­ ¯à®â¨¢ ¡«®ª 
  1320.     ;    cmp eax, 0     ;
  1321.     ;    jne end_stop   ;
  1322.  
  1323.          cmp ebx, 0
  1324.          je end_stop
  1325.           mov ebx, 0
  1326.           mov [v_mov], ebx
  1327.  
  1328.        stop_r:
  1329.        cmp  eax, 4
  1330.        jne end_stop
  1331.  
  1332.         mov ebx, [temp3]
  1333.         and ebx,3
  1334.  
  1335.          cmp ebx, 0
  1336.          je end_stop
  1337.           mov ebx, 0
  1338.           mov [v_mov], ebx
  1339.  
  1340.       end_stop:
  1341.      ;…ƒ€„›
  1342.  
  1343.  
  1344.      ;GRAVITACION
  1345.         mov ebx, [Ypl] ; â® ãá«®¢¨¥ ¯®§¢®«ï¥â ¤®¡¥¦ âì ¤® ¯®§¨æ¨¨ ­ ¯à®â¨¢ ¡«®ª 
  1346.         and ebx, 31    ; Y ¢ ¯®§¨æ¨¨ ­ ¯à®â¨¢ ¡«®ª 
  1347.  
  1348.         mov eax, [Xpl] ; â® ãá«®¢¨¥ ¯®§¢®«ï¥â ¤®¡¥¦ âì ¤® ¯®§¨æ¨¨ ­ ¯à®â¨¢ ¡«®ª 
  1349.         and eax, 31    ; Y ¢ ¯®§¨æ¨¨ ­ ¯à®â¨¢ ¡«®ª 
  1350.         or eax,ebx ; Œë ç¥âª® ᯮ§¨æ¨®­¨à®¢ ­ë ¯® • ¨ “
  1351.         cmp eax, 0
  1352.         jne end_grav
  1353.  
  1354.           mov ebx, [temp2]    ;
  1355.           cmp ebx, 0          ; § ¯à¥â ­  ¯à릪¨ ¢¢¥àå
  1356.           jne end_grav        ;
  1357.             mov ebx, [v_mov]  ;
  1358.             cmp ebx, 3        ;
  1359.             jne dalee_gra     ;
  1360.                mov ebx, 0     ;
  1361.          mov [v_mov],ebx      ;
  1362.          mov ebx, 0           ;
  1363.          mov [v_mov2],ebx     ;
  1364.  
  1365.         dalee_gra:
  1366.         add eax, [temp5]       ;
  1367.         cmp eax, 0             ; ¯ ¤¥­¨¥ ¢ ¯ãáâ®âã
  1368.          jne dalee_g           ;
  1369.          mov eax, 2            ;
  1370.          mov [v_mov],eax       ;
  1371.          mov eax, 0            ;
  1372.          mov [v_mov2],eax      ;
  1373.  
  1374.          dalee_g:
  1375.         cmp eax, 4             ;
  1376.          jne dalee_g2          ; ¯ ¤¥­¨¥ ¢ ¢®¤ã
  1377.          mov eax, 2            ;
  1378.          mov [v_mov],eax       ;
  1379.          mov eax, 0            ;
  1380.          mov [v_mov2],eax      ;
  1381.  
  1382.          dalee_g2:
  1383.         cmp eax, 12             ;
  1384.          jne end_grav          ; ¯ ¤¥­¨¥ ­   «¬ §
  1385.          mov eax, 2            ;
  1386.          mov [v_mov],eax       ;
  1387.          mov eax, 0            ;
  1388.          mov [v_mov2],eax      ;
  1389.  
  1390.        end_grav:
  1391.      ;end GRAVITACION
  1392.  
  1393.  
  1394.  
  1395.  
  1396.      ; ˆŽ‘’ ŠŽŽ„ˆ€’ ƒ…ŽŸ
  1397.      mov     eax,0              ;
  1398.      mov     eax,[v_mov]        ;
  1399.      cmp     eax, 2             ;
  1400.      je h_down                  ;
  1401.    jmp proverka2                ;
  1402.     jmp hiro_mov_end            ;
  1403.         h_down:                 ;
  1404.          mov ebx, [Ypl]         ;
  1405.          add ebx, 2             ;                             3
  1406.          mov [Ypl], ebx         ;                           1   4
  1407.     jmp hiro_mov_end            ;
  1408.                                 ;
  1409.    proverka2:                   ;
  1410.      cmp     eax, 3   ;         ;
  1411.      je h_up                    ;    PRIROST X Y
  1412.    jmp proverka3                ;
  1413.     jmp hiro_mov_end            ;
  1414.         h_up:                   ;
  1415.          mov ebx, [Ypl]         ;
  1416.          sbb ebx, 2             ;
  1417.          mov [Ypl], ebx         ;
  1418.     jmp hiro_mov_end            ;
  1419.                                 ;
  1420.    proverka3:                   ;
  1421.      cmp     eax, 1   ;         ;
  1422.      je h_left                  ;
  1423.    jmp proverka4                ;
  1424.     jmp hiro_mov_end            ;
  1425.         h_left:                 ;
  1426.          mov ebx, [Xpl]         ;
  1427.          sbb ebx, 2             ;
  1428.          mov [Xpl], ebx         ;
  1429.     jmp hiro_mov_end            ;
  1430.                                 ;
  1431.    proverka4:                   ;
  1432.      cmp     eax, 4             ;
  1433.      je h_right                 ;
  1434.    jmp hiro_mov_end             ;
  1435.     jmp hiro_mov_end            ;
  1436.         h_right:                ;
  1437.          mov ebx, [Xpl]         ;
  1438.          add ebx, 2             ;
  1439.          mov [Xpl], ebx         ;
  1440.     jmp hiro_mov_end           ;¯à¨à®áâ
  1441.      ; ˆŽ‘’ ŠŽŽ„ˆ€’ ƒ…ŽŸ
  1442.  
  1443.     hiro_mov_end:
  1444.  
  1445.     ; ¢ëç¨á«ï¥¬ ¯®«®¦¥­¨¥ £¥à®ï ¢ « ¡¨à¨­â¥
  1446.     mov eax, 0                            ;
  1447.     mov dword eax, [Ypl]                        ;
  1448.     shr eax, 5                            ;
  1449.     shl eax, 4                            ;
  1450.     mov ebx, 0                            ;
  1451.     mov dword ebx, [Xpl]                        ;
  1452.     shr ebx, 5                            ;
  1453.     add eax, ebx                          ;
  1454.     mov [hiro_lab], eax                   ;
  1455.     ; ¢ëç¨á«ï¥¬ ¯®«®¦¥­¨¥ £¥à®ï ¢ « ¡¨à¨­â¥
  1456. ret
  1457. ;****************
  1458. ;  end Hiro mov
  1459. ;****************
  1460.  
  1461.  
  1462. ;*******************************************
  1463. ; BULLET
  1464. ;*******************************************
  1465.  bullet_mas:
  1466.   mov word [Lab3], 0 ; ¢á¥ ¤¥« âì ¢ WORD ®¤¨­ í«¥¬¥­â ¢ ¬ áᨢ¥ +2 á«¥¤ãî騩 ¢à £ á®®â¢â¥âá⢥­­® 6*2= + 12
  1467.  cycle7:
  1468.   mov    word bx, [Lab3]
  1469.   mov    word ax, [Bullet+bx]    ; ¡¥à¥â ¡ ©â ¨§ Enemy + ᬥ饭¨¥
  1470.  
  1471.   cmp  ax, 1   ;   bullet ok
  1472.   je go_bullet
  1473.  
  1474.   jmp end_bullet
  1475.   go_bullet:
  1476.  
  1477.   add    word bx, 2 ; X ª®®à¨¤¨­ â  ¤ ­­®£® ¢à £ 
  1478.   mov    word ax, [Bullet + bx]
  1479.   mov    word [X_bul], ax
  1480.  
  1481.   add    word bx, 2 ; X ª®®à¨¤¨­ â  ¤ ­­®£® ¢à £ 
  1482.   mov    word ax, [Bullet + bx]
  1483.   mov    word [Y_bul], ax
  1484.  
  1485.     imgtoimg img_bullet, dword [X_bul], dword [Y_bul],canvas
  1486.   end_bullet:
  1487.  
  1488.     mov     eax, 0
  1489.     mov     word ax, [Lab3]
  1490.  
  1491.    cmp     ax, 36                   ;   if eax == 0
  1492.    je      cycle7_end                 ;   jump to cycle_end:
  1493.  
  1494.     add     word [Lab3],12
  1495.  
  1496.    jmp     cycle7                    ;
  1497.  
  1498.    cycle7_end:
  1499.  ret  ; end BULLET
  1500. ;-------------------------------------------------------------------------------
  1501.  
  1502.  
  1503. ;*******************************************
  1504. ; BULLET MOV
  1505. ;*******************************************
  1506.  bullet_mov:
  1507.   mov word [Lab3], 0 ; ¢á¥ ¤¥« âì ¢ WORD ®¤¨­ í«¥¬¥­â ¢ ¬ áᨢ¥ +2 á«¥¤ãî騩 ¢à £ á®®â¢â¥âá⢥­­® 6*2= + 12
  1508.  
  1509.  cycle8:
  1510.   mov    word bx, [Lab3]
  1511.   mov    word ax, [Bullet+bx]    ; ¡¥à¥â ¡ ©â ¨§ Enemy + ᬥ饭¨¥
  1512.  
  1513.   cmp  ax, 1   ;   bullet ok
  1514.   je go_bullet_mov
  1515.  
  1516.   jmp end_bullet_mov
  1517.   go_bullet_mov:
  1518.  
  1519.   add    word bx, 2 ; X ª®®à¨¤¨­ â  ¤ ­­®£® ¢à £ 
  1520.   mov    word ax, [Bullet + bx]
  1521.   mov    word [X_bul], ax
  1522.  
  1523.   add    word bx, 2 ; X ª®®à¨¤¨­ â  ¤ ­­®£® ¢à £ 
  1524.   mov    word ax, [Bullet + bx]
  1525.   mov    word [Y_bul], ax
  1526.  
  1527.   add    word bx, 2 ;
  1528.   mov    word ax, [Bullet + bx]
  1529.   mov    word [mov_bullet], ax
  1530.  
  1531.     cmp  ax, 1
  1532.     jne bul_muv_left
  1533.       mov word ax, [X_bul]
  1534.       sbb ax, 2
  1535.       mov word bx, [Lab3]
  1536.       add word bx, 2
  1537.       mov word [Bullet + bx], ax
  1538.  
  1539.     jmp end_bullet_mov
  1540.     bul_muv_left:
  1541.       mov word ax, [X_bul]
  1542.       add ax, 2
  1543.       mov word bx, [Lab3]
  1544.       add word bx, 2
  1545.       mov word [Bullet + bx], ax
  1546.  
  1547.     end_bullet_mov:
  1548.  
  1549.     ; ¢ëç¨á«ï¥¬ ¯®«®¦¥­¨¥ BULLET ¢ « ¡¨à¨­â¥
  1550.     mov eax, 0                            ;
  1551.     mov eax, [Y_bul]                      ;
  1552.     shr eax, 5                            ;
  1553.     shl eax, 4                            ;
  1554.     mov ebx, 0                            ;
  1555.     mov ebx, [X_bul]                      ;
  1556.     shr ebx, 5                            ;
  1557.     add eax, ebx                          ;
  1558.     mov [lab_bullet], ax                   ;
  1559.     ; ¢ëç¨á«ï¥¬ ¯®«®¦¥­¨¥ BULLET ¢ « ¡¨à¨­â¥
  1560.  
  1561.                 mov    word bx,[lab_bullet]
  1562.                 mov    dx, [Dangeon + bx]
  1563.                 and   edx,3
  1564.                  cmp dx, 0
  1565.                  je letit_dalee
  1566.  
  1567.                  cmp dx, 2
  1568.                  je beton
  1569.                    mov    byte [Dangeon + bx], 3    ; €‡“˜…ˆ… Šˆˆ—…‰
  1570.                   beton:
  1571.                    mov    bx, [Lab3]
  1572.                    mov    byte [Bullet + ebx], 0    ; ¡¥à¥â ¡ ©â ¨§ Enemy + ᬥ饭¨¥
  1573.  
  1574.  
  1575.  
  1576.  
  1577.  
  1578.     letit_dalee:
  1579.     mov     eax, 0
  1580.     mov     word ax, [Lab3]
  1581.  
  1582.    cmp     ax, 36                   ;   if eax == 0
  1583.    je      cycle8_end                 ;   jump to cycle_end:
  1584.  
  1585.     add     word [Lab3],12
  1586.  
  1587.    jmp     cycle8                    ;
  1588.  
  1589.    cycle8_end:
  1590.  
  1591.  
  1592. ret  ; end BULLET
  1593. ;-------------------------------------------------------------------------------
  1594.  
  1595. ;-------------------------------------------------------------------------------
  1596. ; TABLO  TABLO TABLO  TABLO TABLO TABLO
  1597. ;*****************************************
  1598.  tablo:
  1599.     ; WIWOD CIFR
  1600.    ;; mov     eax, 13
  1601.    ; mov     ebx, 140*65536 + 18
  1602.    ; mov     ecx, 10*65536 + 8
  1603.    ; mov     edx, 0x00ffffff
  1604.    ; int     0x40
  1605.    ; outcount [numer_level],140,10,0x224466,3*65536
  1606.  
  1607.     ; WIWOD CIFR
  1608.    ; mov     eax, 13
  1609.    ; mov     ebx, 160*65536 + 18
  1610.    ; mov     ecx, 10*65536 + 8
  1611.    ; mov     edx, 0x00ffffff
  1612.    ; int     0x40
  1613.    ; outcount [delta_level],160,10,0x224466,3*65536
  1614.  
  1615.     ; WIWOD CIFR
  1616.    ; mov     eax, 13
  1617.    ; mov     ebx, 180*65536 + 18
  1618.    ; mov     ecx, 10*65536 + 8
  1619.    ; mov     edx, 0x00ffffff
  1620.    ; int     0x40
  1621.    ; outcount [delta_level_end],180,10,0x224466,3*65536
  1622.  
  1623.  ret
  1624. ;-------------------------------------------------------------------------------
  1625. fire:
  1626.   sbb  ah, 121
  1627.   mov  [v_fire], ah
  1628.  
  1629.   mov    word bx, 0
  1630.   mov  cx, [Bullet + ebx]
  1631.   cmp cx, 0
  1632.    jne end_fire
  1633.        pusha
  1634.        mcall 55, eax, , , Music_bah   ; §¢ãª ¢ëáâ५ 
  1635.        popa
  1636.  
  1637.   mov    byte [Bullet + ebx], 1
  1638.  
  1639.   add    word bx, 2 ; X ª®®à¨¤¨­ â  ¤ ­­®£® ¢à £ 
  1640.   mov    ax, [Xpl]
  1641.   add    ax, 8
  1642.   mov    word [Bullet + ebx],ax
  1643.  
  1644.   add    word bx, 2 ; X ª®®à¨¤¨­ â  ¤ ­­®£® ¢à £ 
  1645.   mov    ax, [Ypl]
  1646.   add    ax, 16
  1647.   mov    word [Bullet + ebx],ax
  1648.  
  1649.   add    word bx, 2 ;
  1650.   mov  ax,[v_fire]
  1651.   mov    word [Bullet + ebx],ax
  1652.  
  1653.   end_fire:
  1654. ret
  1655. ;-------------------------------------------------------------------------------
  1656.  
  1657.  
  1658. ;------------------------‡ £à㧪  ã஢­¥©---------------------------------------
  1659. load_level:
  1660.     imgtoimg img_level,32,32,canvas
  1661.   setimg 0,0,canvas
  1662.  
  1663.     xor eax,eax
  1664.     xor ebx,ebx
  1665.     xor edx,edx
  1666.     xor ecx,ecx
  1667.     mov dword [Bullet], eax
  1668.     mov dword [Bullet+2], eax
  1669.     mov dword [Bullet+4], eax
  1670.     mov dword [Bullet+6], eax
  1671.     mov dword [Bullet+8], eax
  1672.     mov dword [Bullet+10], eax
  1673.     mov byte [Lab], 1
  1674.     mov [lab_bullet], eax
  1675.     mov [mov_bullet], eax
  1676.     mov [X_bul], eax
  1677.     mov [Y_bul], eax
  1678.     mov [gold], eax
  1679.     mov dword [Xpl], 32
  1680.     mov dword [Ypl], 448
  1681.     mov dword [hiro_lab],0 ; ¯à®¥ªæ¨ï £¥à®ï ¢ « ¡¨à¨­â
  1682.     mov dword [v_mov], 0
  1683.     mov dword [v_mov2], 0
  1684.     mov dword [v_fire], 0
  1685.  
  1686.     xor eax,eax
  1687.     mov eax, [numer_level]
  1688.     shl eax, 8
  1689.     mov dword [delta_level], eax
  1690.     add eax, 256
  1691.     mov dword [delta_level_end], eax
  1692.  
  1693.    cycleL:
  1694.  
  1695.      xor ebx, ebx
  1696.      mov    ebx, [Lab]
  1697.      add ebx, [delta_level]
  1698.      mov     ax,[Dangeon2 + ebx]    ; ¡¥à¥â ¡ ©â ¨§ ¤ ­£¥®­ + ᬥ饭¨¥
  1699.  
  1700.      sbb ebx, [delta_level]
  1701.      mov      [Dangeon + ebx], ax    ; ¡¥à¥â ¡ ©â ¨§ ¤ ­£¥®­ + ᬥ饭¨¥
  1702.      add word [Lab],1
  1703.      mov     eax, [Lab]
  1704.  
  1705.  
  1706.    cmp     eax, [delta_level_end]                   ;   if eax == 0
  1707.    je      cycleL_end                 ;   jump to cycle_end:
  1708.    jmp     cycleL                    ;
  1709.    cycleL_end:
  1710.  
  1711.    mov    eax, 0
  1712.    mov    [Lab],eax
  1713.  
  1714.  call enemy_plaz
  1715.  
  1716. ret
  1717. ;-------------------------------------------------------------------------------
  1718.  
  1719. ;************************************
  1720. ;GOLD
  1721. proverka_gold:
  1722. mov eax, [gold]
  1723.  cmp ax, 10
  1724.   jna net_deneg
  1725.    mov eax, [temp2] ; ¤®¡¥¦ âì ¤® ¤¢¥à¨
  1726.    cmp ax, 16
  1727.     jne net_deneg
  1728.        mov ax, [numer_level]  ; 㢥«¨ç¥­¨¥ «¥¢¥« 
  1729.  
  1730.        add ax, 1
  1731.        mov [numer_level],  ax
  1732.        mov [demon_kolvo], ax   ;
  1733.  
  1734.      call load_level
  1735.      delay 100
  1736.  
  1737.   net_deneg:
  1738. ret
  1739.  
  1740. ;-------------------------------------------------------------------------------
  1741. ; “’Ž
  1742. potop:
  1743.    mov eax, [temp2] ; ¤®¡¥¦ âì ¤® ¤¢¥à¨
  1744.    cmp ax, 4
  1745.     jne jiwoy
  1746.        mov dword [gold], 0  ; 㢥«¨ç¥­¨¥ «¥¢¥« 
  1747.  
  1748.      call load_level
  1749.      delay 100
  1750.    jiwoy:
  1751. ret
  1752.  
  1753. ;************************************
  1754. ;¯®«®¦¥­¨¥ ¢à £®¢ ­  ­®¢®¬ ã஢­¥
  1755. enemy_plaz:
  1756.   mov word [Lab2], 0 ; ¢á¥ ¤¥« âì ¢ WORD ®¤¨­ í«¥¬¥­â ¢ ¬ áᨢ¥ +2 á«¥¤ãî騩 ¢à £ á®®â¢â¥âá⢥­­® 6*2= + 12
  1757.   mov ax, [demon_kolvo]
  1758.   mov [demon], ax
  1759.  
  1760.  cycle55:
  1761.   mov    ebx, 0
  1762.   mov    ecx, 0
  1763.   mov    edx, 0
  1764.   mov    esi, 0
  1765.  
  1766.           mov cx, [demon]
  1767.           cmp cx, 0
  1768.            je end_demon
  1769.           mov    word bx, [Lab2]                      ;
  1770.           mov    word [Enemy + bx], 1                ;
  1771.           sbb cx, 1
  1772.           mov [demon], cx
  1773.           end_demon:
  1774.  
  1775.           random 14, eax
  1776.           add eax, 1
  1777.           shl eax,5
  1778.           mov    word bx, [Lab2]                      ;
  1779.           add    word bx, 2 ; X ª®®à¨¤¨­ â  ¤ ­­®£® ¢à £ 
  1780.           mov    word [Enemy + bx], ax                ;
  1781.                                                       ;
  1782.           random 12, eax
  1783.           add eax, 1
  1784.           shl eax,5
  1785.           mov    word bx, [Lab2]                      ;
  1786.           add    word bx, 4 ; Y ª®®à¨¤¨­ â  ¤ ­­®£® ¢à £ 
  1787.           mov    word [Enemy + bx], ax                ;
  1788.  
  1789.           mov    word bx, [Lab2]                      ;
  1790.           add    word bx, 8 ; ­ ¯à ¢«¥­¨¥ ¤¢¨¦¥­¨ï
  1791.           mov    word [Enemy + bx], 0                ;
  1792.           add    word bx, 2 ; ¦¨§­ì
  1793.           mov    word [Enemy + bx], 500               ;
  1794.  
  1795.  
  1796.     mov     eax, 0
  1797.     mov     word ax, [Lab2]
  1798.  
  1799.    cmp     ax, 96                   ;   if eax == 0
  1800.    je      cycle55_end                 ;   jump to cycle_end:
  1801.  
  1802.     add     word [Lab2],12
  1803.  
  1804.    jmp     cycle55                    ;
  1805.  
  1806.    cycle55_end:
  1807.  
  1808. ret
  1809.  
  1810.  
  1811. I_END:  ; ª®­¥æ ¯à®£à ¬¬ë
  1812.  
  1813.  
  1814.  
  1815. ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  1816.   Xpl:       dd 32  ; ª®®à¤¨­ âë £¥à®ï
  1817.   Ypl:       dd 448
  1818.   hiro_lab:  dd 0 ; ¯à®¥ªæ¨ï £¥à®ï ¢ « ¡¨à¨­â
  1819.   numer_level: dd 0
  1820.   delta_level: dd 0
  1821.   delta_level_end: dd 256
  1822.   demon: dd 0
  1823.   demon_kolvo: dd 1
  1824.  
  1825.   gold: dd 0
  1826.  
  1827.   X_enemy:    dd 0
  1828.   Y_enemy:    dd 0
  1829.  
  1830.  
  1831.   X_bul:    dd 0
  1832.   Y_bul:    dd 0
  1833.  
  1834.   X_anime:    dd 0
  1835.   Y_anime:    dd 0
  1836.  
  1837.   mov_bullet:    dw 0
  1838.   lab_bullet:   dw 0
  1839.   mov_enemy:    dw 0
  1840.   lab_enemy:    dw 0
  1841.   life_enemy:    dw 0
  1842.  
  1843.   anime : dd 0 ; ¯¥à¥¬¥­­ ï ¤«ï  ­¨¬ æ¨¨ £¥à®ï ¨ ¯à
  1844.   anime2 : dd 0 ; ¯¥à¥¬¥­­ ï ¤«ï  ­¨¬ æ¨¨ £¥à®ï ¨ ¯à
  1845.  
  1846.   temp1: dd 0
  1847.   temp2: dd 0
  1848.   temp3: dd 0
  1849.   temp4: dd 0
  1850.   temp5: dd 0
  1851.  
  1852.  
  1853.   v_mov:     dd 0  ; ­ ¯à ¢«¥­¨ï ¤¢¨¦¥­¨ï ¯¥àá®­ ¦ 
  1854.   v_mov2:     dd 0  ; ­ ¯à ¢«¥­¨ï ¤¢¨¦¥­¨ï ¯¥àá®­ ¦ 
  1855.   v_fire:     dd 0  ; ­ ¯à ¢«¥­¨ï ¤¢¨¦¥­¨ï ¯¥àá®­ ¦ 
  1856.   Lab:       dd 0
  1857.   Lab2:      dw 0
  1858.   Lab3:      dw 0
  1859.   perem1:    dd 0
  1860.   perem2:    dd 0
  1861.  
  1862.   timer1 dd 0 ; â ©¬¥à ¨á¯®«ì§ã¥¬ë© ¤«ï  ­¨¬ æ¨¨ ¢®¤ë, ¢à £®¢   --- ¡¥£ ¥â ®â 0 ¤® 10
  1863.  
  1864. ;-------------------------------------------------------------------------------
  1865. ;1 ®¡ëç­ ï á⥭ , 2 ­¥¯à®¡¨¢ ¥¬ ï, 4 ¢®¤ , 8 «¥á­¨æ , 12  «¬ §, 0 ¯ãáâ®â     16 - exit
  1866. ;-------------------------------------------------------------------------------
  1867. Dangeon:
  1868.           db  2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2
  1869.           db  2,1,1,1,1,1,1,0,12,0,0,0,0,0,0,2
  1870.           db  2,0,12,12,0,0,0,8,1,8,1,1,1,0,0,2
  1871.           db  2,8,1,1,1,1,1,8,1,8,0,0,0,0,0,2
  1872.           db  2,8,0,0,0,0,0,8,1,8,2,4,4,2,0,2
  1873.           db  2,8,2,4,4,4,2,8,1,8,2,2,2,2,0,2
  1874.           db  2,0,2,2,2,2,2,8,1,8,0,0,0,0,0,2
  1875.           db  2,0,1,0,0,0,0,8,1,1,1,1,1,1,8,2
  1876.           db  2,0,1,1,8,1,1,1,0,0,0,0,0,0,8,2
  1877.           db  2,12,1,1,8,0,12,0,1,8,1,1,8,1,1,2
  1878.           db  2,0,0,0,8,8,1,8,0,8,0,0,0,0,0,2
  1879.           db  2,12,1,8,1,8,1,1,8,1,1,1,1,1,1,2
  1880.           db  2,0,1,8,12,12,0,0,0,0,0,0,0,0,0,2
  1881.           db  2,0,1,1,1,1,1,8,1,1,1,0,0,0,0,2
  1882.           db  2,0,0,0,12,0,0,8,0,0,0,16,0,12,12,2
  1883.           db  2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2
  1884.  
  1885. Dangeon2:
  1886.           db  2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2
  1887.           db  2,1,1,0,1,1,1,0,12,0,0,0,0,0,0,2
  1888.           db  2,0,12,12,0,0,0,8,1,8,1,1,1,0,0,2
  1889.           db  2,8,1,1,1,1,1,8,1,8,0,0,0,0,0,2
  1890.           db  2,8,0,0,0,0,0,8,1,8,2,4,4,2,0,2                 ;0
  1891.           db  2,8,2,4,4,4,2,8,1,8,2,2,2,2,0,2
  1892.           db  2,0,2,2,2,2,2,8,1,8,0,0,0,0,0,2
  1893.           db  2,0,1,0,0,0,0,8,1,1,1,1,1,1,8,2
  1894.           db  2,0,1,1,8,1,1,1,0,0,0,0,0,0,8,2
  1895.           db  2,12,1,1,8,0,12,0,1,8,1,1,8,1,1,2
  1896.           db  2,0,0,0,8,8,1,8,0,8,0,0,0,0,0,2
  1897.           db  2,12,1,8,1,8,1,1,8,1,1,1,1,1,1,2
  1898.           db  2,0,1,8,12,12,0,0,0,0,0,0,0,0,0,2
  1899.           db  2,0,1,1,1,1,1,8,1,1,1,0,0,0,0,2
  1900.           db  2,0,0,0,12,0,0,8,0,0,0,16,0,12,12,2
  1901.           db  2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2
  1902.           db  2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2;-------------------------------------------------------------------------------
  1903.           db  2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2
  1904.           db  2,0,0,0,0,0,0,0,0,0,0,16,0,0,0,2
  1905.           db  2,12,1,8,1,0,0,0,0,0,0,1,8,0,0,2
  1906.           db  2,0,1,8,1,0,0,0,0,0,0,1,0,8,0,2                 ;1
  1907.           db  2,12,1,8,1,1,0,0,0,0,1,1,0,8,0,2
  1908.           db  2,0,1,8,1,0,12,12,12,12,0,1,8,8,0,2
  1909.           db  2,12,1,8,1,0,1,1,1,1,0,1,8,0,0,2
  1910.           db  2,0,1,8,0,0,0,0,0,0,0,0,8,0,0,2
  1911.           db  2,0,1,1,1,1,8,1,8,1,1,1,1,1,8,2
  1912.           db  2,0,0,0,12,0,8,0,8,0,0,0,12,0,8,2
  1913.           db  2,0,1,1,1,1,1,0,1,8,1,1,8,1,1,2
  1914.           db  2,0,0,0,0,0,0,0,0,8,1,0,8,0,0,2
  1915.           db  2,0,1,1,1,1,1,8,1,1,1,1,1,1,8,2
  1916.           db  2,0,0,12,0,0,0,8,0,0,12,0,0,0,8,2
  1917.           db  2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2;-------------------------------------------------------------------------------
  1918.           db  2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
  1919.           db  2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2
  1920.           db  2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2
  1921.           db  2,0,0,0,0,0,0,0,0,12,0,12,0,0,0,2
  1922.           db  2,0,0,0,0,0,0,8,1,1,1,1,1,1,0,2                ;2
  1923.           db  2,0,8,0,12,12,0,8,0,0,0,0,0,2,4,2
  1924.           db  2,0,8,1,1,1,1,0,0,0,0,0,0,2,2,2
  1925.           db  2,0,8,0,0,0,0,12,1,1,1,1,0,0,0,2
  1926.           db  2,0,8,1,0,1,0,12,0,0,0,0,0,0,0,2
  1927.           db  2,0,8,0,1,1,12,12,0,0,0,8,1,1,1,2
  1928.           db  2,0,8,0,12,0,0,12,0,0,0,8,0,12,0,2
  1929.           db  2,0,8,0,0,0,8,1,8,0,0,1,8,1,8,2
  1930.           db  2,0,8,0,0,8,1,1,1,8,0,0,8,0,8,2
  1931.           db  2,0,1,1,1,1,1,1,1,1,1,1,1,1,8,2
  1932.           db  2,0,0,0,0,0,0,0,16,0,0,0,0,0,8,2
  1933.           db  2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2;-------------------------------------------------------------------------------
  1934.           db  2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
  1935.           db  2,0,0,0,0,12,0,0,0,0,0,0,16,0,0,2
  1936.           db  2,0,8,1,1,1,1,1,1,1,1,1,1,1,0,2
  1937.           db  2,0,8,0,0,0,0,0,12,0,0,0,0,0,0,2
  1938.           db  2,0,8,0,0,0,0,1,8,1,0,0,0,0,0,2
  1939.           db  2,0,8,0,0,0,1,1,8,1,1,0,0,0,0,2
  1940.           db  2,0,8,0,12,1,1,1,8,1,1,1,12,0,0,2
  1941.           db  2,0,8,0,1,1,12,1,8,1,12,1,1,0,0,2
  1942.           db  2,0,0,1,1,1,1,1,8,1,1,1,1,0,0,2                  ;3
  1943.           db  2,0,1,0,0,0,0,0,8,1,0,0,0,1,0,2
  1944.           db  2,0,1,0,1,1,1,1,8,1,1,1,0,1,0,2
  1945.           db  2,0,1,1,12,1,12,1,8,1,1,1,0,1,0,2
  1946.           db  2,0,1,1,1,1,1,1,8,1,1,1,0,1,0,2
  1947.           db  2,0,1,1,12,1,12,1,8,1,1,1,12,1,0,2
  1948.           db  2,0,0,0,0,0,0,0,8,0,0,0,0,0,0,2
  1949.           db  2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2;-------------------------------------------------------------------------------
  1950.           db  2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
  1951.           db  2,0,12,0,0,0,0,0,0,0,0,0,16,0,0,2
  1952.           db  2,0,1,8,1,1,1,1,1,1,8,1,1,1,8,2
  1953.           db  2,0,0,8,0,0,0,0,0,0,8,0,0,0,8,2
  1954.           db  2,0,1,1,1,1,1,8,1,1,1,1,1,1,0,2
  1955.           db  2,0,0,12,0,0,12,8,0,0,12,0,0,0,0,2
  1956.           db  2,12,1,1,1,8,1,1,1,1,8,1,1,1,8,2
  1957.           db  2,0,0,0,0,8,0,0,0,0,8,0,0,0,8,2
  1958.           db  2,8,1,1,1,1,1,1,8,1,1,1,1,1,0,2                    ;4
  1959.           db  2,8,0,0,0,12,0,0,8,0,0,12,0,0,0,2
  1960.           db  2,0,1,8,1,1,1,1,1,1,1,1,8,1,0,2
  1961.           db  2,0,0,8,12,0,0,0,0,12,0,0,8,0,0,2
  1962.           db  2,8,1,1,1,1,1,1,8,1,1,1,1,1,8,2
  1963.           db  2,8,12,0,0,0,0,0,0,0,0,0,0,12,8,2
  1964.           db  2,8,2,4,4,4,4,4,4,4,4,4,4,2,8,2
  1965.           db  2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2;-------------------------------------------------------------------------------
  1966.           db  2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
  1967.           db  2,8,1,8,12,8,1,8,1,8,1,8,1,8,1,2
  1968.           db  2,8,2,8,1,8,1,8,1,8,1,8,12,8,12,2
  1969.           db  2,8,1,8,1,8,2,8,12,8,1,8,1,8,1,2
  1970.           db  2,8,12,8,0,8,0,8,0,8,0,8,0,8,0,2
  1971.           db  2,1,8,1,1,1,1,1,8,1,1,1,1,1,8,2
  1972.           db  2,0,8,0,0,0,0,0,8,0,0,12,0,0,8,2
  1973.           db  2,0,8,12,0,2,12,0,8,1,1,1,1,1,8,2
  1974.           db  2,0,1,1,8,1,1,1,8,0,0,0,0,0,8,2                   ;5
  1975.           db  2,0,1,0,8,0,0,0,8,0,0,12,0,0,8,2
  1976.           db  2,0,1,0,8,0,0,0,8,1,1,1,1,1,8,2
  1977.           db  2,0,1,12,8,0,0,2,8,0,0,0,0,0,8,2
  1978.           db  2,8,1,1,1,1,8,1,1,1,1,8,1,1,1,2
  1979.           db  2,8,0,0,0,0,8,2,0,0,2,8,0,0,0,2
  1980.           db  2,0,8,0,12,8,8,2,4,4,2,8,0,0,16,2
  1981.           db  2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2;-------------------------------------------------------------------------------
  1982.           db  2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
  1983.           db  2,0,8,0,8,0,8,0,8,0,0,8,0,8,16,2
  1984.           db  2,1,8,1,8,1,8,1,8,1,1,8,1,8,1,2
  1985.           db  2,0,8,0,8,0,8,0,8,8,0,8,0,8,0,2
  1986.           db  2,1,1,8,1,1,1,1,1,8,1,1,8,1,1,2
  1987.           db  2,0,0,8,8,0,12,8,0,8,8,12,8,8,0,2
  1988.           db  2,1,1,1,8,1,1,8,1,1,8,1,1,8,1,2
  1989.           db  2,0,8,0,8,0,12,8,0,0,8,0,12,8,0,2                  ;6
  1990.           db  2,1,8,1,1,1,1,1,8,1,1,1,1,1,1,2
  1991.           db  2,0,8,0,12,8,0,0,8,12,0,8,0,0,0,2
  1992.           db  2,1,8,1,1,8,1,1,8,1,1,8,1,1,1,2
  1993.           db  2,0,0,8,0,8,8,0,8,8,0,8,8,0,0,2
  1994.           db  2,1,1,8,1,1,8,1,1,8,1,1,8,1,1,2
  1995.           db  2,0,0,8,12,0,8,0,12,8,0,12,8,12,12,2
  1996.           db  2,8,8,1,1,1,1,1,1,1,1,1,1,1,1,2
  1997.           db  2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2;-------------------------------------------------------------------------------
  1998.           db  2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
  1999.           db  2,0,12,0,12,0,12,12,0,12,0,12,0,0,0,2
  2000.           db  2,1,1,1,8,1,1,1,1,1,1,8,1,1,1,2
  2001.           db  2,0,0,0,8,0,0,12,0,0,0,8,0,0,0,2
  2002.           db  2,1,1,1,1,1,1,1,8,1,1,1,1,1,1,2
  2003.           db  2,0,0,0,12,0,0,0,8,12,0,0,0,0,0,2
  2004.           db  2,1,1,1,8,1,1,1,1,1,1,8,1,1,1,2
  2005.           db  2,0,0,0,8,0,0,0,0,0,0,8,0,0,0,2                    ; 7
  2006.           db  2,1,1,1,1,1,1,1,1,1,1,1,1,8,1,2
  2007.           db  2,0,0,0,0,0,0,0,0,0,0,0,0,8,0,2
  2008.           db  2,1,1,1,1,1,1,8,1,1,1,1,1,8,1,2
  2009.           db  2,0,0,0,0,0,0,8,0,0,0,0,0,8,0,2
  2010.           db  2,1,1,8,1,8,1,1,8,1,8,1,1,1,1,2
  2011.           db  2,0,0,8,0,8,12,0,8,0,8,12,0,0,16,2
  2012.           db  2,8,1,1,1,1,1,1,1,1,1,1,1,1,1,2
  2013.           db  2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2;-------------------------------------------------------------------------------
  2014.           db  2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
  2015.           db  2,0,0,12,0,0,0,0,0,0,0,0,0,16,0,2
  2016.           db  2,8,8,8,8,8,8,8,8,8,8,8,8,8,8,2
  2017.           db  2,0,8,0,8,0,12,0,0,8,0,8,0,0,0,2
  2018.           db  2,8,8,8,8,8,8,8,8,8,8,8,8,8,8,2
  2019.           db  2,0,0,8,12,0,0,8,0,0,8,0,0,0,0,2
  2020.           db  2,8,8,8,8,8,8,8,8,8,8,8,8,8,8,2
  2021.           db  2,0,0,0,0,0,0,0,0,8,0,0,0,12,0,2
  2022.           db  2,8,8,8,8,8,8,8,8,8,8,8,8,8,8,2
  2023.           db  2,0,8,0,0,0,8,12,0,0,8,0,8,12,0,2
  2024.           db  2,8,8,8,8,8,8,8,8,8,8,8,8,8,8,2
  2025.           db  2,0,0,8,0,0,0,0,12,8,0,12,8,0,0,2
  2026.           db  2,8,8,8,8,8,8,8,8,8,8,8,8,8,8,2
  2027.           db  2,0,0,8,0,8,12,0,0,8,12,0,8,12,0,2
  2028.           db  2,8,8,8,8,8,8,8,8,8,8,8,8,8,8,2
  2029.           db  2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2;-------------------------------------------------------------------------------
  2030.           db  2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2
  2031.           db  2,0,0,16,0,0,0,0,0,16,0,0,0,16,0,2
  2032.           db  2,8,8,8,8,8,8,8,8,8,8,8,8,8,8,2
  2033.           db  2,8,8,8,8,8,12,8,8,8,8,8,8,8,8,2
  2034.           db  2,8,8,8,8,8,8,8,8,8,8,8,8,8,8,2
  2035.           db  2,8,8,8,12,8,8,8,8,8,8,8,8,0,0,2
  2036.           db  2,8,8,8,8,8,8,8,8,8,8,8,8,8,8,2
  2037.           db  2,8,8,8,8,8,8,8,8,8,8,8,8,12,0,2
  2038.           db  2,8,8,8,8,8,8,8,8,8,8,8,8,8,8,2
  2039.           db  2,0,8,8,8,8,8,12,8,8,8,8,8,12,0,2
  2040.           db  2,8,8,8,8,8,8,8,8,8,8,8,8,8,8,2
  2041.           db  2,8,0,8,8,8,8,8,12,8,0,12,8,8,0,2
  2042.           db  2,8,8,8,8,8,8,8,8,8,8,8,8,8,8,2
  2043.           db  2,0,8,8,8,8,12,0,0,8,12,0,8,12,0,2
  2044.           db  2,8,8,8,8,8,8,8,8,8,8,8,8,8,8,2
  2045.           db  2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2;-------------------------------------------------------------------------------
  2046.  
  2047.  
  2048. ;-------------------------------------------------------------------------------
  2049. Bullet: dw 0,0,0,0,0,0
  2050.         dw 0,0,0,0,0,0
  2051.         dw 0,0,0,0,0,0
  2052.         dw 0,0,0,0,0,0
  2053. ;-------------------------------------------------------------------------------
  2054.  
  2055.  
  2056. Enemy:  dw  1,448,128,0,0,500   ;¢à £¨ ª« áá,•,“,¯®«®¦¥­¨¥ ¢ « ¡¨à¨­â¥,­ ¯à ¢«¥­¨¥ ¤¢¨¦¥­¨ï,¦¨§­ì
  2057.         dw  0,32,32,0,0,0
  2058.         dw  0,64,32,0,0,0
  2059.         dw  0,416,32,0,0,0
  2060.         dw  0,256,256,0,0,0
  2061.         dw  0,256,224,0,0,0
  2062.         dw  0,320,192,0,0,0
  2063.         dw  0,32,256,0,0,0
  2064.         dw  0,448,448,0,0,0
  2065.  
  2066. ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  2067.  
  2068. if lang eq ru
  2069. title db 'Ž„‡…Œ…‹œ… ¤«ï Š®«¨¡à¨Ž‘ <RU095@YANDEX.RU> z/x áâ५ïâì',0
  2070. else
  2071. title db 'Dungeon for KolibriOS <RU095@YANDEX.RU> z/x - shoot',0
  2072. endf
  2073.  
  2074. bullet_bmp:
  2075. file 'bullet.bmp'
  2076. rb 1
  2077.  
  2078. level_bmp:
  2079. file 'level2.bmp'
  2080. rb 1
  2081.  
  2082. kirpich:
  2083. file 'kirpich.bmp'
  2084. rb 1
  2085.  
  2086. kirpich3:
  2087. file 'kirpich2.bmp'
  2088. rb 1
  2089.  
  2090. kirpich2:
  2091. file 'oldkirpich.bmp'
  2092. rb 1
  2093.  
  2094. lest_bmp:
  2095. file 'lestnica.bmp'
  2096. rb 1
  2097.  
  2098. water1_bmp:
  2099. file 'water1.bmp'
  2100. rb 1
  2101.  
  2102. water2_bmp:
  2103. file 'water2.bmp'
  2104. rb 1
  2105.  
  2106. door1_bmp:
  2107. file 'door1.bmp'
  2108. rb 1
  2109.  
  2110. door2_bmp:
  2111. file 'door2.bmp'
  2112. rb 1
  2113.  
  2114.  
  2115. img_level:
  2116. rb 448*448*3+8
  2117.  
  2118. ;img_ded1:
  2119. ;rb 448*448*3+8
  2120.  
  2121. img_area:
  2122. rb 32*32*3+8
  2123.  
  2124. img_area2:
  2125. rb 32*32*3+8
  2126.  
  2127. img_area3:
  2128. rb 32*32*3+8
  2129.  
  2130. img_bullet:
  2131. rb 4*8*3+8
  2132.  
  2133. img_lestniza:
  2134. rb 32*32*3+8
  2135.  
  2136. img_water1:
  2137. rb 32*32*3+8
  2138.  
  2139. img_water2:
  2140. rb 32*32*3+8
  2141.  
  2142. img_door1:
  2143. rb 32*32*3+8
  2144.  
  2145. img_door2:
  2146. rb 32*32*3+8
  2147.  
  2148. img_enemy1:
  2149. rb 32*32*3+8
  2150.  
  2151. img_enemy2:
  2152. rb 32*32*3+8
  2153.  
  2154.  
  2155. Music_bah:
  2156.   db  0x0f, 0x09, 0
  2157.  
  2158. Music_mov:
  2159.   db  0x00, 0x00, 0
  2160.  
  2161. Music_almaz:
  2162.   db  0x09, 0x03, 0
  2163.  
  2164. entered    rd 1
  2165.  
  2166. imgcount  rd 1       ; ª®«-¢® ¢á¥£® ª ¤à®¢ ¢  ­¨¬ æ¨¨
  2167. img_index  rd 1      ; ­®¬¥à ⥪ã饣® ª ¤à 
  2168.  
  2169. ;hashtable rd 4096    ; à ¡®ç ï ®¡« áâì ¤«ï ¥ ¤ƒˆ” ¯à®æ¥¤ãàë
  2170. workarea:
  2171. file 'aniall.gif'
  2172.  
  2173. ;temp rb 0x100000 ; ¬¥áâ® ¤«ï ƒˆ” ä ¨« 
  2174. rb 10
  2175.  
  2176. canvas:
  2177. xs dd 512
  2178. ys dd 512
  2179.    rb 512*512*3
  2180.  
  2181. gif_hash_area:
  2182. rd 4096+1
  2183.  
  2184. coords:
  2185. rd 2
  2186.  
  2187. Image:
  2188.