home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / INFO / BASIC / FRIENDLY.ZIP / TOWERS.002 < prev    next >
Encoding:
Text File  |  1988-10-13  |  3.8 KB  |  37 lines

  1. 10 DEFSTR Z:WIDTH 80:SCREEN 0,0,0:COLOR 3,0,0:LOCATE ,,0:KEY OFF:ON KEY(10) GOSUB 230:GOSUB 180:FOR A=0 TO 8:TW(2,A)=A:READ RDK$(A),LDK$(A):NEXT:XLIN=1:YPOS=1:TRYS=-1:FIRSTTIME=0:GOSUB 160:GOSUB 250
  2. 20 TRYS=TRYS+1
  3. 30 COLOR 7,0:GOSUB 260:LOCATE 4,22:PRINT"Position Flashing Star Above Target Disk        ":LOCATE 5,22:PRINT"          Then Strike Enter Key                 ":COLOR 2,0:LOCATE 7,30:PRINT"Number Of Moves So Far"TRYS:IF TRYS>0 OR FIRSTTIME=1 THEN 50
  4. 40 LOCATE 14,16:COLOR 31,0:PRINT"**";:COLOR 3,0:FIRSTTIME=1:XPOS=POS(0)-2:NPOS=XPOS
  5. 50 GOSUB 340:IF RP$="4" THEN NPOS=XPOS-24 ELSE IF RP$="6" THEN NPOS=XPOS+24 ELSE IF RP$=CHR$(13) THEN 80 ELSE 50
  6. 60 IF NPOS<16 THEN NPOS=64 ELSE IF NPOS>64 THEN NPOS=16
  7. 70 LOCATE 14,XPOS:PRINT"  ";:LOCATE 14,NPOS:COLOR 31,0:PRINT"**";:COLOR 3,0:XPOS=NPOS:GOTO 50
  8. 80 IF NPOS=16 THEN PL=1 ELSE IF NPOS=40 THEN PL=2 ELSE IF NPOS=64 THEN PL=3
  9. 90 IF HOLD THEN 110 ELSE FOR DK=1 TO 8:IF TW(PL,DK) THEN HOLD=TW(PL,DK):HOLD1=PL:HOLD2=DK ELSE NEXT DK:GOTO 140
  10. 100 COLOR 14,0:LOCATE 4,22:PRINT"Position Flashing Star Above Target Tower":LOCATE 5,22:PRINT"          Then Strike Enter Key          ":GOTO 50
  11. 110 FOR DK=1 TO 8:IF TW(PL,DK) THEN ELSE NEXT DK:TW(PL,DK-1)=HOLD:GOTO 130
  12. 120 IF TW(PL,DK)>HOLD THEN TW(PL,DK-1)=HOLD ELSE 140
  13. 130 HOLD=0:TW(HOLD1,HOLD2)=0:LOCATE 24,1:PRINT SPC(79);:GOSUB 150:GOTO 20
  14. 140 LOCATE 24,1:PRINT SPC(79);:LOCATE 24,25:COLOR 15,0:PRINT"Invalid Move. Please Try Again.";:HOLD=0:FOR A=1 TO 2000:NEXT:LOCATE 24,1:PRINT SPC(79);:GOTO 30
  15. 150 COLOR 12,0:FOR A=1 TO 3:FOR B=1 TO 8:LOCATE B+14,(A-1)*24+7:PRINT RDK$(TW(A,B));:LOCATE B+14,(A-1)*24+18:PRINT LDK$(TW(A,B));:NEXT B:NEXT A:COLOR 3,0:RETURN
  16. 160 CLS:B=9:COLOR 12,0:FOR A=22 TO 14 STEP-1:B=B-1:LOCATE A,31:PRINT RDK$(TW(2,B));:LOCATE A,POS(0)+2:PRINT LDK$(TW(2,B)):NEXT:COLOR 2,0:LOCATE 23,5:PRINT STRING$(72,177):COLOR 3,0
  17. 170 FOR A=22 TO 15 STEP-1:LOCATE A,16:PRINT"▐▌":LOCATE A,40:PRINT"▐▌":LOCATE A,64:PRINT"▐▌":NEXT:RETURN
  18. 180 CLS:COLOR 6,0:LOCATE 1,1:PRINT STRING$(80,219):FOR A=2 TO 22:LOCATE A,1:PRINT"█":LOCATE A,80:PRINT"█":NEXT:LOCATE 23,1:PRINT STRING$(80,219);
  19. 190 LOCATE 3,24:COLOR 11,0:PRINT"T O W E R S   O F   A T L A N T I S":COLOR 15,0:LOCATE 8,25:PRINT"Would You Like Instructions? <Y/N>"
  20. 200 GOSUB 340:IF RP$="N" THEN CLS:RETURN ELSE IF RP$<>"Y" THEN 200
  21. 210 COLOR 7,0:LOCATE 7,21:PRINT"The game screen for Towers of Atlantis":LOCATE 8,21:PRINT"contains three towers.   By moving one":LOCATE 9,21:PRINT"Disk at a time,  and  never  placing a":LOCATE 10,21:PRINT"larger disk on a smaller one, move all
  22. 220 LOCATE 11,21:PRINT"disks to either of the outside towers.":LOCATE 12,21:PRINT"This may take all of two hundred fifty-":LOCATE 13,21:PRINT"three moves.":LOCATE 25,27:COLOR 15,0:PRINT"Strike Any Key To Continue";:GOTO 340
  23. 230 KEY(10) OFF:XLIN=CSRLIN:YPOS=POS(0):LOCATE 25,1:PRINT SPC(79);:COLOR 15,0:LOCATE 25,24:PRINT"Do You Wish To Leave This Game? <Y/N>";:COLOR 3,0
  24. 240 GOSUB 340:IF RP$="Y" THEN 310 ELSE IF RP$<>"N" THEN 240
  25. 250 LOCATE 25,1:PRINT SPC(79);:LOCATE 25,25:COLOR 0,7:PRINT" Strike <F10> to leave this game ";:COLOR 7,0:LOCATE XLIN,YPOS,0:KEY(10) ON:RETURN
  26. 260 CT1=0:CT2=0:FOR LP=1 TO 8:IF TW(1,LP) THEN CT1=CT1+1
  27. 270 IF TW(3,LP) THEN CT2=CT2+1
  28. 280 NEXT LP:IF CT1<>8 AND CT2<>8 THEN RETURN
  29. 290 LOCATE 10,23:PRINT"     You Made It In"TRYS"Moves":LOCATE 11,23:PRINT"Would You Like To Play Again? <Y/N>";
  30. 300 GOSUB 340:IF RP$="Y" THEN RUN ELSE IF RP$<>"N" THEN 300
  31. 310 CLEAR:ON ERROR GOTO 320:RUN"menu2.002"
  32. 320 CLEAR:ON ERROR GOTO 330:RUN"menu1.001"
  33. 330 RUN"menu3.003"
  34. 340 IF INKEY$<>"" THEN 340
  35. 350 DEF SEG=&H40:POKE &H17,(PEEK(&H17) OR 96):RP$=INKEY$:IF RP$="" THEN 350 ELSE RETURN
  36. 360 DATA "         ","         ","       ▄▄","▄▄       ","      ▄▄▄","▄▄▄      ","     ▄▄▄▄","▄▄▄▄     ","    ▄▄▄▄▄","▄▄▄▄▄    ","   ▄▄▄▄▄▄","▄▄▄▄▄▄   ","  ▄▄▄▄▄▄▄","▄▄▄▄▄▄▄  "," ▄▄▄▄▄▄▄▄","▄▄▄▄▄▄▄▄ ","▄▄▄▄▄▄▄▄▄","▄▄▄▄▄▄▄▄▄"
  37.