home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / basic / library / gwbasic / friendly / boggy.bas < prev    next >
Encoding:
BASIC Source File  |  1994-05-25  |  4.2 KB  |  51 lines

  1. 10 SCREEN 0,0,0:COLOR 3,0:CLS
  2. 20 ON KEY(10) GOSUB 450
  3. 30 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);
  4. 40 LOCATE 4,30:COLOR 15,0:PRINT"B O G G Y   M A R S H"
  5. 50 LOCATE 8,23:PRINT"Would You Like Instructions? <Y/N>":COLOR 3,0
  6. 60 GOSUB 490:IF RP$="N" THEN 100 ELSE IF RP$<>"Y" THEN 60
  7. 70 LOCATE 8,15:PRINT"Welcome to  Boggy  Marsh.  In this simple adventure you":LOCATE 9,15:PRINT"will be trying to locate the  monsters of  Boggy  Marsh.":LOCATE 10,15:PRINT"For this task you will be given  10  guesses. To locate"
  8. 80 LOCATE 11,15:PRINT"the monster simply key in the  row and column of square":LOCATE 12,15:PRINT"you believe him to be in. After each guess, I will tell":LOCATE 13,15:PRINT"you in which  direction you need to go to find each one.
  9. 90 COLOR 15,0:LOCATE 25,27:PRINT" Strike Any Key To Continue ";:COLOR 3,0:GOSUB 490
  10. 100 CLS:DIM R(3):DIM C(3):NUMFOUND=0:HIT=0:XX=1:YY=1:GOSUB 470:RANDOMIZE(VAL(RIGHT$(TIME$,2)))
  11. 110 FOR I=1 TO 3:R(I)=FIX(RND(I)*10):J=I+3:C(I)=FIX(RND(J)*10):NEXT
  12. 120 IF (R(1)=R(2) AND C(1)=C(2)) OR (R(2)=R(3) AND C(2)=C(3)) OR (R(3)=R(1) AND C(3)=C(1)) THEN 110
  13. 130 FOR I=3 TO 21 STEP 2:FOR J=33 TO 80 STEP 5:LOCATE I,J:PRINT"███":NEXT:NEXT:LOCATE 1,33:PRINT" 0    1    2    3    4    5    6    7    8    9"
  14. 140 COLOR 15,0:LOCATE 1,28:PRINT"Col"CHR$(26):LOCATE 2,24:PRINT"Row":LOCATE 3,25:PRINT CHR$(25):COLOR 3,0
  15. 150 J=-1:FOR I=3 TO 21 STEP 2:J=J+1:LOCATE I,28:PRINT J:NEXT
  16. 160 COLOR 15,0:LOCATE 6,2:PRINT"Your Guess Please":PRINT" -----------------":PRINT" Row      Col    ":COLOR 3,0
  17. 170 FOR GUESS=1 TO 10:LOCATE 3,2:PRINT"Guesses Used"GUESS-1:LOCATE 8,6:PRINT" ":LOCATE 8,15:PRINT" ":LOCATE 8,6,1
  18. 180 GOSUB 490:IF RP$<"0" OR RP$>"9" THEN 180 ELSE ROW=VAL(RP$):LOCATE 8,5:PRINT ROW:LOCATE 8,15,1
  19. 190 GOSUB 490:IF RP$<"0" OR RP$>"9" THEN 190 ELSE COL=VAL(RP$):LOCATE 8,14,0:PRINT COL:PR=10:LOCATE 11,1:PRINT SPACE$(24):PRINT SPACE$(24):PRINT SPACE$(24)
  20. 200 FOR I=1 TO 3:LOCATE PR+1,1
  21. 210 IF R(I)=99 THEN PRINT"You've Killed Number"I:PR=PR+1:GOTO 330
  22. 220 IF ROW=R(I) AND COL=C(I) THEN PRINT"You Just Killed Number"I:GOSUB 440:        LOCATE ERSROW,ERSCOL,0:COLOR 20,0:PRINT CHR$(26)CHR$(2)CHR$(27):                COLOR 3,0:NUMFOUND=NUMFOUND+1:R(I)=99:PR=PR+1:HIT=1:GOTO 330
  23. 230 PRINT"GO ";
  24. 240 IF ROW=R(I) AND COL<C(I) THEN PRINT"East For No"I:GOTO 320
  25. 250 IF ROW=R(I) AND COL>C(I) THEN PRINT"West For No"I:GOTO 320
  26. 260 IF COL=C(I) AND ROW<R(I) THEN PRINT"South For No"I:GOTO 320
  27. 270 IF COL=C(I) AND ROW>R(I) THEN PRINT"North For No"I:GOTO 320
  28. 280 IF ROW<R(I) AND COL<C(I) THEN PRINT"Southeast For No"I:GOTO 320
  29. 290 IF ROW<R(I) AND COL>C(I) THEN PRINT"Southwest For No"I:GOTO 320
  30. 300 IF ROW>R(I) AND COL<C(I) THEN PRINT"Northeast For No"I:GOTO 320
  31. 310 IF ROW>R(I) AND COL>C(I) THEN PRINT"Northwest For No"I
  32. 320 PR=PR+1
  33. 330 NEXT I
  34. 340 IF HIT=0 THEN GOSUB 440 ELSE HIT=0
  35. 350 IF NUMFOUND=3 THEN GOSUB 480:CLS:LOCATE 5,27:PRINT"Congratulations, You Win":PRINT TAB(30)"In Only"GUESS"Guesses":GOTO 390
  36. 360 NEXT GUESS
  37. 370 PLAY "T140"+"MN"+"MB":PLAY "O3L8C.L16C"+"L2F.L8C.L16F":PLAY "L2A.L8C.L16F"+"L4A"+"L8C."+"L16F"+"L4A"+"L8C."+"L16F"+"L2A.":PLAY "O3"+"L8F.L16A"+"ML"+"O4L2C"+"MN"+"O3L4AL4FL2C.":PLAY "O3L8C.L16C"+"ML"+"L1F"+"MN"+"L4F"
  38. 380 CLS:LOCATE 5,33:PRINT"Sorry, You Lost"
  39. 390 LOCATE 9,24:PRINT"Would You Like To Play Again? <Y/N>"
  40. 400 GOSUB 490:IF RP$="Y" THEN ERASE R,C:GOTO 100 ELSE IF RP$<>"N" THEN 400
  41. 410 ON ERROR GOTO 420:RUN"MENU1"
  42. 420 ON ERROR GOTO 430:RUN"MENU2"
  43. 430 RUN"MENU3"
  44. 440 ERSROW=ROW*2+3:ERSCOL=COL*5+33:LOCATE ERSROW,ERSCOL:PRINT"   ":RETURN
  45. 450 XX=CSRLIN:YY=POS(0):KEY(10) OFF:LOCATE 25,1:PRINT SPC(79);:COLOR 15,0:LOCATE 25,25:PRINT"Do You Wish To Leave This Game? <Y/N>";:COLOR 3,0
  46. 460 GOSUB 490:IF RP$="Y" THEN 410 ELSE IF RP$<>"N" THEN 460
  47. 470 LOCATE 25,1:PRINT SPC(79);:COLOR 0,7:LOCATE 25,27:PRINT" Strike <F10> To Leave This Game ";:COLOR 3,0:LOCATE XX,YY:KEY(10) ON:RETURN
  48. 480 PLAY "T100"+"MN"+"MB":PLAY "ML"+"O2"+"L4E"+"MN"+"L8E"+"MN"+"L8E"+"L8F"+"L8F"+"P8":PLAY "L8EL8F.L16EL8DL8C"+"O1L4BL4G"+"O2L4GL8FL8DL16EL16DL16EL16F":PLAY "L8EL8CL8FL32FL32EL32DL32C"+"O1L8B."+"O2L16CL4C":RETURN
  49. 490 IF INKEY$<>"" THEN 490
  50. 500 DEF SEG=&H40:POKE &H17,(PEEK(&H17) OR 96):RP$=INKEY$:IF RP$="" THEN 500 ELSE RETURN
  51.