%%HP: T(3)A(D)F(.);
@ by Hamish McGovern.
DIR
  PLAY
    \<< INIT 0 TIME 11 \-> KN T EM
      \<<
        WHILE 1
        REPEAT "TIME: " TIME T HMS- 1 + \->STR 3 6 SUB + 1 \->GROB PICT
          { # 50h # Ah } ROT REPL
          IF KEY
          THEN 35 - NEG \-> K
            \<<
              IF K ABS DUP 10 == SWAP 1 == OR
              THEN EM 'K' STO+
                IF K 11 \>= K 55 \<= K 10 MOD DUP 6 \=/ SWAP 0 \=/ AND AND AND
                THEN K POS2PT PICT OVER K 11 + POS2PT SUB PICT ROT EMPTY REPL
                  PICT EM POS2PT ROT REPL K 'EM' STO 1 'KN' STO+ "KEYS: " KN
                  \->STR + 1 \->GROB PICT { # 50h # 12h } ROT REPL
                END
              END
            \>>
          END
        END
      \>>
    \>>
  CST { PLAY }
  INIT
    \<< RARR \-> RR
      \<< ERASE { # 0h # 0h } PVIEW { # 9h # 9h } { # 3Dh # 3Dh } BOX 24 1
        FOR N PIECE RR N GET GET PICT N 5 MOD 1 + N 5 / IP 1 + 10 * + POS2PT
          ROT REPL -1
        STEP
      \>> PICT { # Ah # Ah } EMPTY REPL
    \>>
  RARR
    \<< 1 24
      FOR V V
      NEXT 24 \->ARRY 24 1
      FOR B B RAND * 1 + FLOOR \-> Q
        \<< Q OVER SWAP GET SWAP B OVER SWAP GET Q SWAP PUT B ROT PUT
        \>> -1
      STEP
    \>>
  EMPTY
GROB 11 11 FF70FF70FF70FF70FF70FF70FF70FF70FF70FF70FF70
  POS2PT
    \<< DUP 10 MOD 10 * R\->B SWAP 10 / IP 10 * R\->B 2 \->LIST
    \>>
  PIECE {
GROB 11 11 FF70306010401340124012401240174010403060FF70
GROB 11 11 FF70306010401740144017401140174010403060FF70
GROB 11 11 FF70306010401740144017401440174010403060FF70
GROB 11 11 FF70306010401540154017401440144010403060FF70
GROB 11 11 FF70306010401740114017401440174010403060FF70
GROB 11 11 FF70306010401640114017401540174010403060FF70
GROB 11 11 FF70306010401740144012401140114010403060FF70
GROB 11 11 FF70306010401740154017401540174010403060FF70
GROB 11 11 FF70306010401740154017401440174010403060FF70
GROB 11 11 FF7030601040D840945094509450D94010403060FF70
GROB 11 11 FF7030601040DC40984098409840DD5010403060FF70
GROB 11 11 FF7030601040DC5090509C509440DD5010403060FF70
GROB 11 11 FF7030601040DC5090509C509050DD5010403060FF70
GROB 11 11 FF7030601040D45094509C509050D15010403060FF70
GROB 11 11 FF7030601040DC5094409C509050DD5010403060FF70
GROB 11 11 FF7030601040D85094409C509450DD5010403060FF70
GROB 11 11 FF7030601040DC50905098409440D54010403060FF70
GROB 11 11 FF7030601040DC5094509C509450DD5010403060FF70
GROB 11 11 FF7030601040DC5094509C509050DD5010403060FF70
GROB 11 11 FF7030601040D9401550D5505450D94010403060FF70
GROB 11 11 FF7030601040DD401940D9405840DD5010403060FF70
GROB 11 11 FF7030601040DD501150DD505440DD5010403060FF70
GROB 11 11 FF7030601040DD501150DD505050DD5010403060FF70
GROB 11 11 FF7030601040D5501550DD505050D15010403060FF70
}
END
