1 {//-------------------------------------------------------------------------}
3 {Copyright (C) 1990, 2009 - Apogee Software, Ltd. }
5 {This file is part of Supernova. Supernova is free software; you can }
6 {redistribute it and/or modify it under the terms of the GNU General Public }
7 {License as published by the Free Software Foundation; either version 2 }
8 {of the License, or (at your option) any later version. }
10 {This program is distributed in the hope that it will be useful, }
11 {but WITHOUT ANY WARRANTY; without even the implied warranty of }
12 {MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. }
14 {See the GNU General Public License for more details. }
16 {You should have received a copy of the GNU General Public License }
17 {along with this program; if not, write to the Free Software }
18 {Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.}
20 {Original Source: 1990 Scott Miller }
21 {Prepared for public release: 03/19/09 - Joe Siegler, Apogee Software, Ltd. }
23 {//-------------------------------------------------------------------------}
24 {****************************************************************************}
27 {* These are misc procedures and functions used with the main file: AdGame *}
28 {* Copyright 1984 Pending *}
29 {****************************************************************************}
32 begin FlagSA:='s' end;
34 function En(c : char) : boolean;
36 if(c in Ev)then En:=True else En:=False
39 function Here(noun : integer): Boolean;
41 if(noun in Inven)or(r[noun]=Prm)or(noun in p[Prm])then Here:=True
47 if(random(2)=1)then RL(107+random(7))else RL(300+random(6));
53 gotoxy(1,25);for x:=1 to 7 do writeln;
54 Textcolor(1);Textbackground(m9);
56 write('*********************************************************',
57 '***********************');writeln;
58 gotoxy(1,19); for x:=1 to 3 do
62 write('*********************************************************',
63 '***********************');writeln;
64 TextColor(m0);gotoxy(32,20);writeln('YOU HAVE DIED!!!');
65 Textcolor(m2);Textbackground(0);
66 for c:=700 downto 20 do for b:=70 downto 1 do sound(b*c);nosound;
67 close(Rooms1);close(rooms2);close(special1);close(special2);close(line1);
68 gotoxy(1,23);DelLine;DelLine;writeln;write('Do you wish to play again? ');
70 if(upcase(flag)<>'N')then
72 writeln('Restarting...');window(1,1,80,25);
73 halt(executeProcess(ParamStr(0), '', []));
81 writeln(' Beyond the Titanic');
82 writeln('A Scott Miller Production');
83 writeln(' Have a nice day...');
92 gotoxy(1,25);for x:=1 to 7 do writeln;
93 Textcolor(25);Textbackground(m7);
95 write('#########################################################',
96 '#######################');writeln;
97 gotoxy(1,19); for x:=1 to 3 do
101 write('#########################################################',
102 '#######################');writeln;
103 TextColor(31);gotoxy(25,20);writeln('Y O U H A V E W O N ! ! !');
104 Textcolor(m2);Textbackground(0);
105 gotoxy(1,23);DelLine;DelLine;writeln;
106 for x:=150 downto 1 do begin sound(x*55);delay(8);nosound;delay(20)end;
107 if(Sc>1000)then Sc:=1000;
108 write('You finished with a score of ',Sc,', which makes you a ');
110 begin writeln('Perfect Adventurer!!!');
113 for x:= 99+(o*430)to 998+(o*430)do begin sound(25);sound(x)end
115 else writeln('Master Adventurer!');
116 for c:=1 to 999 do for b:=1 to 61 do sound(b*c);nosound;
118 writeln('Reboot your computer to regain control...')
121 procedure Say(o : integer; p : Str16);
123 writeln('The ',n[o,1],' is already ',p,'.'); SA
129 if((tic>42)and not(en('c')))or((tic>146)and not(en('n')))or(en('r'))then
131 if(tic>42)and (not(en('c')))then RL(192)
132 else if(tic>146)and not(en('n'))then RL(192);
133 if(en('r'))then RL(51)
138 procedure Monster(var NewRm : integer);
140 if(NewRm=MnRm)and(MnRm=25)then begin Attack:=False;RL(384)end else
141 if(NewRm<>35)or not(en('v'))then
143 p[Prm]:=p[Prm]-[23];p[NewRm]:=p[NewRm]+[23];MnRm:=NewRm;Attack:=False;
144 if not((NewRm=30)and(Verb in[27,28]))then
146 0:RS(71);1:RS(72);2:RL(359);3:RL(360);4:RL(361);5:RL(362);6:RL(363)
149 else begin RL(383);Attack:=False end
152 procedure DescribeRm;
154 procedure s(r : Str16);
155 begin TextColor(m8);writeln(r);TextColor(m2);loc:=r;end;
157 if((en('a'))and(here(29)))or not(Prm in [6..24])then begin
159 0:s('
\91D
\82Ì
\91O
\95û');1:s('
\91D
\82Ì
\92\86\89\9b');2:s('
\91D
\82Ì
\8cã
\95û');
160 3:s('
\8b~
\96½
\83{
\81[
\83g');4:s('Ocean Surface');5:s('Huge Cavern');
161 6:s('Cave of Pins');7:s('Ocean Bottom');8:s('Squeaky Cave');
162 9:s('Stream Bend');10:s('Waterfall');13:s('Sloppy Cave');
163 11:s('Hex Cave');12:s('Shallow Cleft');20:s('Zoo');
164 14:s('Winding Tunnel');15:s('Chasm');17:s('Chasm Bottom');
165 18:s('Tiny Opening');19:s('Etched Stairs');
166 21:s('Edge of Saucer');22:s('Side of Saucer');
167 23:s('Top of Saucer');24:s('Airlock');16:s('End of Rope');
168 76:s('Locked Cabin');25:s('Central Entry');
169 26:s('Lower Entry');27:s('Ship''s Systems');
170 30:s('Time Chamber');28:s('Ship''s Lab');34:s('Bridge');
171 29:s('Inside Tube');31:s('Life Support');58,69:s('Inside Shuttle');
172 32:s('Supply Chamber');33:s('Sleep Chamber');
173 35:s('Engine Room');36:s('Cargo Deck #1');37:s('Cargo Deck #2');
174 38:s('Cargo Deck #3');39:s('Cargo Deck #4');40:s('Large Cage');
175 41:s('Wooden Bridge');42:s('Broken End');43:s('South End');
176 44..46:s('Deserted Road');47:s('Crater Edge');48:s('Crater Floor');
177 49:s('Building Front');50:s('Lobby');51..54:s('Office Room');
178 55:s('Basement');56:s('Ladder Room');57:s('Building Roof');
179 59:case ShRm of 0:s('Above Mud Lake');
180 1:s('Above Rubble');2:s('Above Desert');3:s('Above Pits');
181 4:s('Above River');5:s('Above Stream');6:s('Above Town');
182 7:s('Above Mountain');8:s('Above Crator');9:s('Above Hills');
183 10:s('Above Canyon');11:s('Above Flatland');12:s('Above Dry Lake');
184 13:s('Above Desert');14:s('Above Bridge')end;{of Above Rooms}
185 63,64:s('Above Clouds');65..68:s('Outside City');70:s('Landing Bay');
186 71:s('Power Plant');72..74:s('Dark Corridor');75:s('Food Supply')
189 if Verbose then begin FlagSA:='r';
191 2 :if(40 in p[2])then begin RR(2);RL(416)end;
192 4 :if(en('B'))then RR(4)else begin RR(4);
193 writeln('There is a safety harness here.')end;
194 11:if(en('C'))then RS(15);
195 40:if(en('g'))then RS(17);
196 12:if not(en('G'))then begin RR(12);RL(146)end;
197 31:if not(en('I'))then begin RR(31);RL(156)end;
198 34:if(74 in p[34])then begin RR(34);RL(273)end;
199 35:if(77 in p[35])then begin RR(35);RL(381);RL(382)end else
200 if(en('W'))then begin RR(35);RL(381)end;
201 42:if(13 in p[42])then begin RR(42);RL(214)end;
202 48:if(27 in p[48])then begin RR(48);RL(276)end;
204 if(Prm=59)and not(ShRm in RmSh)then
205 begin RmSh:=RmSh+[ShRm];RS(ShRm+46)end
206 else if(Prm<>59)then RR(Prm);
207 if KeyHole and here(63)then
208 writeln('The shiny key is in the keyhole.')
212 if(FlagSA='r')and(Prm<>59)then RR(Prm)end;
214 for o:= 0 to NMax do begin
217 if not((Prm in[59..69])and(KeyHole)and(o=63))then
218 begin writeln('There is a ',n[o,1],' here.');
219 if(here(ropecon))and(o=ropecon)and not(ropecon in inven)then
220 writeln(' The rope is attatched to the ',n[o,1],'.');
221 if(en('d'))and(o=70)and(here(70))then RL(147);
222 if(o=SlotCon)and(here(o))then RL(388);
223 if(o in CabiSet)and(here(o))then RL(389);
224 if(o=PanelCon)and(here(o))then RL(390);
225 if(o in KitSet)and(here(o))then RL(391);
232 begin SA; for x:=1 to 24 do writeln; nosound;
236 writeln('Remove the GAME disk and insert your SAVE/RESTORE disk ',
238 writeln('Make sure your SAVE/RESTORE disk is in drive B:');
239 writeln(' (Press any key to continue...)');flag:=readkey;
241 write('Save under what name? ');readln(input);
242 while pos(' ',input)>0 do delete(input,pos(' ',input),1);
243 while pos('.',input)>0 do delete(input,pos('.',input),1);
244 if(input='')then input:='LastRoom';
245 writeln;writeln;input:=Drive+input;
246 while pos(':',input)>0 do input[pos(':',input)] := '_';
247 writeln('If your SAVE/RESTORE disk is in drive ',Drive,
248 ' then press any key to start.');
252 aInven:=Inven;aKitSet:=KitSet;aCabiSet:=CabiSet;aPanelCon:=PanelCon;
253 aSlotCon:=SlotCon;aCompCon:=CompCon;aRopeCon:=RopeCon;aTic:=Tic;
254 aYearDial:=YearDial;aPrm:=Prm;aMnRm:=MnRm;aSc:=Sc;aShots:=Shots;
255 aShRm:=ShRm;aRx:=Rx;aEv:=Ev;aCode:=Code;aLoc:=Loc;aKeyHole:=KeyHole;
257 assign(GameSave,input+'.a');
259 write(GameSave,DiskSave);
261 assign(Objects,input+'.b');
263 for x:=0 to RMax do write(Objects,p[x]);
265 assign(WordList,input+'.c');
269 write(WordList,n[x,y]);
272 write(WordList,v[x,y]);
274 assign(Things,input+'.d');
276 for x:= 0 to NMax do write(Things,r[x]);
278 writeln; delete(input,1,2);
279 writeln('Your present game location is now',
280 ' SAVED to disk under the name ''',input,'.''');
281 if(Drive='A:')then begin writeln;
282 writeln('Remove the SAVE/RESTORE disk and insert your GAME disk.')end;
283 writeln(' (Press any key to continue...)');flag := readkey;
285 if(Verb<>54)then writeln('You may now resume your game...');
286 if(Line='')then Line:='look';Tic:=Tic-2;Back:=True;
287 if(Prm in[59..68])then sound(20);
292 function Exist:Boolean;
294 assign(GameSave,input+'.a');
300 begin SA; for x:=1 to 24 do writeln; nosound;
301 window(1,3,80,25);gotoxy(1,4);
303 writeln('Remove the GAME disk and insert your SAVE/RESTORE disk ',
304 'in drive ',Drive)else
305 writeln('Make sure your SAVE/RESTORE disk is in drive B:');
306 writeln(' (Press any key to continue...)');flag := readkey;
308 write('Which file name do you want to RESTORE? ');readln(input);
309 while pos(' ',input)>0 do delete(input,pos(' ',input),1);
310 while pos('.',input)>0 do delete(input,pos('.',input),1);
311 if(input='')then input:='LastRoom';
312 writeln;writeln;input:=Drive+input;
313 while pos(':',input)>0 do input[pos(':',input)] := '_';
314 writeln('If your SAVE/RESTORE disk is now in drive ',Drive,
315 ' then press any key to start.');
320 assign(GameSave,input+'.a');
322 read(GameSave,DiskSave);
326 Inven:=aInven;KitSet:=aKitSet;CabiSet:=aCabiSet;PanelCon:=aPanelCon;
327 SlotCon:=aSlotCon;CompCon:=aCompCon;RopeCon:=aRopeCon;Tic:=aTic;
328 YearDial:=aYearDial;Prm:=aPrm;MnRm:=aMnRm;Sc:=aSc;Shots:=aShots;
329 ShRm:=aShRm;Rx:=aRx;Ev:=aEv;Code:=aCode;Loc:=aLoc;KeyHole:=aKeyHole;
331 assign(Objects,input+'.b');
333 for x:=0 to RMax do read(Objects,p[x]);
335 assign(WordList,input+'.c');
339 read(WordList,n[x,y]);
342 read(WordList,v[x,y]);
344 assign(Things,input+'.d');
346 for x:= 0 to NMax do read(Things,r[x]);
348 writeln; delete(input,1,2);
349 writeln('Your previously SAVED game location is now',
350 ' RESTORED from the file ''',input,'.''');
351 if(Drive='A:')then begin writeln;
352 writeln('Remove the SAVE/RESTORE disk and insert your GAME disk.')end;
353 writeln(' (Press any key to continue...)');flag := readkey;
356 begin writeln;TextColor(28);
357 writeln(' That name does not exist on this',
358 ' SAVE/RESTORE disk.',^g);
359 TextColor(m2);writeln;
361 writeln('Put your GAME disk back in the disk drive and press any key.')
362 else writeln(' (Press any key to continue...)');
365 writeln;writeln;writeln('You may now resume you game...');
366 if(Line='')then Line:='look';Tic:=Tic-2;Back:=True;
367 if(Prm in[59..68])then sound(20);
371 procedure Vanish(o : integer);
376 if(o=7)and not(en('I'))then Ev:=Ev+['I'];
377 if(o=13)and(13 in p[42])then p[42]:=p[42]-[13];
378 if(o=PanelCon)then PanelCon:=Null;
379 if(o=SlotCon)then SlotCon:=Null;
380 if(o in CabiSet)then CabiSet:=CabiSet-[o];
381 if(o in kitset)then kitset:=kitset-[o];
382 if(o=63)and KeyHole then KeyHole:=False;
383 if(o=74)then Ev:=Ev-['p'];
384 if(o=89)then Ev:=Ev-['i'];
385 if(o=RopeCon)and(verb=36)then begin RopeCon:=Null;RL(402)end;
386 if(o=RopeCon)and not(Verb in[9,14])then RopeCon:=Null
389 procedure Play( Start, Stop, Wait: integer);
393 for x:= Start to Stop do
394 begin sound(x); delay(Wait); end
396 for x:= Start downto Stop do
397 begin sound(x); delay(Wait); end;
398 if(Prm in[59..68])then sound(20)else nosound
408 inven:=inven-[o];writeln(n[o,1],': Dropped.');
413 function FlasOff : Boolean;
415 if not(En('a'))then FlasOff:=True
417 if(r[29]=Prm)or(29 in inven)then FlasOff:=False
421 procedure MoveTo(NewRm : integer);
424 if(57 in inven)and(ropecon<>Null)and not(ropecon in inven)
425 and(ropecon in mov)and not(ropecon=70)then
426 begin r[ropecon]:=Prm;RL(158);end
427 else if(57 in inven)and(ropecon<>Null)and(not(ropecon in mov)or
428 ((ropecon=70)and(en('d'))))then
429 begin RL(55);inven:=inven-[57];r[57]:=Prm;end
430 else if not(57 in inven)and((ropecon in inven)or
431 (ropecon in[60,56,44]))then r[57]:=NewRm
432 else if not(57 in inven)and(r[57]=Prm)and(r[ropecon]=NewRm)then
433 begin r[57]:=NewRm;RopeOld:=Prm;end
434 else if not(57 in inven)and(r[57]=Prm)and(NewRm=RopeOld)and
436 begin r[57]:=RopeOld;RopeOld:=Null;end;
437 if(ropecon=Null)or((NewRm<>RopeOld)and(Prm<>RopeOld))then RopeOld:=Null;
438 if(MnRm<>Null)then Monster(NewRm);
439 if(Prm in[63..68])and not(NewRm in[59,69])then RL(343);
440 if(Prm in[59,63..68])then for o:=0 to NMax do if(r[o]=Prm)then r[o]:=NewRm;
451 17:if not(en('A'))then begin RS(3);DEAD end else RS(5);
456 24:if(en('B'))then begin RS(8);writeln;RL(16);moveto(5);Sc:=Sc+25;
457 n[64,5]:='ship';v[26,2]:='pick' end
458 else begin RS(7);DEAD;end;
459 43:if(not(en('c'))and not(en('n')))then RL(31);
460 73:if(not(en('c'))and not(en('n')))then RL(32);
461 93:if(not(en('c'))and not(en('n')))then begin RL(33); DEAD end;
462 99:if(Prm in[6..24])and(here(29))and not(flasoff)and(not(en('s')))then
463 begin RL(41);Ev:=Ev+['s'] end;
464 147:if not(en('n'))then RL(31);
465 149:if(here(29))and not(flasoff)then RL(59);
466 153:if(Prm in[6..23])and(here(29))and not(flasoff)then
467 begin RS(14);vanish(29) end;
468 170:if not(en('n'))then RL(32);
469 181:if not(en('n'))then begin RL(33); DEAD end;
473 607:begin RL(284);DEAD;end;
477 1..3:if(tic>4)and(random(4)=1)then RL(405);
478 36..39:if(random(5)=2)then RL(219);
479 7 :if(random(8)=2)then RL(266);
480 8 :if(random(3)=2)then begin RL(265);play(6666,7000,0);end;
481 13..24:if(random(16)=2)then RL(246);
482 25..35:if(random(30)=2)then RL(267);
483 47,48:if(random(5)=2)and(inven <>[])then
485 if(Prm=48)then begin writeln;RS(40)end
486 else begin writeln;RS(44);moveto(48)end;
490 begin vanish(o);r[o]:=random(9)+41;flag:='g';end;
495 5,6,9,10:if(random(9)=2)then RL(268);
496 7,8,11..40:if(here(84))and(random(20)=2)then RL(269)
497 else if(random(75)=2)then RS(36)
498 else if(Prm in[5..22])and(random(33)=2)then
499 begin RL(265);play(6500,6950,0)end;
500 41..49:if(random(27)=2)then RL(285);
501 59 :if(random(15)=1)then RL(406);
503 if Attack and(MnRm=Prm)and(not Back)then
504 begin case random(3) of 0:RS(80); 1:RS(81); 2:RS(82)end;DEAD end
505 else if(MnRm=Prm)then Attack:=True
508 function Present : Boolean;
510 if(noun<>Null)and(noun<>1)then
513 if(here(noun2))then Present:=true
515 writeln('You can''t see any ',n[noun2,1],' here.');Present:=false end
518 writeln('You can''t see any ',n[noun,1],' here.');Present:=false end
522 procedure Initialize;
523 procedure Cn(S : Str80);
525 gotoxy(40-(length(S)div 2),wherey);writeln(S);
529 writeln('
\96`
\8c¯
\82Ì
\90¢
\8aE
\82Ö
\94ò
\82Ñ
\8d\9e\82Þ
\8f\80\94õ
\82ð
\82µ
\82Ä
\82
\82¾
\82³
\82¢
\81B');
530 writeln('
\82Å
\82à
\81A
\82»
\82Ì
\91O
\82É
\8aÈ
\92P
\82È
\8e¿
\96â
\82ª2
\82Â
\82 \82è
\82Ü
\82·:');
531 gotoxy(1,4);write('
\83f
\83B
\83X
\83v
\83\8c\83C
\82Í
\83J
\83\89\81[
\82Å
\82·
\82© (Y/N)? ');
532 nosound; play(72,80,45);
533 flag := readkey; play(2500,2490,6);
534 m0:=20;m1:=14;m2:=11;m3:=4;m4:=15;m5:=28;m6:=1;m7:=4;m8:=10;m9:=10;
535 if upcase(flag)='N' then
537 writeln('
\82¢
\82¢
\82¦
\81B
\83J
\83\89\81[
\82Å
\82Í
\82 \82è
\82Ü
\82¹
\82ñ
\81B');
538 m0:=31;m1:=15;m2:=15;m3:=7;m4:=0;m5:=31;m6:=7;m7:=8;m8:=7;m9:=0;
539 end else writeln('
\82Í
\82¢
\81B
\83J
\83\89\81[
\82Å
\82·
\81B');writeln;
540 write('
\83f
\83B
\83X
\83N
\83h
\83\89\83C
\83u
\82Í
\82¢
\82
\82Â
\82 \82è
\82Ü
\82·
\82© (1/2)? ');
542 flag := readkey; play(2500,2490,6);
544 if(upcase(flag)='O')or(flag='1')then
545 begin Drive:='A:';writeln('1
\82Â
\82Å
\82·
\81B')end else
546 writeln('2
\82Â
\82Å
\82·
\81B');
547 delay(999);clrscr;textcolor(15);gotoxy(1,5);writeln;textcolor(7);
548 cn('Beyond the Titanic');textcolor(6);cn('------------------');writeln;
550 cn('A Text & Sound Adventure Fantasy');writeln;writeln;
551 cn('An Apogee Software Production');writeln;writeln;writeln;
552 cn('Written and Programmed by Scott Miller');
554 gotoxy(32,24);textcolor(7);
555 write('
\83L
\81[
\82ð
\89\9f\82µ
\82Ä
\82
\82¾
\82³
\82¢');flag := readkey;clrscr;
557 { *** SHAREWARE SCREEN *** }
560 writeln('Please note that Beyond the Titanic is a SHAREWARE game.');
563 writeln('This game has been placed in the public domain for your enjoyment.');
565 writeln('If you like the game the author (Scott Miller) asks that you please');
566 writeln('contribute $5 or $10 (your discretion) to him. This minimal payment');
567 writeln('will help compensent the author for the year of work that went into');
568 writeln('Beyond the Titanic. It will also encourage the author to make new and');
569 writeln('better games, like Supernova and Kingdom of Kroz, both of which are');
570 writeln('also shareware games recently released.');
572 writeln('This fee also registers the payer for telephone support and clues.');
574 writeln('Please make checks payable to Scott Miller.');
577 writeln(' Scott Miller (214) 240-0614');
578 writeln(' 4206 Mayflower Dr.');
579 writeln(' Garland, TX 75043');
582 writeln('Thanks, enjoy the game...');
585 while keypressed do readkey;
586 write('
\83L
\81[
\82ð
\89\9f\82·
\82Æ
\83Q
\81[
\83\80\82ª
\8en
\82Ü
\82è
\82Ü
\82·');
588 while keypressed do readkey;
590 { ************************ }
594 cn('1912
\94N4
\8c\8e14
\93ú
\8cß
\8cã11
\8e\9e43
\95ª');
596 cn('
\88Å
\96é
\82Ì
\83J
\83\93\83o
\83X
\82ª
\82±
\82ê
\82Ù
\82Ç
\8bP
\82¢
\82Ä
\82¢
\82½
\82Æ
\82Í
\81B');
597 cn('
\83z
\83\8f\83C
\83g
\83X
\83^
\81[
\82Ì
\8dÅ
\90V
\82Ì
\8d\8b\89Ø
\8bq
\91D
\81A
\90[
\82¢
\8aC
\81A');
598 cn('
\83T
\83\93\83t
\83\89\83\93\83V
\83X
\83R
\82Ì
\82Ü
\82Î
\82ä
\82¢
\8cõ
\82à
\93Í
\82©
\82È
\82¢
\82±
\82Ì
\8fê
\8f\8a\82Å');
599 cn('
\82 \82È
\82½
\82Í
\8aô
\90ç
\82à
\82Ì
\92m
\82ç
\82ê
\82´
\82é
\90¯
\81X
\82ð
\8c©
\82Ä
\82¢
\82½
\81B');
601 cn('
\8aC
\82É
\96Ú
\82ð
\82â
\82é
\82Æ
\8f¬
\82³
\82È
\95X
\82Ì
\94j
\95Ð
\82ª
\95Y
\82Á
\82Ä
\82¢
\82½
\81B');
602 cn('
\82±
\82Ì
\82 \82½
\82è
\82É
\82Í
\8f¬
\82³
\82È
\8eR
\82Ù
\82Ç
\82Ì
\95X
\8eR
\82ª
\8c»
\82ê
\82é
\82Æ
\82¤
\82í
\82³
\82¾
\81B');
604 cn('
\82¾
\82ª
\90S
\94z
\82·
\82é
\82±
\82Æ
\82Í
\82È
\82¢
\81B
\83^
\83C
\83^
\83j
\83b
\83N
\8d\86\82Í
\81u
\95s
\92¾
\81v
\81A');
605 cn('
\88ê
\97¬
\82Ì
\8aC
\89^
\89ï
\8eÐ
\83z
\83\8f\83C
\83g
\83X
\83^
\81[
\82Æ
\82»
\82Ì
\91D
\82Ì
\82±
\82Æ
\82Í
\8fæ
\8bq
\82Ì
\92N
\82à
\82ª
\90M
\97\8a\82µ
\82Ä
\82¢
\82½
\81c');
606 for x:= 1 to 3 do writeln;
617 Mov :=[2,7,8,13,27,29,32,34,40,52,51,57,63,70,74,77,89];
618 OneWordCommands:=[1,4,5,7,8,16,18,19,22,31,33..35,41,43..54,56..59,61..65];
631 assign(rooms1,'ROOMS1');assign(rooms2,'ROOMS2');
632 assign(special1,'SPECIAL1');assign(special2,'SPECIAL2');assign(line1,'LINE');
633 reset(rooms1);reset(rooms2);reset(special1);reset(special2);reset(line1);
634 Str(Random(9998)+1,Code);
635 DescribeRm; writeln; randomize;
637 gotoxy(1,1);TextBackGround(m6);
638 for x:=1 to 80 do write(' ');writeln;TextColor(m4);
639 gotoxy(4,1);writeln('Move');gotoxy(68,1);writeln('Score');TextColor(m2);
640 TextBackGround(0); Window(1,2,80,25);
642 {***************************** END OF COMMANDS *****************************}