%%HP: T(3)A(R)F(.);
DIR
  DBS
    \<< -33 CF 
DRG PICT RCL DUP 
{ # 0d # 0d } PVIEW 
BUFLEN DROP DUP
      IF
      THEN SRECV
DROP DROP
      ELSE DROP
      END
      DO 1 SRECV
        IF
        THEN "Z" ==
          IF
          THEN 50
SRECV DROP "X" XMIT
DROP 1
          ELSE 0
          END
        ELSE DROP 0
        END
      UNTIL
      END 0 9
      FOR Y DUP Y 5
* 1 + DUP 4 + SUB
OBJ\-> 1 10
        FOR X DUP
# 1d 1 X
          FOR Z SL
          NEXT SR
AND B\->R
          IF
          THEN \-> p
g
            \<< X 5 *
4 - R\->B Y 5 * 1 +
R\->B 2 \->LIST BLCAS
REPL p g
            \>>
          END
        NEXT DROP
      NEXT DROP
PICT STO
      DO
        DO 2 SRECV
          IF
          THEN 1
          ELSE DROP
0
          END
        UNTIL
        END OBJ\->
DUP 10 MOD 5 * 1 +
R\->B SWAP 10 / 0
TRNC 5 * 1 + R\->B 2
\->LIST PICT SWAP
CROIX REPL PICT RCL
1 WAIT SWAP CU \-> gx
gy
        \<< gy 1 -
\->STR gx 1 - \->STR +
"X" XMIT DROP XMIT
DROP
          DO 1
SRECV
            IF
            THEN 1
            ELSE
DROP 0
            END
          UNTIL
          END \-> res
          \<<
            CASE
res "r" ==
              THEN
0 SWAP "Rat\233 !"
SWAP ROND
              END
res "t" ==
              THEN
0 SWAP "Touch\233 !"
SWAP CROIX
              END
res "c" ==
              THEN
0 SWAP "Coul\233 !"
SWAP CROIX
              END
res "g" == res "p"
== OR
              THEN
1 SWAP res "g" ==
IF
THEN "Gagn\233 !"
ELSE "Perdu !"
END SWAP CROIX
              END
            END
          \>> gx 5 *
4 - R\->B gy 5 * 4 -
R\->B 2 \->LIST SWAP
REPL DUP PICT STO
        \>> SWAP
MSGBOX SWAP \-> f
        \<< SWAP PICT
STO f
        \>>
      UNTIL
      END DROP
    \>>
  CU
    \<< DUP { # 1d
# 1d } BLCAS GXOR
PICT STO 1 1
      DO 0 WAIT \->
ox oy k
        \<< ox oy
          CASE k
34.1 ==
            THEN
SWAP DUP 1 >
              IF
              THEN
1 -
              END
SWAP ox oy 0
            END k
36.1 ==
            THEN
SWAP DUP 10 <
              IF
              THEN
1 +
              END
SWAP ox oy 0
            END k
25.1 ==
            THEN
DUP 1 >
              IF
              THEN
1 -
              END
ox oy 0
            END k
35.1 ==
            THEN
DUP 10 <
              IF
              THEN
1 +
              END
ox oy 0
            END k
51.1 ==
            THEN 1
            END
          END
        \>>
        IF
        THEN 1
        ELSE \-> xg
yg ox oy
          \<< PICT ox
5 * 4 - R\->B oy 5 *
4 - R\->B 2 \->LIST
BLCAS GXOR PICT xg
5 * 4 - R\->B yg 5 *
4 - R\->B 2 \->LIST
BLCAS GXOR xg yg
          \>> 0
        END
      UNTIL
      END
    \>>
  ROND
GROB 4 4 60909060
  CROIX
GROB 4 4 10204080
  DRG
    \<< { # 0d # 0d }
{ # 130d # 63d }
PDIM 1 11
      FOR X # 0d X
5 * 5 - R\->B 2 \->LIST
# 50d X 5 * 5 - R\->B
2 \->LIST LINE
      NEXT 1 11
      FOR X X 5 * 5
- R\->B # 0d 2 \->LIST
X 5 * 5 - R\->B # 50d
2 \->LIST LINE
      NEXT
    \>>
  BLCAS
GROB 4 4 F0F0F0F0
END
