-+-+-+-+-+-+-+-+ START OF PART 2 -+-+-+-+-+-+-+-+ X valid := False X Else X Case S`5BPr+dr,Pc+dc`5D of`20 X '`7E' : Score := Score + 1; X '@' : Valid := false; X ' ' : ; X 'a' : Begin X If S`5BPr+dc,Pc-dr`5D = '@' Then Begin X at(Pr+dr,Pc+dc,' ',0); X at(Pr+dr-dc,Pc+dc+dr,' ',0); X at(Pr+2*dr-2*dc,Pc+2*dr+2*dc,'a',maxint); X at(pr+3*dr-2*dc,Pc+2*dr+3*dc,'a',maxint); X end else`20 X If S`5BPr-dc,Pc+dr`5D = '@' Then Begin X at(pr+dr,Pc+dc,' ',0); X at(pr+dr+dc,Pc+dc-dr,' ',0); X at(Pr+2*dr+2*dc,Pc+2*dc-2*dr,'a',maxint); X at(Pr+3*dr+2*dc,Pc-2*dr+3*dc,'a',maxint); X end else X valid := false; X end; X '*' : Begin`20 X Lives := Lives - 1; X If Lives > 0 then begin`20 X at(2,2,Chr( Ord('0') + Lives ),maxint); X qio_write (VT100_bell); X Repeat`20 X New_pos(Pr,Pc);`20 X until ( Abs(pr-Rr)+abs(Pc-Rc)) > 20 ; X Dr := 0; X Dc := 0; X If S`5BPr,PC`5D = '`7E' then begin X Score := score + 1; X end; X end; X end; X 'E' : Pos_extra('X'); X 'X' : Pos_extra('T'); X 'T' : Pos_Extra('R'); X 'R' : Pos_Extra('A'); X 'A' : Score := Score + 250; X end; `7B case`7D `20 X If valid Then begin X pr := pr + dr ; X Pc := pc + dc ; X end; X at(pr,pc,'`60',0); X end; X XBegin X show_graphedt ('Door.scn'); X tim := 20; X Score := 0; X screen := 1; X Quit := False; X lives := 1; X repeat`20 X initalise; X Repeat`20 X Sleep_Start (tim); X Do_Move; X Sleep_Wait; X until ( lives = 0 ) or ( quit ) or ( num_dots = 0 ); Xuntil ( lives = 0 ) or ( quit ) ; Xtop_ten(score); `20 Xend. $ CALL UNPACK DOOR.PAS;1 1430597299 $ create 'f' X`1B`5BH`1B`5BJ`1B(B`1B`5B0m X`1B`5B1;1H`1B#6`1B`5B2;1H`1B#6`1B`5B3;1H`1B`5B7m The Game `1B`5B3;48H Comman Vds `1B`5B5;3H`1B`5B0mEat the food before the greebly gets you. 8`20 X`1B`5B5;53H- Up 6 - Right`1B`5B7;3HTrap him by opening and shutting door Vs.`1B`5B7;51H2 - Down 4 - left X`1B`5B9;1H`1B`5B7m Scoring `1B`5B9;51H`1B`5B0m5 - Halt`1B`5B11;3H1 point - V Eating Some Food.`1B`5B11;51H. - Stop/Start G X`1B`5B11;67Hame`1B`5B13;2H150 points - Eating The Letters E-X-T-R-A. 0 V - Knock hole in door facing X`1B`5B14;65HCosts 20 points`1B`5B15;1H`1B`5B7m Opening/Closing Doors `1B`5B1 V5;48H Objects `1B`5B17;3H`1B`5B0mOpen/Close a do X`1B`5B17;18Hor by ramming into them`1B`5B17;50H`1B`5B7m `1B`5B0m - Walls V * - Greebly`1B`5B19;3HDoors can only be opene X`1B`5B19;26Hd from one side`1B`5B19;50H`1B(0a `1B(B- Doors `1B(0`60 `1B(B V- You`1B`5B21;3HThe way the door pivots depe X`1B`5B21;32Hnds where`1B`5B21;50H`1B(0`7E `1B(B- Food`1B`5B23;3Hdepends on V where it was rammed.`1B`5B1;1H X`1B* X`1B* X`1B`5B1;2H*`1B* X`1B`5B1;1Hr *`1B* X`1B`5B1;1Hor *`1B* X`1B`5B1;2Hor *`1B* X`1B`5B1;1HDoor *`1B* X`1B`5B1;1H Door *`1B* X`1B`5B1;1H* Door *`1B* X`1B`5B1;1H * Door *`1B* X`1B`5B1;2H * Door *`1B* X`1B`5B1;3H * Door *`1B* X`1B`5B1;4H * Door *`1B* X`1B`5B1;5H * Door *`1B* X`1B`5B1;6H * Door *`1B* X`1B`5B1;7H * Door *`1B* X`1B`5B1;8H * Door *`1B* X`1B`5B1;9H * Door *`1B* X`1B`5B1;10H * Door *`1B* X`1B`5B1;11H * Door *`1B* X`1B`5B1;12H * Door *`1B* X`1B`5B1;13H * Door *`1B* X`1B`5B1;14H * Door *`1B* X`1B`5B2;40H*`1B* X`1B`5B2;39H* `1B* X`1B`5B2;38H* D`1B* X`1B`5B2;37H* Do`1B* X`1B`5B2;36H* Do`1B* X`1B`5B2;35H* Door`1B* X`1B`5B2;34H* Door `1B* X`1B`5B2;33H* Door *`1B* X`1B* X`1B`5B2;32H* Door * `1B* X`1B`5B2;31H* Door * `1B* X`1B`5B2;30H* Door * `1B* X`1B`5B2;29H* Door * `1B* X`1B`5B2;28H* Door * `1B* X`1B`5B2;27H* Door * `1B* X`1B`5B2;26H* Door * `1B* X`1B`5B2;25H* Door * `1B* X`1B`5B2;24H* Door * `1B* X`1B`5B2;23H* Door * `1B* X`1B`5B2;22H* Door * `1B* X`1B`5B2;21H* Door * `1B* X`1B`5B2;20H* Door * `1B* X`1B`5B2;19H* Door * `1B* X`1B`5B2;18H* Door * `1B* X`1B`5B2;17H* Door * `1B* X`1B`5B2;16H* Door * `1B* X`1B`5B2;15H* Door * `1B* X`1B`5B1;1H`1B#3`1B`5B2;1H`1B#4`1B* X`1B`5B1;14H`1B`5B7m * Door * `1B`5B2;14H * Door * `1B`5B0m`1B* X`1B`5B1;14H * Door * `1B`5B2;14H * Door * `1B* X`1B`5B23;48H`00`1B`5B23;48H`1B`5B1;5mHit to play `1B`5B0m`1B`5B1;1H X`1B* $ CALL UNPACK DOOR.SCN;1 1047596933 $ v=f$verify(v) $ EXIT