factor/extra/24-game/24-game-docs.factor

66 lines
1.6 KiB
Factor
Raw Normal View History

2014-05-24 20:16:26 -04:00
USING: arrays help.markup help.syntax kernel math ;
2008-08-06 02:07:10 -04:00
IN: 24-game
2012-06-20 03:37:09 -04:00
HELP: 24-game
2008-08-06 02:07:10 -04:00
{ $description "Starts the game!" }
{ $examples
{ $unchecked-example
"USE: 24-game"
2012-06-20 03:37:09 -04:00
"24-game"
2008-08-06 02:07:10 -04:00
"{ 8 2 1 2 }\n"
"Commands: { + - * / rot swap q }\n"
"swap\n"
"{ 8 2 2 1 }\n"
"Commands: { + - * / rot swap q }\n"
"-\n"
"{ 8 2 1 }\n"
"Commands: { + - * / rot swap q }\n"
"+\n"
"{ 8 3 }\n"
"Commands: { + - * / swap q }\n"
"*\n"
"You WON!"
}
} ;
2012-06-20 03:37:09 -04:00
HELP: make-24
{ $values { "array" array } }
2008-08-06 02:07:10 -04:00
{ $description
"Produces a vector with 4 integers. With the following condition: "
"If these integers were directly on the stack, one can process them into 24, "
"just using the provided commands and the 4 numbers. The Following are the "
"provided commands: "
{ $link + } ", " { $link - } ", " { $link * } ", "
2008-08-10 17:45:13 -04:00
{ $link / } ", " { $link swap } ", and " { $link rot } "."
2008-08-06 02:07:10 -04:00
}
{ $examples
{ $example
2008-09-02 20:04:14 -04:00
"USING: 24-game kernel sequences prettyprint ;"
2012-06-20 03:37:09 -04:00
"make-24 length 4 = ."
2008-08-06 02:07:10 -04:00
"t"
}
2012-06-20 03:37:09 -04:00
{ $notes { $link makes-24? } " is used in " { $link makes-24? } "." }
2008-08-06 02:07:10 -04:00
} ;
2012-06-20 03:37:09 -04:00
HELP: makes-24?
2008-08-06 02:07:10 -04:00
{ $values
2012-06-20 03:37:09 -04:00
{ "a" integer }
{ "b" integer }
{ "c" integer }
{ "d" integer }
2014-05-24 20:16:26 -04:00
{ "?" boolean }
2008-08-06 02:07:10 -04:00
}
{ $description
2012-06-20 03:37:09 -04:00
"Tells if it is possible to win 24-game with these integers."
2008-08-06 02:07:10 -04:00
} ;
ARTICLE: "24-game" "The Game of 24"
"A classic math game, where one attempts to create 24, by applying "
"arithmetical operations and some shuffle words to a stack of 4 numbers. "
{ $subsections
2012-06-20 03:37:09 -04:00
24-game
make-24
makes-24?
} ;
2008-08-30 12:38:42 -04:00
ABOUT: "24-game"