Advertisement
Guest User

Untitled

a guest
May 26th, 2017
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. proc check_state
  2. ;ПОСЛЕ ХОДА ИДЁТ ПРОВЕРКА
  3. ;ГОЛОВА 1-ОЙ ЧТО-ТО ТАРАНИТ
  4.     mov si, self_len_snake
  5.     dec si
  6.     mov ah, self_snake_x[si]
  7.     mov al, self_snake_y[si]
  8. ;свое тело
  9.     dec si
  10. @@cycle1:
  11.     mov bh, self_snake_x[si]
  12.     mov bl, self_snake_y[si]
  13.     cmp ax, bx
  14.     je @@lose_1
  15.     dec si
  16.     cmp si, 0
  17.     jge @@cycle1
  18. ;вражескую голову
  19.     mov si, other_len_snake
  20.     dec si
  21.     mov bh, other_snake_x[si]
  22.     mov bl, other_snake_y[si]
  23.     cmp ax, bx
  24.     je @@draw
  25. ;вражеское тело
  26.     dec si
  27. @@cycle2:
  28.     mov bh, other_snake_x[si]
  29.     mov bl, other_snake_y[si]
  30.     cmp ax, bx
  31.     je @@win_1
  32.     dec si
  33.     cmp si, 0
  34.     jge @@cycle2
  35.     jmp @@2
  36. @@lose_1:
  37.     push si
  38.     call player_eat_itself
  39.     jmp @@2
  40. @@draw:
  41.     mov flag_was_crash, 1
  42.     jmp @@check
  43. @@win_1:
  44.     mov flag_was_crash, 1
  45.     inc result
  46.     jmp @@2
  47. ;ГОЛОВА 2-ОЙ ЧТО-ТО ТАРАНИТ
  48. @@2:
  49.     mov si, other_len_snake
  50.     dec si
  51.     mov ah, other_snake_x[si]
  52.     mov al, other_snake_y[si]
  53. ;свое тело
  54.     dec si
  55. @@cycle3:
  56.     mov bh, other_snake_x[si]
  57.     mov bl, other_snake_y[si]
  58.     cmp ax, bx
  59.     je @@lose_2
  60.     dec si
  61.     cmp si, 0
  62.     jge @@cycle3
  63. ;вражеское тело
  64.     mov si, self_len_snake
  65.     dec si
  66.     dec si
  67. @@cycle4:
  68.     mov bh, self_snake_x[si]
  69.     mov bl, self_snake_y[si]
  70.     cmp ax, bx
  71.     je @@win_2
  72.     dec si
  73.     cmp si, 0
  74.     jge @@cycle4
  75.     jmp @@check
  76. @@lose_2:
  77.     mov flag_was_crash, 1
  78.     inc result
  79.     jmp @@check
  80. @@win_2:
  81.     mov flag_was_crash, 1
  82.     dec result
  83.     jmp @@check
  84. @@check:
  85.     cmp flag_was_crash, 0
  86.     jne @@go_out
  87.     ret
  88. @@go_out:
  89.     call sys_exit
  90.     ret
  91. endp
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement