;z80
;assembler
;zx-spectrum

DUM     LD      B,1
        HALT 
        DJNZ    $-1
        LD      HL,MANBUFF
        PUSH    HL
        POP     IX
        LD      DE,MANBUFF+1
        LD      BC,119
        LD      (HL),B
        LDIR 
        LD      HL,0
        LD      (HAWYEP2+1),HL
        LD      HL,BUF_I     ;adres polq
        XOR     A
        EX      AF,AF'
        LD      C,10
POLICE1 LD      B,10
POLICE2 BIT     7,(HL)
        CALL    NZ,COMPUT
        INC     HL
        DJNZ    POLICE2
        DEC     C
        JR      NZ,POLICE1
        EX      AF,AF'
        OR      A
        JR      NZ,POL          ;q pogib !
HAWYEP1 LD      DE,0
HAWYEP2 LD      HL,0
        LD      A,H
        OR      L
        JR      NZ,NTYET
        POP     AF
        JP      FLG_W

NTYET   JP      EATIT

POL     LD      B,A
        LD      HL,MANBUFF+2   ;estx kogo hawatx ?
        LD      C,0
        PUSH    BC
WHIGO   LD      A,(HL)
        AND     %00001111
        JR      Z,NTEAT
        INC     C
        LD      E,L
        LD      D,H
NTEAT   INC     HL
        INC     HL
        INC     HL
        DJNZ    WHIGO
        OR      C
        POP     BC
        LD      C,B
        EX      DE,HL
        JR      Z,NOEAT
        LD      A,(HL)
        RRCA 
        RRCA 
        RRCA 
        RRCA 
        CALL    LOOKFRE
        LD      A,(DE)
        CALL    LOOKIT
EATIT   LD      A,18
        JR      NC,NTEXC
        EX      DE,HL
        SET     6,(HL)
        JR      NZ,NTXEC
        SET     5,(HL)
        LD      (DE),A
        RET 
NTEXC   JR      NZ,NTXEC
        LD      (HL),A
        LD      (DE),A
        LD      HL,FIGHT
        LD      DE,FIGHT1+3
        LD      BC,32
        LDIR 
        LD      HL,FIGHT1
        JP      PRINT
NTXEC   JR      C,NTXCE
        SET     5,(HL)

NTXCE   LD      A,(HL)
        CP      18
        JR      Z,NTXCE1
        LD      A,(DE)
        CP      18
        JR      Z,NTXCE1
        LD      A,(HL)
        BIT     7,A
        JR      Z,MOE
        LD      B,A
        LD      A,(DE)
        CALL    S_WRAG
        JR      NTXCE1
MOE     LD      A,(DE)
        LD      B,A
        LD      A,(HL)
        CALL    S_YA
NTXCE1  LD      A,(HL)
        LD      (DE),A
        LD      (HL),18


        RET 
NOEAT   LD      A,R            ;kuda teperx podatxsq ?
        RRCA 
        LD      R,A
        AND     63
NTMYNMB SUB     C
        JR      NC,NTMYNMB
        ADD     A,C
        LD      C,A
        ADD     A,A
        ADD     A,C
        LD      C,A
        LD      B,0
        LD      HL,MANBUFF+2
        ADD     HL,BC
        LD      A,(HL)
        CALL    LOOKFRE
        JR      NTXCE


LOOKFRE AND     %11110000
        LD      C,A
        DEC     HL
        LD      D,(HL)
        DEC     HL
        LD      E,(HL)
        PUSH    DE
        POP     HL
        LD      A,C
        RRCA 
        RRCA 
        RRCA 
        RRCA 
        LD      C,A

        LD      A,R
        RRCA 
        LD      R,A

        OR      1
        LD      B,4
SHTCKL  SRL     C
        JR      NC,NTITS
        JR      Z,ILTKT
        RRA 
        JR      C,ILTKT
NTITS   DJNZ    SHTCKL
        INC     B
ILTKT   LD      C,B
        LD      B,0
        PUSH    HL
        LD      HL,SHTABL-1
        ADD     HL,BC
        LD      C,(HL)
        BIT     7,C
        JR      Z,NTSUB
        DEC     B
NTSUB   POP     HL
        ADD     HL,BC
        EX      DE,HL
        RET 

SHTABL  DEFB    0-10
        DEFB    1
        DEFB    0-1
SHLBAT  DEFB    10

COMPUT  LD      DE,0
        LD      A,(HL)
        AND     31
        CP      11
        RET     NC

        PUSH    HL
;       LD      A,C
;       CP      10
;       JR      Z,NTDOWN
        PUSH    BC
        LD      BC,0-10
        ADD     HL,BC
        POP     BC
NTDOWN  CALL    ATTACK
        POP     HL

        PUSH    HL
        LD      A,B
        DEC     A
        JR      Z,NTRGT
        INC     HL
NTRGT   CALL    ATTACK
        POP     HL

        PUSH    HL
        LD      A,B
        CP      10
        JR      Z,NTLFT
        DEC     HL
NTLFT   CALL    ATTACK
        POP     HL

        PUSH    HL
        LD      A,C
        DEC     A
        JR      Z,NTUP
        PUSH    BC
        LD      BC,10
        ADD     HL,BC
        POP     BC
NTUP    CALL    ATTACK
        POP     HL

        LD      A,D
        RRCA 
        RRCA 
        RRCA 
        RRCA 
        ADD     A,E
        RET     Z
        EX      AF,AF'
        INC     A
        EX      AF,AF'
        LD      (IX+0),L
        LD      (IX+1),H
        LD      (IX+2),A
        LD      DE,3
        ADD     IX,DE
        RET 

LOOKIT  AND     31              ;   - komp produl
        CP      1               ; Z - boewaq ni~xq
        JR      Z,MARSHAL       ;C  - komp wyigral
        CP      11              ;CZ - mina hotel sapera obmanutx
        JR      NZ,NOMNMR       ;        n e w i  l o  ! ! ! !
        LD      A,(HL)
        AND     127
        CP      8
        JR      Z,MINE
        XOR      A
        SCF 
        RET 
MINE    XOR     A
        INC     A
        RET 

MARSHAL LD      A,(HL)
        AND     31
        DEC     A
        RET     Z
        CP      9
        JR      Z,MINE
NOMNMR  OR      128
        CP      (HL)
        RET 

ATTACK  BIT     6,(HL)
        JR      Z,INOTSE
        LD      (FREEZ1+1),DE
        LD      (FREEZ2+1),BC
        POP     BC
        POP     DE
        EX      DE,HL
        LD      A,(DE)
        CALL    LOOKIT
        JR      C,MBMOVE
        POP     BC
        JP      EATIT
MBMOVE  LD      (HAWYEP1+1),HL
        LD      (HAWYEP2+1),DE
        PUSH    HL
        PUSH    BC
FREEZ1  LD      DE,0
FREEZ2  LD      BC,0
        AND     A
        RL      D
        AND     A
        RL      E
        RET 
INOTSE  LD      A,(HL)
        AND     191
        CP      12      ;~uvoj flag rqdom ! nado vratx
        JR      Z,HAWCHIK
        CP      18
        SCF 
        JR      Z,NTPLCE
        AND     A
NTPLCE  RL      D
        DEC     A
        CP      11
        RL      E
        RET 
HAWCHIK POP     AF
        POP     DE
        POP     AF
        POP     AF
        LD      A,(DE)
        LD      (HL),A
        EX      DE,HL
        LD      (HL),18
        POP     HL
        JP      GAM_O