factor/demos/numbers-game.factor

30 lines
766 B
Factor
Raw Permalink Normal View History

IN: numbers-game
2006-04-23 17:29:42 -04:00
USING: kernel math parser io ;
2005-09-14 00:37:50 -04:00
: read-number ( -- n ) readln string>number ;
: guess-banner
"I'm thinking of a number between 0 and 100." print ;
: guess-prompt "Enter your guess: " write ;
: too-high "Too high" print ;
: too-low "Too low" print ;
: correct "Correct - you win!" print ;
: inexact-guess ( actual guess -- )
2005-09-24 15:21:17 -04:00
< [ too-high ] [ too-low ] if ;
: judge-guess ( actual guess -- ? )
2005-09-24 15:21:17 -04:00
2dup = [ 2drop correct f ] [ inexact-guess t ] if ;
2005-10-08 01:15:14 -04:00
: number-to-guess ( -- n ) 100 random-int ;
: numbers-game-loop ( actual -- )
2005-07-22 23:39:28 -04:00
dup guess-prompt read-number judge-guess
2005-09-24 15:21:17 -04:00
[ numbers-game-loop ] [ drop ] if ;
: numbers-game number-to-guess numbers-game-loop ;
2006-09-06 17:19:41 -04:00
2006-11-28 21:57:29 -05:00
PROVIDE: demos/numbers-game ;
2006-11-28 21:57:29 -05:00
MAIN: demos/numbers-game numbers-game ;