1
0
mirror of https://github.com/PDP-10/its.git synced 2026-05-07 16:34:35 +00:00

TWDEMO - scripted demonstration of SHRDLU.

This is a program that just replays the dialogue in SHRDLU; DEMO FLICK.
This commit is contained in:
Lars Brinkhoff
2019-08-14 13:19:43 +02:00
parent 55877e4cf9
commit 4ec85d9e9f
4 changed files with 308 additions and 2 deletions

View File

@@ -28,7 +28,7 @@ SRC = syseng sysen1 sysen2 sysen3 sysnet kshack dragon channa \
fonts zork 11logo kmp info aplogo bkph bbn pdp11 chsncp sca music1 \
moon teach ken lmio1 llogo a2deh chsgtv clib sys3 lmio turnip \
mits_s rab stan_k bs cstacy kp dcp2 -pics- victor imlac rjl mb bh \
lars drnil radia gjd maint bolio cent
lars drnil radia gjd maint bolio cent shrdlu
DOC = info _info_ sysdoc sysnet syshst kshack _teco_ emacs emacs1 c kcc \
chprog sail draw wl pc tj6 share _glpr_ _xgpr_ inquir mudman system \
xfont maxout ucode moon acount alan channa fonts games graphs humor \
@@ -37,7 +37,7 @@ DOC = info _info_ sysdoc sysnet syshst kshack _teco_ emacs emacs1 c kcc \
combat pdl minits mits_s chaos hal -pics- imlac maint cent ksc klh
BIN = sys sys1 sys2 emacs _teco_ lisp liblsp alan inquir sail comlap \
c decsys graphs draw datdrw fonts fonts1 fonts2 games macsym \
maint imlac _www_ gt40 llogo bawden sysbin -pics- lmman r
maint imlac _www_ gt40 llogo bawden sysbin -pics- lmman r shrdlu
MINSRC = midas system $(DDT) $(SALV) $(KSFEDR) $(DUMP)
# These are not included on the tape.

BIN
bin/shrdlu/ts.twdemo Normal file

Binary file not shown.

View File

@@ -343,6 +343,7 @@
- TTYLIN, Chaosnet TTYLINK server.
- TTYSWP, swap TTYs.
- TTYTST, echo characters exactly as typed.
- TWDEMO, scripted demonstration of SHRDLU.
- TYPE8, type 8-bit file.
- UFIND, find users.
- ULISP, Lisp in Lisp.

305
src/shrdlu/demo.flick Normal file
View File

@@ -0,0 +1,305 @@
(SETQ ERRLIST '((VALRET ':TWDEMO/ )))
(IOC W)
(SETQ PCONSTANT 1)(SETQ PRANDOM 0)
(SETQ WAIT 100)
(SETQ MECONSTANT 1)(SETQ MERANDOM 0)
(SETQ YOUCONSTANT 1)(SETQ YOURANDOM 3)
(SETQ TEXTSIZE 2)
(DISME)(DISYOU)(DTHRU)
@ PICK UP A BIG RED BLOCK.@
(DISME)(FRAME WAIT)
(MOVETO 100 340 500)
(GRASP (QUOTE :B7))
(MOVETO 600 374 200)
(UNGRASP)
(MOVETO 100 440 300)
(GRASP (QUOTE :B6))
(MOVETO 100 440 1000)
(DTHRU)
@ OK.@
(FRAME WAIT)(DISYOU)(DTHRU)
@GRASP THE PYRAMID.@
(DISME)(FRAME WAIT)(DTHRU)
@ I DON'T UNDERSTAND WHICH PYRAMID
YOU MEAN.@
(FRAME WAIT)(DISYOU)(DTHRU)
@ FIND A BLOCK WHICH IS TALLER THAN THE ONE
YOU ARE HOLDING AND PUT IT INTO THE
BOX.@
(DISME)(FRAME WAIT)(DTHRU))
@BY "IT", I ASSUME YOU MEAN THE BLOCK
WHICH IS TALLER THAN THE ONE I AM
HOLDING.@
(MOVETO 140 600 300) (UNGRASP) (MOVETO 400 7
00 400) (GRASP (QUOTE :B10)) (MOVETO 700 1100
401) (UNGRASP)(DTHRU)
(DISME)(DTHRU)
@ OK.@
(FRAME WAIT)(DISYOU)(DTHRU)
@ WHAT DOES THE BOX CONTAIN?@
(DISME)(FRAME WAIT)(DTHRU)
@ THE BLUE PYRAMID AND THE BLUE BLOCK.@
(FRAME WAIT)(DISYOU)(DTHRU)
@ WHAT IS THE PYRAMID SUPPORTED BY?@
(DISME)(FRAME WAIT)(DTHRU)
@ THE BOX.@
(FRAME WAIT)(DISYOU)(DTHRU)
@ HOW MANY BLOCKS ARE NOT IN THE BOX?@
(DISME)(FRAME WAIT)(DTHRU)
@ FOUR OF THEM.@
(FRAME WAIT)(DISYOU)(DTHRU)
@ IS AT LEAST ONE OF THEM NARROWER THAN
THE ONE WHICH I TOLD YOU TO PICK UP?@
(DISME)(FRAME WAIT)(DTHRU)
@ YES, THE RED CUBE.@
(FRAME WAIT)(DISYOU)(DTHRU)
@ IS IT SUPPORTED?@
(DISME)(FRAME WAIT)(DTHRU)
@ YES, BY THE TABLE.@
(FRAME WAIT)(DISYOU)(DTHRU)
@ CAN THE TABLE PICK UP BLOCKS?@
(DISME)(FRAME WAIT)(DTHRU)
@ NO.@
(FRAME WAIT)(DISYOU)(DTHRU)
@CAN A PYRAMID BE SUPPORTED BY A BLOCK?@
(DISME)(FRAME WAIT)(DTHRU)
@ YES.@
(FRAME WAIT)(DISYOU)(DTHRU)
@CAN A PYRAMID SUPPORT A PYRAMID?@
(DISME)(FRAME WAIT)(DTHRU)
@ I DON'T KNOW.@
(FRAME WAIT)(DISYOU)(DTHRU)
@ STACK UP TWO PYRAMIDS.@
(DISME)(FRAME WAIT)(DTHRU)
@ I CAN'T.@
(FRAME WAIT)(DISYOU)(DTHRU)
@ WILL YOU PLEASE STACK UP BOTH OF THE
RED BLOCKS AND EITHER A GREEN CUBE OR
A PYRAMID?@
(DISME)(FRAME WAIT)
(MOVETO 140 600 300)
(GRASP (QUOTE :B6))
(MOVETO 274 1000 300)
(UNGRASP)
(MOVETO 600 374 200)
(GRASP (QUOTE :B7))
(MOVETO 274 1000 500)
(UNGRASP)
(MOVETO 150 140 200)
(GRASP (QUOTE :B2))
(MOVETO 1000 274 100)
(UNGRASP)
(MOVETO 150 140 100)
(GRASP (QUOTE :B1))
(MOVETO 274 1000 600)
(UNGRASP)
(DTHRU)
@ OK.@
(FRAME WAIT)(DISYOU)(DTHRU)
@ WHICH CUBE IS SITTING ON THE TABLE?@
(DISME)(FRAME WAIT)(DTHRU)
@ THE LARGE GREEN ONE WHICH SUPPORTS
THE RED PYRAMID.@
(FRAME WAIT)(DISYOU)(DTHRU)
@ IS THERE A LARGE BLOCK BEHIND A
PYRAMID?@
(DISME)(FRAME WAIT)(DTHRU)
@ YES, THREE OF THEM: A LARGE RED
ONE, A LARGE GREEN CUBE, AND THE
BLUE ONE.@
(FRAME WAIT)(DISYOU)(DTHRU)
@ PUT A SMALL ONE ONTO THE GREEN CUBE
WHICH SUPPORTS A PYRAMID.@
(DISME)(FRAME WAIT)
(GRASP (QUOTE :B1))
(MOVETO 477 40 300)
(UNGRASP)
(DTHRU)
@ OK.@
(FRAME WAIT)(DISYOU)(DTHRU)
@PUT THE LITTLEST PYRAMID ON TOP OF IT.@
(DISME)(FRAME WAIT)
(MOVETO 1000 274 100)
(GRASP (QUOTE :B2))
(MOVETO 477 40 400)
(UNGRASP)
(DTHRU)
@ OK.@
(FRAME WAIT)(DISYOU)(DTHRU)
@ DOES THE SHORTEST THING THE TALLEST
PYRAMID'S SUPPORT SUPPORTS SUPPORT
ANYTHING GREEN?@
(DISME)(FRAME WAIT)(DTHRU)
@ YES, THE GREEN PYRAMID.@
(FRAME WAIT)(DISYOU)(DTHRU)
@ WHAT COLOR IS IT?@
(DISME)(FRAME WAIT)(DTHRU)
@BY "IT", I ASSUME YOU MEAN THE SHORTEST
THING THE TALLEST PYRAMID'S SUPPORT
SUPPORTS.@
(FRAME WAIT) (DISME)(DTHRU)
@ RED@
(FRAME WAIT)(DISYOU)(DTHRU)
@ HOW MANY THINGS ARE ON TOP OF GREEN
CUBES?@
(DISME)(FRAME WAIT)(DTHRU)
@ I'M NOT SURE WHAT YOU MEAN BY "ON TOP
OF "IN THE PHRASE "ON TOP OF GREEN
CUBES " .
DO YOU MEAN:
1 - DIRECTLY ON THE SURFACE
2 - ANWHERE ON TOP OF ?@
(FRAME WAIT)(DISAD 'YOU NIL '/ 2)(DISME)(DTHRU)
@ THREE OF THEM.@
(FRAME WAIT)(DISYOU)(DTHRU)
@ HAD YOU TOUCHED ANY PYRAMID BEFORE
YOU PUT THE GREEN ONE ON THE LITTLE
CUBE?@
(DISME)(FRAME WAIT)(DTHRU)
@ YES, THE GREEN ONE.@
(FRAME WAIT)(DISYOU)(DTHRU)
@ WHEN DID YOU PICK IT UP?@
(DISME)(FRAME WAIT)(DTHRU)
@ WHILE I WAS STACKING UP THE RED CUBE,
A LARGE RED BLOCK AND A LARGE GREEN
CUBE.@
(FRAME WAIT)(DISYOU)(DTHRU)
@ WHY?@
(DISME)(FRAME WAIT)(DTHRU)
@ TO GET RID OF IT.@
(FRAME WAIT)(DISYOU)(DTHRU)
@ WHY DID YOU DO THAT?@
(DISME)(FRAME WAIT)(DTHRU)
@ TO CLEAN OFF THE RED CUBE.@
(FRAME WAIT)(DISYOU)(DTHRU)
@ WHY DID YOU CLEAR OFF THAT CUBE?@
(DISME)(FRAME WAIT)(DTHRU)
@ TO PUT IT ON A LARGE GREEN CUBE.@
(FRAME WAIT)(DISYOU)(DTHRU)
@ WHY DID YOU DO THAT?@
(DISME)(FRAME WAIT)(DTHRU)
@ TO STACK UP THE RED CUBE , A LARGE
RED BLOCK AND A LARGE GREEN CUBE.@
(FRAME WAIT)(DISYOU)(DTHRU)
@ WHY DID YOU DO THAT?@
(DISME)(FRAME WAIT)(DTHRU)
@ BECAUSE YOU ASKED ME TO.@
(FRAME WAIT)(DISYOU)(DTHRU)
@ HOW DID YOU DO IT?@
(DISME)(FRAME WAIT)(DTHRU)
@ BY PUTTING A LARGE RED BLOCK ON THE
TABLE ; THEN LETTING GO OF IT ; THEN
PUTTING A LARGE GREEN CUBE ON IT ;
THEN LETTING GO OF THAT CUBE ; THEN
PUTTING THE RED CUBE ON THAT CUBE ;
THEN LETTING GO OF THAT CUBE.@
(FRAME WAIT)(DISYOU)(DTHRU)
@ HOW MANY OBJECTS DID YOU TOUCH WHILE
YOU WERE DOING IT?@
(DISME)(FRAME WAIT)(DTHRU)
@ FOUR OF THEM.@
(FRAME WAIT)(DISYOU)(DTHRU)
@ WHAT DID THE RED CUBE SUPPORT BEFORE
YOU STARTED TO CLEAN IT OFF?@
(DISME)(FRAME WAIT)(DTHRU)
@ THE GREEN PYRAMID.@
(FRAME WAIT)(DISYOU)(DTHRU)
@ THERE WERE FIVE BLOCKS TO THE LEFT OF
THE BOX THEN.@
(DISME)(FRAME WAIT)(DTHRU)
@ NO, ONLY FOUR OF THEM: THE RED CUBE ,
TWO LARGE GREEN CUBES AND A LARGE RED
BLOCK.@
(FRAME WAIT)(DISYOU)(DTHRU)
@ PUT THE BLUE PYRAMID ON THE BLOCK IN
THE BOX.@
(UNGRASP)
(MOVETO 740 740 201)
(GRASP (QUOTE :B4))
(MOVETO 700 1100 601)
(DTHRU)
@ OK.@
(FRAME WAIT)(DISYOU)(DTHRU)
@ IS THERE ANYTHING WHICH IS BIGGER
THAN EVERY PYRAMID BUT IS NOT AS WIDE
AS THE THING THAT SUPPORTS IT?@
(DISME)(FRAME WAIT)(DTHRU)
@ YES, THE BLUE BLOCK. @
(FRAME WAIT)(DISYOU)(DTHRU)
@ DOES A STEEPLE@
(DISME)(DTHRU)
@SORRY, I DON'T KNOW THE WORD "STEEPLE".
PLEASE TYPE TWO SPACES.@
LI(DISYOU)(DTHRU)
@ A "STEEPLE" IS A STACK WHICH CONTAINS
TWO GREEN CUBES AND A PYRAMID.@
(DISME)(FRAME WAIT)(DTHRU)
@ I UNDERSTAND.@
(FRAME WAIT)(DISYOU)(DTHRU)
@ ARE THERE ANY STEEPLES NOW?@
(DISME)(FRAME WAIT)(DTHRU)
@ NO.@
(FRAME WAIT)(DISYOU)(DTHRU)
@ BUILD ONE.@
(DISME)(FRAME WAIT)
(MOVETO 274 1000 500)
(GRASP (QUOTE :B7))
(MOVETO 200 320 200)
(UNGRASP)
(MOVETO 477 40 400)
(GRASP (QUOTE :B2))
(MOVETO 200 110 100)
(UNGRASP)
(MOVETO 477 40 300)
(GRASP (QUOTE :B1))
(MOVETO 1000 274 100)
(UNGRASP)
(MOVETO 540 140 500)
(GRASP (QUOTE :B5))
(MOVETO 40 500 300)
(UNGRASP)
(MOVETO 500 100 200)
(GRASP (QUOTE :B3))
(MOVETO 200 320 400)
(UNGRASP)
(MOVETO 40 500 300)
(GRASP (QUOTE :B5))
(MOVETO 200 320 700)
(UNGRASP)
(DTHRU)
@ OK.@
(FRAME WAIT)(DISYOU)(DTHRU)
@ CALL THE BIGGEST BLOCK "SUPERBLOCK".@
@ OK.@
(FRAME WAIT)(DISYOU)(DTHRU)
@ HAVE YOU PICKED SUPERBLOCK UP SINCE
WE BEGAN?@
(DISME)(FRAME WAIT)(DTHRU)
@ YES.@
(FRAME WAIT)(DISYOU)(DTHRU)
@ WHY DID YOU DROP IT?@
(DISME)(FRAME WAIT)(DTHRU)
@BY "IT", I ASSUME YOU MEAN THE
SUPERBLOCK.
I CAN'T EXPLAIN A NON-EXISTENT EVENT.@
(FRAME WAIT)(DISYOU)(DTHRU)
@ IS THERE ANYTHING TO THE RIGHT OF
THE RED PYRAMID?@
(DISME)(FRAME WAIT)(DTHRU)
@ YES, FOUR THINGS: THE BOX , THE RED
CUBE, THE BLUE PYRAMID AND THE BLOCK
NAMED SUPERBLOCK@
(FRAME WAIT)(DISYOU)(DTHRU)
@ THANK YOU.@
(DISME)(FRAME WAIT)(DTHRU)
@ YOU'RE WELCOME!@
(AND(READCH)(NOT ^A)(VALRET ':KILL/ ))