parade/src/paradise.modal

214 lines
5.0 KiB
Plaintext
Raw Normal View History

2024-05-13 04:31:13 +01:00
?(?-) (Utils)
2024-05-18 16:10:07 +01:00
<> (print ?x) (?(?: ?:) ?x)
2024-05-13 03:52:35 +01:00
2024-05-13 04:31:13 +01:00
?(?-) (Sight)
2024-05-20 05:04:06 +01:00
<> (print-sentence (?q ?r)) (?(?: ?:) ?q\s print-sentence ?r)
<> (print-sentence ()) (?(?: ?:) \n)
2024-05-19 18:26:58 +01:00
<> (print-list ?a ((:?x ?X) ((:?y ?Y) ((:?z ?Z) ?r)))) (print (You ?a a ?x, a ?y and a ?z.\n))
<> (print-list ?a ((:?x ?X) ((:?y ?Y) ()))) (print (You ?a a ?x and a ?y.\n))
<> (print-list ?a ((:?x ?X) ())) (print (You ?a a ?x.\n))
2024-05-19 18:43:46 +01:00
<> (print-list ?a ()) ()
2024-05-20 05:04:06 +01:00
<> print-prompt (?(?: ?:) (\n|\s))
2024-05-19 18:43:46 +01:00
2024-05-18 17:03:17 +01:00
<> (:?p ((sight > $ :?V ?C) ?r)) (
2024-05-18 17:35:58 +01:00
print (\nYou are a ?V in a ?p.\n)
2024-05-19 18:26:58 +01:00
print-list see ?r
print-list carry ?C
2024-05-20 05:04:06 +01:00
print-note
:?p print-prompt ((> $ :?V ?C) ?r)
2024-05-18 17:03:17 +01:00
)
2024-05-13 04:31:13 +01:00
2024-05-13 04:03:41 +01:00
?(?-) (Cleanup articles)
2024-05-20 05:04:06 +01:00
<> ((note ?q) remove-articles parse) ((note ?q) parse-special)
2024-05-20 00:12:32 +01:00
<> ((?x ?r) remove-articles) (clean ?r (?x ()))
<> (clean (the ?r) ?q) (clean ?r ?q)
<> (clean (a ?r) ?q) (clean ?r ?q)
<> (clean (an ?r) ?q) (clean ?r ?q)
<> (clean (?w ?r) ?q) (clean ?r (?w ?q))
<> (clean () ?q) (flip () ?q)
<> (flip ?q (?w ?r)) (flip (?w ?q) ?r)
<> (flip ?q ()) ?q
?(?-) (Join words)
<> ((?v (?a (?b ()))) parse) ((?v (?a\s?b ())) parse)
<> ((?v (?a (?b (in ?r)))) parse) ((?v (?a\s?b (in ?r))) parse)
2024-05-20 00:16:56 +01:00
<> ((?v (?a (in (?b (?c ()))))) parse) ((?v (?a (in (?b\s?c ())))) parse)
2024-05-13 04:03:41 +01:00
2024-05-17 18:56:15 +01:00
?(?-) (Physics)
2024-05-18 23:08:02 +01:00
<> ((-> ?q :?q ?c)) ((<- ?q :?q ?c))
<> ((-> ?q :?V ?C) ((:?v ?c) ?r)) ((:?V ?C) ((-> ?q :?v ?c) ?r))
<> ((-> ?q :?V ?C) ()) ((<- ?q :?V ?C) ())
2024-05-19 19:07:19 +01:00
<> ((:?V ?C) ((<- ?q :?q ?c) ?r)) ((<- ?q :?q ?c) ((:?V ?C) ?r))
2024-05-18 23:08:02 +01:00
<> ((:?V ?C) ((<- ?q :?v ?c) ?r)) ((<- ?q :?v ?c) ((:?V ?C) ?r))
2024-05-17 18:56:15 +01:00
2024-05-19 18:00:03 +01:00
?(?-) (Create)
2024-05-13 03:52:35 +01:00
2024-05-18 17:44:18 +01:00
<> (((create (?q ())) parse sight > $ :?V ?C) ?r) (
print (You created a ?q.\n)
(sight > $ :?V ?C) ((:?q ()) ?r)
)
2024-05-16 17:57:53 +01:00
2024-05-18 16:59:23 +01:00
?(?-) (Become)
2024-05-18 21:43:52 +01:00
<> (((become (?q ())) parse sight > $ :?V ?C) ()) (
print (You don't see any vessels.\n)
(sight > $ :?V ?C) ()
)
<> (((become (?q ())) parse sight > $ :?V ?C) ((:?v ?c) ?r)) (
2024-05-18 23:08:02 +01:00
((become ?q) wait :?V ?C) ((-> ?q :?v ?c) ?r)
2024-05-18 21:43:52 +01:00
)
2024-05-18 23:08:02 +01:00
<> (((become ?v) wait :?V ?C) ((<- ?v :?v ?c) ?r)) (
2024-05-19 18:26:58 +01:00
print (You became the ?v.\n)
2024-05-18 21:58:27 +01:00
(sight > $ :?v ?c) ((:?V ?C) ?r)
2024-05-18 16:59:23 +01:00
)
2024-05-18 23:08:02 +01:00
<> (((become ?q) wait :?V ?C) ((<- ?q :?v ?c) ?r)) (
2024-05-18 16:59:23 +01:00
print (You don't see a ?q.\n)
2024-05-18 21:58:27 +01:00
(sight > $ :?V ?C) ((:?v ?c) ?r)
2024-05-18 16:59:23 +01:00
)
2024-05-18 16:10:07 +01:00
?(?-) (Enter)
2024-05-16 17:57:53 +01:00
2024-05-18 22:05:54 +01:00
<> (((enter (?q ())) parse sight > $ :?V ?C) ()) (
print (You don't see any vessels.\n)
(sight > $ :?V ?C) ()
2024-05-18 16:10:07 +01:00
)
2024-05-18 16:49:42 +01:00
2024-05-18 22:05:54 +01:00
<> (((enter (?q ())) parse sight > $ :?V ?C) ((:?v ?c) ?r)) (
2024-05-18 23:08:02 +01:00
((enter ?q) wait :?V ?C) ((-> ?q :?v ?c) ?r)
2024-05-18 16:49:42 +01:00
)
2024-05-18 23:08:02 +01:00
<> (((enter ?v) wait :?V ?C) ((<- ?v :?v ?c) ?r)) (
2024-05-19 23:27:21 +01:00
print (You entered the ?v.\n)
2024-05-18 23:08:02 +01:00
((:?v ((sight > $ :?V ?C) ?c)) ?r)
2024-05-18 22:05:54 +01:00
)
2024-05-18 23:08:02 +01:00
<> (((enter ?q) wait :?V ?C) ((<- ?q :?v ?c) ?r)) (
2024-05-18 22:05:54 +01:00
print (You don't see a ?q.\n)
(sight > $ :?V ?C) ((:?v ?c) ?r)
2024-05-18 16:10:07 +01:00
)
?(?-) (Leave)
<> (((:?p (((leave ()) parse sight > $ :?V ?C) ?r)) ?a)) (
print (You left the ?p.\n)
(sight > $ :?V ?C) ((:?p ?r) ?a)
)
<> ((leave ?q) parse) (
print (You cannot leave.\n)
)
2024-05-16 17:57:53 +01:00
2024-05-17 19:37:43 +01:00
?(?-) (Take)
2024-05-18 22:12:15 +01:00
<> (((take (?q ())) parse sight > $ :?V ?C) ()) (
print (You don't see any vessels.\n)
(sight > $ :?V ?C) ()
2024-05-18 16:10:07 +01:00
)
2024-05-17 18:56:15 +01:00
2024-05-18 22:12:15 +01:00
<> (((take (?q ())) parse sight > $ :?V ?C) ((:?v ?c) ?r)) (
2024-05-18 23:08:02 +01:00
((take ?q) wait :?V ?C) ((-> ?q :?v ?c) ?r)
2024-05-18 16:10:07 +01:00
)
2024-05-17 19:37:43 +01:00
2024-05-18 23:08:02 +01:00
<> (((take ?v) wait :?V ?C) ((<- ?v :?v ?c) ?r)) (
2024-05-19 23:27:21 +01:00
print (You took the ?v.\n)
2024-05-18 23:08:02 +01:00
(sight > $ :?V ((:?v ?c) ?C)) ?r
2024-05-18 22:12:15 +01:00
)
2024-05-18 23:08:02 +01:00
<> (((take ?q) wait :?V ?C) ((<- ?q :?v ?c) ?r)) (
2024-05-18 22:12:15 +01:00
print (You don't see a ?q.\n)
(sight > $ :?V ?C) ((:?v ?c) ?r)
2024-05-18 16:10:07 +01:00
)
2024-05-17 18:56:15 +01:00
2024-05-17 19:37:43 +01:00
?(?-) (Drop)
2024-05-16 17:57:53 +01:00
<> (((drop (?q ())) parse sight > $ :?V ())) (
print (You don't carry any vessels.\n)
(sight > $ :?V ())
)
<> (((drop (?q ())) parse sight > $ :?V ((:?v ?c) ?C))) (
2024-05-19 00:01:54 +01:00
((drop ?q) wait :?V ((-> ?q :?v ?c) ?C))
)
2024-05-19 00:01:54 +01:00
<> (((drop ?v) wait :?V ((<- ?v :?v ?c) ?C)) ?r) (
2024-05-19 23:27:21 +01:00
print (You dropped the ?v.\n)
2024-05-18 23:08:02 +01:00
(sight > $ :?V ?C) ((:?v ?c) ?r)
2024-05-18 18:26:41 +01:00
)
2024-05-19 00:01:54 +01:00
<> (((drop ?q) wait :?V ((<- ?q :?v ?c) ?C)) ?r) (
2024-05-18 21:15:03 +01:00
print (You don't carry a ?q.\n)
(sight > $ :?V ((:?v ?c) ?C)) ?r
2024-05-18 18:26:41 +01:00
)
2024-05-17 02:31:37 +01:00
2024-05-19 18:43:46 +01:00
?(?-) (Move)
2024-05-19 19:44:37 +01:00
<> (((move ?a ?b) wait :?V ?C) ((<- ?a :?a ?c) ((:?b ?d) ?r))) (
print (You moved the ?a in the ?b.\n)
(sight > $ :?V ?C) ((:?b ((:?a ?c) ?d)) ?r)
)
2024-05-19 20:30:38 +01:00
<> (((move ?a ?b) wait :?V ?C) ((<- ?b :?b ?c) ?r)) (
((move ?a ?b) wait :?V ?C) ((-> ?a :?b ?c) ?r)
)
2024-05-19 19:59:46 +01:00
<> (((move ?a ?b) wait :?V ?C) ((<- ?b :?B ?c) ?r)) (
print (You don't see a ?b.\n)
(sight > $ :?V ?C) ((:?B ?c) ?r)
)
<> (((move ?a ?b) wait :?V ?C) ((<- ?a :?B ?c) ?r)) (
print (You don't see a ?a.\n)
(sight > $ :?V ?C) ((:?B ?c) ?r)
)
2024-05-20 00:12:32 +01:00
<> (((move (?a (in (?b ())))) parse sight > $ :?V ?C) ((:?v ?c) ?r)) (
2024-05-19 19:44:37 +01:00
((move ?a ?b) wait :?V ?C) ((-> ?b :?v ?c) ?r)
2024-05-19 19:07:19 +01:00
)
2024-05-18 17:03:17 +01:00
?(?-) (Transform)
2024-05-18 16:10:07 +01:00
<> ((transform (?q ())) parse sight > $ :?V) (
print (You transformed into a ?q.\n)
2024-05-18 17:44:18 +01:00
sight > $ :?q
)
2024-05-16 17:57:53 +01:00
2024-05-19 18:00:03 +01:00
?(?-) (Note)
2024-05-18 17:03:17 +01:00
2024-05-20 05:04:06 +01:00
<> (:?p (((note ?n) parse-special sight > $ :?V ?C) ?r)) (
>< (print-note :?p)
>< (print-note)
<> (print-note :?p) (print-sentence ?n :?p)
<> (print-note) ()
:?p ((sight > $ :?V ?C) ?r)
)
2024-05-13 03:52:35 +01:00
2024-05-18 17:03:17 +01:00
<> ((quit ?q) parse sight > $) (
?(?: ?:) (You fell asleep.\n)
)
2024-05-17 02:57:06 +01:00
2024-05-11 04:51:00 +01:00
?(?-) (Input loop)
2024-05-19 18:00:03 +01:00
<> (() parse) ()
<> ((?x ?q) parse) (print (Unknown action: ?x \n))
2024-05-11 04:51:00 +01:00
<> (() input) ()
2024-05-19 18:00:03 +01:00
<> (?x input) (
?(?: ?:) \n
2024-05-20 00:12:32 +01:00
?(?* ((?*))) ?x remove-articles parse
2024-05-19 18:00:03 +01:00
)
<> (?~ $ :?V) (
(?~) input sight > $ :?V
)
2024-05-11 04:51:00 +01:00
2024-05-19 18:00:03 +01:00
(:library ((sight > $ :ghost ()) ((:haunted\shouse ((:teapot ((:moth ()) ())) ())) ())))