Advertisement
Guest User

Untitled

a guest
May 23rd, 2017
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ;ЕСЛИ НАША ЗМЕЙКА ДАЛЕКО ОТ КОМПА, ТО ОН ЕЁ "НЕ ВИДИТ" И ГОНЯЕТ РАНДОМНО, ЕСЛИ МОЖНО НЕ УМИРАЕТ
  2. @@random:
  3.     mov cx, 0
  4. ;ПРАВО
  5.     cmp other_direction, 'l'
  6.     je @@dir2_begin
  7.     ;КООРДИНАТА
  8.     mov ah, other_snake_x[si]
  9.     add ah, 1
  10.     mov al, other_snake_y[si]
  11.     add al, 0
  12.     ;ПРОВЕРКА НА НЕУМИРАНИЕ
  13.     mov si, 0
  14. @@cycle1_begin:
  15.     mov bh, other_snake_x[si]
  16.     mov bl, other_snake_y[si]
  17.     cmp ax, bx
  18.     je @@dir2_begin
  19.     inc si
  20.     cmp si, other_len_snake
  21.     jl @@cycle1_begin
  22.     ;ПРОВЕРКА ПРОШЛА УСПЕШНО
  23.     mov si, cx
  24.     mov possible_directions[si], 'r'
  25.     inc cx
  26. @@dir2_begin:
  27. ;ЛЕВО
  28.     cmp other_direction, 'r'
  29.     je @@dir3_begin
  30.     ;КООРДИНАТА
  31.     mov ah, other_snake_x[si]
  32.     add ah, -1
  33.     mov al, other_snake_y[si]
  34.     add al, 0
  35.     ;ПРОВЕРКА НА НЕУМИРАНИЕ
  36.     mov si, 0
  37. @@cycle2_begin:
  38.     mov bh, other_snake_x[si]
  39.     mov bl, other_snake_y[si]
  40.     cmp ax, bx
  41.     je @@dir3_begin
  42.     inc si
  43.     cmp si, other_len_snake
  44.     jl @@cycle2_begin
  45.     ret
  46.     ;ПРОВЕРКА ПРОШЛА УСПЕШНО
  47.     mov si, cx
  48.     mov possible_directions[si], 'l'
  49.     inc cx
  50. @@dir3_begin:
  51. ;ВВЕРХ
  52.     cmp other_direction, 'd'
  53.     je @@dir4_begin
  54.     ;КООРДИНАТА
  55.     mov ah, other_snake_x[si]
  56.     add ah, 0
  57.     mov al, other_snake_y[si]
  58.     add al, -1
  59.     ;ПРОВЕРКА НА НЕУМИРАНИЕ
  60.     mov si, 0
  61. @@cycle3_begin:
  62.     mov bh, other_snake_x[si]
  63.     mov bl, other_snake_y[si]
  64.     cmp ax, bx
  65.     je @@dir4_begin
  66.     inc si
  67.     cmp si, other_len_snake
  68.     jl @@cycle3_begin
  69.     ;ПРОВЕРКА ПРОШЛА УСПЕШНО
  70.     mov si, cx
  71.     mov possible_directions[si], 'u'
  72.     inc cx
  73. @@dir4_begin:
  74. ;ВНИЗ
  75.     cmp other_direction, 'u'
  76.     je @@after_dir_begin
  77.     ;КООРДИНАТА
  78.     mov ah, other_snake_x[si]
  79.     add ah, 0
  80.     mov al, other_snake_y[si]
  81.     add al, 1
  82.     ;ПРОВЕРКА НА НЕУМИРАНИЕ
  83.     mov si, 0
  84. @@cycle4_begin:
  85.     mov bh, other_snake_x[si]
  86.     mov bl, other_snake_y[si]
  87.     cmp ax, bx
  88.     je @@after_dir_begin
  89.     inc si
  90.     cmp si, other_len_snake
  91.     jl @@cycle4_begin
  92.     ;ПРОВЕРКА ПРОШЛА УСПЕШНО
  93.     mov si, cx
  94.     mov possible_directions[si], 'd'
  95.     inc cx
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement