tasks a-s
This commit is contained in:
parent
47bf37c096
commit
b83f433714
12433 changed files with 156208 additions and 123 deletions
20
Task/Rock-paper-scissors/PicoLisp/rock-paper-scissors.l
Normal file
20
Task/Rock-paper-scissors/PicoLisp/rock-paper-scissors.l
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
(use (C Mine Your)
|
||||
(let (Rock 0 Paper 0 Scissors 0)
|
||||
(loop
|
||||
(setq Mine
|
||||
(let N (if (gt0 (+ Rock Paper Scissors)) (rand 1 @) 0)
|
||||
(seek
|
||||
'((L) (le0 (dec 'N (caar L))))
|
||||
'(Rock Paper Scissors .) ) ) )
|
||||
(prin "Enter R, P or S to play, or Q to quit: ")
|
||||
(loop
|
||||
(and (= "Q" (prinl (setq C (uppc (key))))) (bye))
|
||||
(T (setq Your (find '((S) (pre? C S)) '(Rock Paper Scissors))))
|
||||
(prinl "Bad input - try again") )
|
||||
(prinl
|
||||
"I say " (cadr Mine) ", You say " Your ": "
|
||||
(cond
|
||||
((== Your (cadr Mine)) "Draw")
|
||||
((== Your (car Mine)) "I win")
|
||||
(T "You win") ) )
|
||||
(inc Your) ) ) )
|
||||
Loading…
Add table
Add a link
Reference in a new issue