|
|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T t
Length: 8897 (0x22c1)
Types: TextFile
Names: »tess-def.c«
└─⟦b20c6495f⟧ Bits:30007238 EUUGD18: Wien-båndet, efterår 1987
└─⟦this⟧ »EUUGD18/General/Tess/tess-def.c«
/*
Beyond The Tesseract
- adventure world definition
*/
#define MaxLocs 36 /* # rooms */
#define MaxObjs 54 /* # objects */
#define MaxDirs 4 /* only 4 directions used (N E S W) */
/*----------------------------*/
/* Location
*/
#define north 0
#define east 1
#define south 2
#define west 3
#define up 4
#define down 5
typedef struct /* room information */
{
char
*name; /* description of the room */
int
link [ MaxDirs ]; /* room connections: north, east, south, west */
}
room_type;
room_type room [ MaxLocs ] =
{
"in the adventure storage room" , 0,0,0,0,
"in a green house" , 0,0,2,7,
"in a researcher's office" , 1,0,0,8,
"on the contradicting premises of a deduction" , 5,0,0,0,
"in a mirrored hall" , 0,11,9,10,
"at the origin" , 14,16,3,15,
"in a spectral vortex" , 0,0,19,0,
"in a library" , 0,1,8,0,
"in a cryogenic lab" , 7,2,0,0,
"in a glass sphere" , 4,0,0,0,
"in a hall of mirrors" , 12,4,0,0,
"in a mirror hallway" , 13,0,0,4,
"in a chamber of crystal" , 0,0,10,0,
"in a transparent vault" , 0,0,11,0,
"at the infinite point" , 0,0,5,0,
"in a set of all sets that's not a member of itself", 0,5,0,0,
"by a field of absolute certainty" , 0,0,0,5,
"in n-dimensional space" , 0,0,0,16,
"in an ocean of magnetic monopoles", 0,19,21,0,
"in a sea of radio frequencies" , 6,20,22,18,
"in an ionic storm", 0,0,0,19,
"in a scintillating shower of light", 18,22,0,0,
"in a chromatic whirlpool of infrared to ultraviolet" , 19,0,0,21,
"in inner space" , 0,24,26,0,
"at the outer limits" , 0,25,0,23,
"in the twilight of thought" , 0,0,28,24,
"beyond the edge of forever" , 23,27,0,0,
"at the brink of time" , 0,28,0,26,
"in the shadow of tomorrow" , 25,0,0,27,
"in an alien atheneum" , 30,0,0,0,
"in the dimensia chamber" , 0,0,29,0,
"in point-land" , 0,0,29,0,
"in line-land", 0,0,29,0,
"in plane-land", 0,0,29,0,
"in sphere-land", 0,0,29,0,
"in an abyss of non-existence. Shadows spellout 'Reasons and Answers'", 0,0
,0,0
};
/*----------------------------*/
/* objects
*/
typedef struct /* object information */
{
char
*name; /* name of object */
int
init_loc, /* initial location */
attr, /* attribute: b0=get (b1=check in get) b2=look */
loc; /* current location */
}
object_type;
object_type obj [ MaxObjs ] =
{
"", 0,0, 0,
"north" , 0, 0, 0,
"east" , 0, 0, 0,
"south" , 0, 0, 0,
"west" , 0, 0, 0,
"inventory" , 0, 0, 0,
"a large circular reflector" , 1, 4, 0,
"a CRT" , 2, 4, 0,
"a hyper-plant-being" , 9, 6, 0,
"a group" , 14, 6, 0,
"a hole in the argument" , 3, 4, 0,
"a dimension projector" , 30, 4, 0,
"some buttons" , -9, 4, 0,
"zero" , -7, 0, 0,
"one" , -7, 0, 0,
"two" , -7, 0, 0,
"three" , -7, 0, 0,
"four" , -7, 0, 0,
"fractal" , -9, 0, 0,
"chaos" , 31, 4, 0,
"some Fatou dust" , 32, 4, 0,
"a von Koch snowflake" , 33, 4, 0,
"Mount Mandelbrot" , 34, 4, 0,
"a tombstone" , 34, 4, 0,
"a stack" , -1, 5, 0,
"an audio transmutator" , 11, 5, 0,
"a book" , 7, 5, 0,
"some Z-pills" , 8, 1, 0,
"a pool of bubbling fluid" , 8, 2, 0,
"a Klein bottle" , 0, 5, 0,
"a prism" , 12, 5, 0,
"a _y_ing apparatus" , 13, 5, 0,
"an infinite improbability" , 15, 7, 0,
"a mobius strip" , 5, 1, 0,
"a Riemann zeta integral" , 17, 5, 0,
"a hexahedron" , 18, 5, 0,
"a ceramic coil" , 19, 5, 0,
"plasma" , 20, 3, 0,
"a 4-D solid" , 0, 1, 0,
"some 4-D liquid" , 0, 3, 0,
"a singularity" , 0, 5, 0,
"an image disk" , 29, 5, 0,
"a supposition" , 24, 5, 0,
"an hypothesis" , 28, 5, 0,
"a lemma" , 0, 5, 0,
"a theorem" , 0, 5, 0,
"an axiom" , 27, 5, 0,
"a postulate" , 23, 5, 0,
"a meditating mathematician" , 26, 4, 0,
"a crystal tetrahedron", 0, 5, 0,
"a non-differentiable function", 14, 5, 0,
"an idea", 0, 5, 0,
"a contradiction" , 0, 5, 0,
"a warranty" , 29, 5, 0
};
/* constants to refer to objects by
*/
#define o_nothing 0
#define o_north 1
#define o_east 2
#define o_south 3
#define o_west 4
#define o_invent 5
#define o_mirror 6
#define o_crt 7
#define o_plant 8
#define o_group 9
#define o_hole 10
#define o_proj 11
#define o_buttons 12
#define o_zero 13
#define o_one 14
#define o_two 15
#define o_three 16
#define o_four 17
#define o_fractal 18
#define o_chaos 19
#define o_dust 20
#define o_flake 21
#define o_mount 22
#define o_tomb 23
#define o_stack 24
#define o_audio 25
#define o_book 26
#define o_pills 27
#define o_fluid 28
#define o_bottle 29
#define o_prism 30
#define o_appa 31
#define o_improb 32
#define o_strip 33
#define o_zeta 34
#define o_cube 35
#define o_coil 36
#define o_plasma 37
#define o_solid 38
#define o_liquid 39
#define o_sing 40
#define o_disk 41
#define o_supp 42
#define o_hypo 43
#define o_lemma 44
#define o_theorem 45
#define o_axiom 46
#define o_post 47
#define o_math 48
#define o_tetra 49
#define o_func 50
#define o_idea 51
#define o_contra 52
#define o_warr 53
/*----------------------------*/
/* vocabulary
*/
typedef struct /* vocabulary word */
{
char *name; /* word used */
int num; /* which object it corresponds to */
}
vocab_type;
vocab_type v_noun [] = /* start w/blank string, end w/null string */
{
" " , 0,
"n " , 1 , "nort" , 1 ,
"e " , 2 , "east" , 2 ,
"s " , 3 , "sout" , 3 ,
"w " , 4 , "west" , 4 ,
"i " , 5 , "inve" , 5 , "inv " , 5 , "all ", 5 ,
"refl" , 6 , "mirr" , 6 ,
"crt " , 7 , "scre" , 7 , "tube" , 7 ,
"plan" , 8 , "bein" , 8 , "alie" , 8 ,
"grou" , 9 ,
"hole" , 10 ,
"proj" , 11 ,
"butt" , 12 ,
"zero" , 13 , "0 " , 13 ,
"one " , 14 , "1 " , 14 ,
"two " , 15 , "2 " , 15 ,
"thre" , 16 , "3 " , 16 ,
"four" , 17 , "4 " , 17 ,
"frac" , 18 ,
"chao" , 19 ,
"dust" , 20 , "fato" , 20 ,
"snow" , 21 , "flak" , 21 , "koch" , 21 ,
"moun" , 22 , "mt " , 22 , "mand" , 22 ,
"tomb" , 23 , "epit" , 23 ,
"stac" , 24 , "key " , 24 ,
"audi" , 25 , "tran" , 25 , "earp" , 25 ,
"book" , 26 , "adve" , 26 ,
"pill" , 27 , "z-pi" , 27 , "z " , 27 ,
"pool" , 28 , "flui" , 28 ,
"klei" , 29 , "bott" , 29 ,
"pris" , 30 ,
"_y_ " , 31 , "appa" , 31 , "y " , 31 ,
"impr" , 32 , "hear" , 32 , "gold" , 32 ,
"mobi" , 33 , "stri" , 33 , "moeb" , 33 ,
"riem" , 34 , "zeta" , 34 , "inte" , 34 ,
"hexa" , 35 , "cube" , 35 , "die " , 35 , "dice" , 35 ,
"coil" , 36 , "cera" , 36 , "loop" , 36 ,
"plas" , 37 ,
"soli" , 38 , "tess" , 38 ,
"liqu" , 39 ,
"sing" , 40 , "band" , 40 , "filt" , 40 ,
"disk" , 41 , "disc" , 41 ,
"supp" , 42 ,
"hypo" , 43 ,
"lemm" , 44 ,
"theo" , 45 ,
"axio" , 46 ,
"post" , 47 , "prof" , 47 ,
"math" , 48 ,
"crys" , 49 , "tetr" , 49 , "pyra" , 49,
"func" , 50 ,
"idea" , 51 ,
"cont" , 52 ,
"warr" , 53 , "guar" , 53 ,
"",0
};
vocab_type v_verb[] =
{
" " , 0 ,
"nort" , 1 , "n " , 1 ,
"east" , 2 , "e " , 2 ,
"sout" , 3 , "s " , 3 ,
"west" , 4 , "w " , 4 ,
"inve" , 5 , "i " , 5 ,
"go " , 6 ,
"get " , 7 , "take" , 7 , "grab" , 7 , "g " , 7 ,
"drop" , 8 , "leav" , 8 ,
"thro" , 9 , "toss" , 9 ,
"brea" , 10 , "hit " , 10 , "kill" , 10 , "figh" , 10 , "kick" , 10 ,
"atta" , 10 ,
"look" , 11 , "exam" , 11 , "l " , 11 ,
"read" , 12 ,
"use " , 13 , "util" , 13 , "appl" , 13 ,
"touc" , 14 , "feel" , 14 ,
"swin" , 15 , "wave" , 15 , "shak" , 15 ,
"rub " , 16 , "pres" , 17 , "push" , 17 ,
"pop " , 18 ,
"spin" , 19 , "turn" , 19 , "rota" , 19 , "twis" , 19 , "flip" , 19 ,
"roll" , 20 ,
"wear" , 21 ,
"eat " , 22 , "swal" , 22 ,
"tast" , 23 ,
"drin" , 24 ,
"remo" , 25 ,
"wate" , 26 , "wet " , 26 , "wash" , 26 , "hydr" , 26 ,
"fill" , 27 ,
"pour" , 28 , "empt" , 28 ,
"free" , 29 , "cool" , 29 ,
"melt" , 30 ,
"play" , 31 , "star" , 31 ,
"inse" , 32 , "put " , 32 ,
"_y_ " , 33 , "y " , 33 ,
"prov" , 34 , "veri" , 34 , "deve" , 34 ,
"fix " , 35 , "repa" , 35 ,
"smel" , 36 ,
"clos" , 37 ,
"open" , 38 ,
"stop" , 39 ,
"say " , 40 , "spea" , 40 ,
"quit" , 41 ,
"help" , 42 ,
"list" , 43 , "hear" , 43 ,
"save" , 44 ,
"load" , 45 ,
"scor" , 46 ,
"slee" , 47 , "drea" , 47 ,
"wake" , 48 ,
"give" , 49 ,
"scan" , 50 , "sc " , 50 ,
"eval" , 51 , "solv" , 51 , "diff" , 51 ,
"thin" , 52 , "pond" , 52 , "medi" , 52 ,
"burn" , 53 , "igni" , 53 , "heat" , 53 ,
"evap" , 54 , "vapo" , 54 ,
"clim" , 55 ,
"cut " , 56 , "slic" , 56 , "stab" , 56 ,
"join" , 57 ,
"sing" , 58 ,
"" , 0
};
int
num_verbs = sizeof( v_verb ) / sizeof( vocab_type ),
num_nouns = sizeof( v_noun ) / sizeof( vocab_type );