24 game: Difference between revisions
Content added Content deleted
No edit summary |
(added RPL) |
||
Line 10,256: | Line 10,256: | ||
sorry, you used the illegal digit 9 |
sorry, you used the illegal digit 9 |
||
</pre> |
</pre> |
||
=={{header|RPL}}== |
|||
{{works with|HP|49/50}} |
|||
« '''IF''' DUP TYPE 9. ≠ '''THEN''' { } + |
|||
'''ELSE''' |
|||
'''CASE''' |
|||
OBJ→ SWAP 2. ≠ '''THEN''' DROP 0 '''END''' |
|||
"+-*/" SWAP →STR POS NOT '''THEN''' DROP 0 '''END''' |
|||
'''END''' |
|||
<span style="color:blue">GET4</span> SWAP <span style="color:blue">GET4</span> + |
|||
'''END''' |
|||
» '<span style="color:blue">GET4</span>' STO <span style="color:grey">@ ''( 'expression' → { numbers} )''</span> |
|||
« 1 CF |
|||
« RAND 9 * CEIL R→I » 'x' 1 4 1 SEQ SORT <span style="color:grey">@ generate 4 numbers</span> |
|||
'''WHILE''' 1 FC? '''REPEAT''' |
|||
"Make 24 with" OVER →STR 2 OVER SIZE 2 - SUB + |
|||
{ "'" ALG V } INPUT <span style="color:grey">@ asks for an evaluable string</span> |
|||
CLLCD DUP TAIL 1 DISP |
|||
STR→ DUP <span style="color:blue">GET4</span> |
|||
'''CASE''' DUP 0 POS '''THEN''' DROP2 "Forbidden operator" '''END''' |
|||
SORT 3 PICK '''THEN''' DROP "Bad number" '''END''' |
|||
EVAL DUP →NUM 3 DISP 24 == '''THEN''' 1 SF "You won!" '''END''' |
|||
"Failed to get 24" |
|||
'''END''' |
|||
2 DISP 2 WAIT |
|||
'''END''' DROP |
|||
» '<span style="color:blue">GAM24</span>' STO |
|||
=={{header|Ruby}}== |
=={{header|Ruby}}== |