24-game: fixing game to use formatting vocab
							parent
							
								
									6a76bf9084
								
							
						
					
					
						commit
						eeaffb14b8
					
				| 
						 | 
				
			
			@ -1,8 +1,7 @@
 | 
			
		|||
! Copyright © 2008 Reginald Keith Ford II
 | 
			
		||||
! 24, the Factor game!
 | 
			
		||||
USING: accessors backtrack combinators continuations io kernel
 | 
			
		||||
math math.parser prettyprint quotations random sequences shuffle
 | 
			
		||||
;
 | 
			
		||||
USING: accessors backtrack combinators continuations formatting io
 | 
			
		||||
kernel math prettyprint quotations random sequences shuffle ;
 | 
			
		||||
IN: 24-game
 | 
			
		||||
 | 
			
		||||
: nop ( -- ) ;
 | 
			
		||||
| 
						 | 
				
			
			@ -43,9 +42,9 @@ CONSTANT: (operators) { + - * / rot swap q }
 | 
			
		|||
    [ name>> = ] with find nip ;
 | 
			
		||||
 | 
			
		||||
: get-operator ( operators -- word )
 | 
			
		||||
    "Operators: " write dup pprint nl flush
 | 
			
		||||
    dup "Operators: %u\n" printf flush
 | 
			
		||||
    readln over find-operator dup
 | 
			
		||||
    [ "Command not found..." print get-operator ] unless nip ;
 | 
			
		||||
    [ "Operator not found..." print get-operator ] unless nip ;
 | 
			
		||||
 | 
			
		||||
: try-operator ( array -- array )
 | 
			
		||||
    [ pprint nl ]
 | 
			
		||||
| 
						 | 
				
			
			@ -53,10 +52,10 @@ CONSTANT: (operators) { + - * / rot swap q }
 | 
			
		|||
    bi ;
 | 
			
		||||
 | 
			
		||||
: end-game ( array -- )
 | 
			
		||||
    dup { 24 } = [
 | 
			
		||||
    first dup 24 = [
 | 
			
		||||
        drop "You WON!"
 | 
			
		||||
    ] [
 | 
			
		||||
        first number>string " is not 24... You lose." append
 | 
			
		||||
        "%d is not 24... You lose." sprintf
 | 
			
		||||
    ] if print ;
 | 
			
		||||
 | 
			
		||||
: quit-game ( array -- )
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue