9 +-------------------------------------------------------+ 	 |							|  |		      BOULDER DASH			| 	 |							| 9 +-------------------------------------------------------+    (w) 1988 Oskar Schirmer   9 Es handelt sich hierbei um den versuch, ein echtzeitspiel , auf einem grossrechner unterzubringen (...).  / 0. wichtig: nach dem starten titelseite lesen !    1. boulder dash (als spiel):: es geht darum, ein maenneken durch eine hoehle zu steuern,< diamanten zu finden, zu sammeln und schliesslich den ausgang; zu benutzen. fuer gesammelte diamanten gibz punkte (DIAM:), 5 die zahl der benoetigten diamanten steht unter NEED:. : fuer die ganze aktion steht die unter LEFT: gezaehlte zeit< zur verfuegung. im uebrigen sind die level mehr oder weniger8 vom original auf dem apple uebernommen und sie sind alle machbar !!! viel spass.   & 2. boulder dash (als vax/vms-program):  3 fuer das program werden folgende dateien benoetigt:  BD.EXE		enthaelt das program? BD.POINTER	enthaelt zwei zeiger auf die folgenden dateien sowie  		die tastaturbelegung. 8 BD.PICTURES	enthaelt den vt200-sixel-grafic-zeichensatz.' BD.CAVES	enthaelt die einzelnen levels. 0 BD.TEXT		unerlaesslich fuer den anleitungsfreak.  ? bd.exe erwartet die definition von B$DASH_IN als zeiger auf die  datei bd.pointer.    an hardware wird benoetigt: C eine hinreichend eilige vax mit allem drum&dran (was das genau ist, ( sagt ihnen bestimmt gerne die auskunft).B zum beispiel ein vt220-terminal, das in der lage ist, sixel-graficC anzuzeigen und zwar sollte das die daten mit einer rate von einigen C kbaud, will heissen etwa 9600 oder 19200 baud. alles andere hat mit  echtzeit nix mehr zu tun.   C 2a. die datei bd.pointer enthaelt in der ersten zeile den namen der ? datei bd.pictures, in der zweiten zeile den der datei bd.caves. C die dritte zeile muss 8 buchstaben enthalten, die tasten zum laufen A und greifen, jeweils in der reihenfolge linx, rechz, oben, unten.   H 2b. aufbau der datei bd.caves. die entsprechende definition fuer onecave& wird zum laden des levels ausgefuehrt:  4 caves : --> (num of caves) -----> [onecave] --+--> . 			     ^		      | 			     +----------------+  > onecave : -> (sizeofcave) -> (startpos) -> (num of diams need); 	  -> (val of diam while need) -> (val of diam when enough) ; 	  -> (time left) -> (bonus men) -> (random generator seed) 5 	  -> (magma & living timer) ---cr---> (name of cave) 0 	  -cr----> [commandline] --+--> (X!) --cr---> . 	      ^			   |  	      +--------------------+   P commandline : --+--> (S) -> (char) -> (coord) ----------------------------cr-> .; 		+--> (B) -> (char) -> (coord) -> (size) --------------->^ ; 		+--> (F) -> (char) -> (coord) -> (size) --------------->| ; 		+--> (R) -> (char) -> (coord) -> (size) -> (number) --->| ; 		+--> (L) -> (char) -> (coord) -> (summand) -> (number) -+   2 coord, sizeofcave, startpos : --> (x) -> (y) --> .  F cr fordert eine neue zeile. die 5 commandos bringen folgende aktionen:& S setzt ein einzelnes teil nach (x,y).; B fuellt ein rechteck von (x,y) bis (x+width-1,y+height-1). " F umrahmt das angegebene rechteck.B R setzt number einzelne teile zufaellig in das angegebene rechteck@ L setzt teile an die stellen (x+i*sx,y+i*sy) fuer i=0..number-1.  5 die zuordnung von buchstaben zu teilen ist wie folgt: 	  	nothing  !	wayout #	earth  $	magma  %	lyingstone '	lyingdiamont )*+,	butterfly -./0	squarefly 9	normalwall		 ;	sleepingwall  J weitere (allerdinx zum entwurf einer hoehle weniger geeignete) teile finde man im programtext bd.pas).   $ 3. boulder dash (als pascal-program)F der programtext ist nicht als beispiel fuer ordentliches programmierenC gedacht. die gesammte ausgabe auf SYS$OUTPUT wird direkt ueber QIOs G vorgenommen (unter umgehung der pascalausgabekanaele, die sind naemlich  saumaessig langsam).   alsdann (oskar).