( F O O T E R ) var footer-y 0 footer-y ! : draw-footer footer-y @ split-screen ; 0 const BLACK 1 const BLUE 2 const GREEN 3 const CYAN 4 const RED 5 const MAGENTA 6 const BROWN 7 const LGRAY 8 const DGRAY 9 const LBLUE 10 const LGREEN 11 const LCYAN 12 const PINK 13 const LMAGENTA 14 const YELLOW 15 const WHITE var text-color WHITE text-color ! : textxy ( s x y ) rot drop drop else drop break then more ; : canchooseleft ichoose @ 0 > ; : canchooseright ichoose @ cchoose @ 1 - < ; : displaychoice clear canchooseleft if s" <" 6 20 textxy then canchooseright if s" >" 38 20 textxy then getchoice drop slowtext ; : navchoice ( -- done ) 0 begin suspend ^LEFT key-pressed canchooseleft and if drop 1 -1 ichoose +! then ^RIGHT key-pressed canchooseright and if drop 1 1 ichoose +! then ^ENTER key-pressed if drop 2 then dup until 1 - ; : choose ( gen -- ) ' choosegen redefine countchoosegen 0 ichoose ! textleftchoice clear show-footer begin displaychoice navchoice until getchoice swap drop execute ; : character ( iportrait color ) create , , does> dup @ text-color ! cell + @ draw-portrait ; 0 GREEN character pete userword 1 MAGENTA character mary userword 2 BROWN character chuck userword 3 YELLOW character jeanne userword 4 LGRAY character phone userword : noone WHITE text-color ! s" " dup dup dup 8 portraity 16 portraity 24 portraity 32 portraity ; userword