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

  1. 10 SCREEN 0,0,0:COLOR 3,0,0:LOCATE 1,1,0:ON KEY(10) GOSUB 910:KEY(10) ON:XLIN=1:XPOS=1:DEFINT A-C:DEFSTR P,Z:DIM A(20),B(40),PV(40),PZ(81),VL(81),TBL(1,50),PL(1),T(1),MATCH(1),KEEP(1,21):PTR="$$##,###.##":GOSUB 280:GOSUB 100
  2. 20 COLOR 3,0:GOSUB 130:IF FLAG=2 THEN GOSUB 500:GOTO 380 ELSE IF FLAG=1 THEN 550 ELSE 20
  3. 30 FOR A=1 TO 20:RANDOMIZE(VAL(RIGHT$(TIME$,2)))
  4. 40 A(A)=RND*80:IF A(A)=0 THEN 40 ELSE FOR B=1 TO A-1:IF A(B)=A(A) THEN B=A:A=A-1
  5. 50 NEXT B:SC=FIX(RND*89)+10:NEXT A
  6. 60 B(0)=1:FOR A=1 TO 20
  7. 70 C=RND*40:RANDOMIZE(VAL(RIGHT$(TIME$,2))):IF B(C)=0 THEN B(C)=A(A) ELSE 70
  8. 80 C=RND*40:IF B(C)=0 THEN B(C)=A(A) ELSE 80
  9. 90 NEXT A:FOR A=1 TO 40:READ PV(A):NEXT:FOR A=1 TO 80:READ PZ(A),VL(A):NEXT:RETURN
  10. 100 CLS:COLOR 4,0:LOCATE 1,3:PRINT"╔":FOR A=4 TO 74 STEP 15:LOCATE 1,A:PRINT STRING$(14,"═")"╦":NEXT:LOCATE 1,78:PRINT"╗":FOR A=2 TO 15 STEP 2:FOR B=3 TO 74 STEP 15:LOCATE A,B:PRINT"║";:NEXT B:LOCATE A,78:PRINT"║":LOCATE A+1,3:PRINT"╠"STRING$(15,"═")
  11. 110 FOR B=18 TO 74 STEP 15:LOCATE A+1,B:PRINT"╬"STRING$(15,"═"):NEXT B:LOCATE A+1,78:PRINT"╣":NEXT A:FOR B=3 TO 74 STEP 15:LOCATE 16,B:PRINT"║";:NEXT B:LOCATE 16,78:PRINT"║":LOCATE A+1,3:PRINT"╠"STRING$(15,"═"):LOCATE 17,3:PRINT"╚"
  12. 120 FOR A=4 TO 74 STEP 15:LOCATE 17,A:PRINT STRING$(14,"═")"╩":NEXT A:LOCATE 17,78:PRINT"╝":LOCATE 25,25:COLOR 0,7:PRINT" Strike <F10> To Leave This Game ";:COLOR 3,0:RETURN
  13. 130 C=0:FOR A=2 TO 17 STEP 2:FOR B=2 TO 74 STEP 15:LOCATE A,B+2:C=C+1:IF B(C)=0 THEN PRINT SPC(14) ELSE COLOR 0,7:PRINT"      "PV(C)"      ";:COLOR 3,0
  14. 140 NEXT B:NEXT A:FOR X=20 TO 23:LOCATE X,1:PRINT SPC(79);:NEXT:HOLD=0
  15. 150 COLOR 15,0:LOCATE 20,23:PRINT PL(T)",  What Is Your FIRST Choice?    ";:GOSUB 210:IF A=0 THEN GOSUB 230:GOSUB 260 ELSE 150
  16. 160 HOLD=GS:LOCATE 20,1:PRINT SPC(79)
  17. 170 COLOR 15,0:LOCATE 20,23:PRINT PL(T)",  What Is Your SECOND Choice?   ";:GOSUB 210:IF A=0 THEN GOSUB 230 ELSE 170
  18. 180 IF VL(B(HOLD))=-3 THEN SWAP HOLD,GS ELSE IF VL(B(GS))=-3 OR B(GS)=B(HOLD) THEN ELSE LOCATE 20,23:PRINT"      SORRY "PL(T)", But No Match                ";:FOR X=1 TO 1500:NEXT:T=T(T):RETURN
  19. 190 IF VL(B(HOLD))=-2 THEN 430 ELSE IF VL(B(HOLD))=-1 THEN 390 ELSE TBL(T,Q(T))=B(HOLD):B(GS)=0:B(HOLD)=0:LOCATE 20,22:PRINT"        ALLRIGHT, A Match !!";:PRINT SPC(25):FOR A=1 TO 6:SOUND 2000,1:SOUND 1000,1:NEXT:D=0:Q(T)=Q(T)+1
  20. 200 FOR A=0 TO Q(T):D=D+VL(TBL(T,A)):NEXT:GOSUB 800:GOTO 700
  21. 210 GS=0:GOSUB 850:FOR A=1 TO 40:IF P1=PV(A) THEN GS=A:A=0:IF GS=HOLD THEN ELSE IF B(GS)<>0 THEN RETURN ELSE ELSE NEXT A
  22. 220 LOCATE 20,23:PRINT"Invalid Choice. Please Try Again "PL(T);:PRINT SPC(4):GOSUB 520:LOCATE 20,10:PRINT SPC(60):RETURN
  23. 230 RW=(INT((GS-1)/5)+1)*2:XX=36
  24. 240 IF GS<6 THEN XX=1 ELSE IF GS<11 THEN XX=6 ELSE IF GS<16 THEN XX=11 ELSE IF GS<21 THEN XX=16 ELSE IF GS<26 THEN XX=21 ELSE IF GS<31 THEN XX=26 ELSE IF GS<36 THEN XX=31
  25. 250 COL=(GS-XX)*15:COLOR 11,0:LOCATE RW,COL+4:PRINT USING "&";PZ(B(GS));:COLOR 3,0:RETURN
  26. 260 IF VL(B(GS))<0 THEN ELSE LOCATE 22,25:PRINT"        Worth ";:PRINT USING PTR;VL(B(GS))
  27. 270 RETURN
  28. 280 CLS:COLOR 15,0:LOCATE 2,35:PRINT"M A T C H":LOCATE 6,23:PRINT"Would You Like Instructions? <Y/N>":COLOR 3,0
  29. 290 GOSUB 330:IF Z="Y" THEN GOSUB 560 ELSE IF Z<>"N" THEN 290
  30. 300 LOCATE 10,25:PRINT"And Then Strike Enter Key":LOCATE 6,20:PRINT"Player #1, Please Enter Your First Name ";:GOSUB 940:PL(1)=ZA:LOCATE 8,20:PRINT"Player #2, Please Enter Your First Name ";:GOSUB 940:PL(0)=ZA:T(0)=1:T(1)=0
  31. 310 LOCATE 10,20:PRINT"One Moment While I Generate A Game Board":GOSUB 30:RETURN
  32. 320 LOCATE 25,27:COLOR 14,0:PRINT"Strike Any Key To Continue";:COLOR 3,0
  33. 330 IF INKEY$<>"" THEN 330
  34. 340 DEF SEG=&H40:POKE &H17,(PEEK(&H17) OR 96):Z=INKEY$:IF Z="" THEN 340 ELSE RETURN
  35. 350 FOR A=1 TO 39:IF B(A)=0 THEN 370
  36. 360 FOR B=A+1 TO 40:IF B(A)=B(B) THEN RETURN ELSE NEXT B
  37. 370 NEXT A:FLAG=1:RETURN
  38. 380 CLS:LOCATE 1,25:PRINT PL(T)" These Are Your Prizes":GOSUB 480:LOCATE C+1,43:PRINT STRING$(12,"═"):LOCATE C+2,20:PRINT"Grand Total Of":LOCATE C+2,44:PRINT USING PTR;D:LOCATE 23,25:PRINT"Strike Any Key To Continue";:GOSUB 330:GOTO 530
  39. 390 B(GS)=0:B(HOLD)=0:IF Q(T(T))=0 THEN LOCATE 23,23:PRINT PL(T(T))" Has No Prizes To Take ":GOTO 200
  40. 400 GOSUB 520:CLS:T=T(T):GOSUB 480:T=T(T):LOCATE 21,30:PRINT"Which Prize Would You Like":LOCATE 22,35:PRINT"To Take, "PL(T);
  41. 410 GOSUB 890:B=VAL(Z):IF B<0 OR B>Q(T(T))-1 THEN LOCATE 23,30:PRINT"Please Try Again "PL(T)"    ":FOR X=1 TO 2000:NEXT:LOCATE 23,10:PRINT SPC(60):GOTO 410
  42. 420 LOCATE 22,1:PRINT SPC(79);:LOCATE 24,1:PRINT SPC(79);:TBL(T,Q(T))=TBL(T(T),B):TBL(T(T),B)=0:Q(T)=Q(T)+1:GOTO 470
  43. 430 B(GS)=0:B(HOLD)=0:IF Q(T)=0 THEN LOCATE 23,32:PRINT PL(T)" Has No Prizes To Lose ":GOTO 200
  44. 440 GOSUB 520:CLS:GOSUB 480:LOCATE 21,30:PRINT"Which Prize Would You Like":LOCATE 22,35:PRINT"To Lose, "PL(T);
  45. 450 GOSUB 890:B=VAL(Z):IF B<0 OR B>Q(T)-1 THEN LOCATE 22,27:PRINT"Please Try Again "PL(T)":FOR X=1 TO 2000:NEXT:LOCATE 22,10:PRINT SPC(60):GOTO 1590
  46. 460 TBL(T(T),Q(T(T)))=TBL(T,B):TBL(T,B)=0:Q(T(T))=Q(T(T))+1
  47. 470 B(GS)=0:B(HOLD)=0:GOSUB 800:GOTO 100
  48. 480 LOCATE 2,20:PRINT"Prize                         Value":LOCATE 3,20:PRINT STRING$(35,"═"):C=4:D=0
  49. 490 FOR A=0 TO Q(T)-1:C=C+1:A$=SPACE$(18):LSET A$=PZ(TBL(T,A)):LOCATE C,23:PRINT A;:PRINT USING "&";A$;:PRINT USING PTR;VL(TBL(T,A)):D=D+VL(TBL(T,A)):NEXT:RETURN
  50. 500 C=0:FOR A=2 TO 17 STEP 2:FOR B=0 TO 72 STEP 15:C=C+1:IF B(C)=0 THEN ELSE LOCATE A,B+4:PRINT USING "&";PZ(B(C))
  51. 510 NEXT B:NEXT A:LOCATE 23,1:PRINT SPC(79);:LOCATE 23,24:PRINT"Strike Any Key To See Your Prizes":GOTO 330
  52. 520 FOR A=1 TO 1500:NEXT A:RETURN
  53. 530 GOSUB 520:CLS:MATCH(T)=MATCH(T)+1:LOCATE 1,35:PRINT"The Score Is":LOCATE 2,25:PRINT PL(0)" Has Won "MATCH(0):LOCATE 3,25:PRINT PL(1)" Has Won "MATCH(1):LOCATE 8,35:COLOR 14,0
  54. 540 IF MATCH(0)=2 THEN PRINT PL(0)" Wins !!!!":GOTO 610 ELSE IF MATCH(1)=2 THEN PRINT PL(1)" Wins !!!!":GOTO 610
  55. 550 FOR A=1 TO 40:B(A)=0:NEXT:FOR A=0 TO Q(T)-1:KEEP(T,A+1)=TBL(T,A):TBL(T,A)=0:NEXT:KEEP(T,0)=Q(T)-1:Q(T)=0:Q(T(T))=0:TBL(T(T),0)=0:FLAG=0:LOCATE 23,20:PRINT"One Moment While I Generate A New Game Board":RESTORE:GOSUB 30:GOSUB 520:GOSUB 100:GOTO 20
  56. 560 CLS:FOR A=1 TO 23:LOCATE A,1:PRINT"│";:LOCATE A,80:PRINT"│";:NEXT:LOCATE 1,1:PRINT"╒"STRING$(78,"═")"╕";:LOCATE 23,1:PRINT"╘"STRING$(78,"═")"╛";
  57. 570 LOCATE 3,35:COLOR 15,0:PRINT"M A T C H":COLOR 3,0:LOCATE 5,19:PRINT"In this game, you will try to  match  prizes":LOCATE 6,19:PRINT"on the game board before your  opponent does.":LOCATE 8,19:PRINT"When you match a prize, you will be asked to
  58. 580 LOCATE 9,19:PRINT"guess a number between 10 AND 99.":LOCATE 10,19:PRINT"If you guess the secret number then You will":LOCATE 11,19:PRINT"win the match.":LOCATE 12,19:PRINT"I will  tell you if you are too  HIGH or too
  59. 590 LOCATE 13,19:PRINT"LOW. You must win 2 matches to win the game.":LOCATE 15,19:PRINT"If you do not guess the secret number before":LOCATE 16,19:PRINT"all  possible  matches  have  been made then
  60. 600 LOCATE 17,19:PRINT"the match  continues with a new  game  board":LOCATE 18,19:PRINT"and a new secret number.":LOCATE 20,35:PRINT"GOOD LUCK !!!":GOSUB 320:CLS:RETURN
  61. 610 GOSUB 700:CLS:COLOR 3,0:GOSUB 680:FOR A=0 TO KEEP(T,0):TBL(T,A)=KEEP(T,A+1):NEXT:Q(T)=KEEP(T,0)+1:GOSUB 690:LOCATE C+2,48:PRINT STRING$(12,"═")
  62. 620 LOCATE C+3,25:PRINT"Grand Total Of":LOCATE C+3,48:PRINT USING PTR;D:LOCATE 23,25:PRINT"Would You Like To Play Again? <Y/N>";
  63. 630 GOSUB 330:IF Z="Y" THEN RUN ELSE IF Z<>"N" THEN 630
  64. 640 CLS:LOCATE 12,25:PRINT"Thank You For Playing Match
  65. 650 CLEAR:ON ERROR GOTO 660:RUN"menu2.002"
  66. 660 CLEAR:ON ERROR GOTO 670:RUN"menu1.001"
  67. 670 RUN"menu3.003"
  68. 680 LOCATE 2,25:PRINT"Prize                         Value":LOCATE 3,25:PRINT STRING$(35,"═"):C=4:D=0
  69. 690 FOR A=0 TO Q(T)-1:C=C+1:A$=SPACE$(23):LSET A$=PZ(TBL(T,A)):LOCATE C,25:PRINT USING "&";A$;:PRINT USING PTR;VL(TBL(T,A)):D=D+VL(TBL(T,A)):NEXT:RETURN
  70. 700 FOR X=1 TO 2000:NEXT:RETURN
  71. 710 DATA A1,B1,C1,D1,E1,A2,B2,C2,D2,E2,A3,B3,C3,D3,E3,A4,B4,C4,D4,E4,A5,B5,C5,D5,E5,A6,B6,C6,D6,E6,A7,B7,C7,D7,E7,A8,B8,C8,D8,E8
  72. 720 DATA "   COLOR TV   ",650,"  WINNEBAGO   ",13540," SWISS  WATCH ",250,"  $5000 CASH  ",5000,"   $1 CASH    ",1,"   IBM P.C.   ",2300," FRIENDLYWARE ",49.95,"TRIP TO MEXICO",3000,"TRIP TO  JAPAN",6000,"  MINK  COAT  ",2300,"10 SPEED  BIKE",135
  73. 730 DATA "BOX OF BANANAS",5,"  SPEED BOAT  ",14000,"  NEW  TIRES  ",150," DISNEY  TRIP ",3000,"  SNOWMOBILE  ",3200,"MINOLTA CAMERA",550,"   BETAMAX    ",1150,"SEWING MACHINE",250,"  BRASS  BED  ",800,"  JACUZZI SPA ",4300,"  DISHWASHER  ",320
  74. 740 DATA "    WASHER    ",340,"    DRYER     ",320,"   TAKE ONE   ",-1,"   LOSE ONE   ",-2,"  WILD  CARD  ",-3,"   B&W  T-V   ",95,"  VOLKSWAGEN  ",5500," APPLE  CIDER ",3.98," JUG OF  MILK ",2.05,"  LAWN MOWER  ",230,"  $500  CASH  ",500
  75. 750 DATA "  DISK DRIVE  ",350,"ENCYCLOPEDIAS ",650,"   USED CAR   ",20,"    TOUPEE    ",29,"  BLOND  WIG  ",50,"CASSETTE  TAPE",65,"    STEREO    ",1000," TURKEY  FARM ",1200,"  GOLD RING   ",300," DIAMOND RING ",2300,"   CORVETTE   ",25000
  76. 760 DATA "  PATIO  SET  ",490," BEDROOM  SET ",900,"  SAIL  BOAT  ",6000,"  BRICK HOME  ",55000," MOBILE  HOME ",21000,"SHRIMP  DINNER",25,"  SURF BOARD  ",250,"  GOLF CLUBS  ",550,"SWIMMING  POOL",10000,"  BRIEF CASE  ",65," NEW WARDROBE ",800
  77. 770 DATA " SILK  SHEETS ",125,"  WATER  BED  ",450,"  WATER SKIS  ",120,"OUNCE OF  GOLD",500," BAR OF  SOAP ",.25," PET SQUIRREL ",75," OCEAN CRUISE ",5400," ROLEX CAMERA ",90,"SNORKEL & FINS",65,"LEATHER WALLET",10,"MX-80  PRINTER",550
  78. 780 DATA "BYTE  MAGAZINE",3," MOTOR  CYCLE ",3000,"  MINI  BIKE  ",150,"    MOPED     ",450," SILVER  BOWL ",250,"  TV  DINNER  ",1," FROZEN PIZZA ",2," AM-FM  RADIO ",25,"   CB-RADIO   ",140," TAMPA NUGGET ",.75,"   BED LAMP   ",15
  79. 790 DATA " 6 PACK/COORS ",3.15,"   SWING SET  ",230,"   SKILL SAW  ",55
  80. 800 LOCATE 22,3:PRINT PL(T)", For ";:PRINT USING PTR;D;:PRINT" In Prizes, Guess My Secret Number <10 to 99>";:GOSUB 850
  81. 810 IF GS=SC THEN PRINT"Congratulations "PL(T)" You WIN !!!":FLAG=2:FOR X=1 TO 5:SOUND 500,1:SOUND 200,1:SOUND 100,2:NEXT
  82. 820 IF GS<SC THEN PRINT"   Sorry, Too Low. But Still Your Turn.":SOUND 37,15
  83. 830 IF GS>SC THEN PRINT"   Sorry, Too High. But Still Your Turn.":SOUND 2000,15
  84. 840 GOSUB 350:GOSUB 520:RETURN
  85. 850 IF INKEY$<>"" THEN 850
  86. 860 P1=""
  87. 870 GOSUB 330:IF Z=CHR$(13) THEN 870 ELSE IF Z=CHR$(8) THEN IF LEN(P1)<1 THEN 870 ELSE PRINT CHR$(29)" "CHR$(29);:P1=LEFT$(P1,LEN(P1)-1):GOTO 870
  88. 880 P1=P1+Z:PRINT Z;:IF LEN(P1)<2 THEN 870 ELSE GS=VAL(P1):LOCATE 23,20,0:RETURN
  89. 890 Z1="":LOCATE 23,30:PRINT"Enter Choice Number ";
  90. 900 GOSUB 330:IF Z=CHR$(13) OR Z=CHR$(8) THEN 900 ELSE PRINT Z;:RETURN
  91. 910 KEY(10) OFF:XLIN=CSRLIN:XPOS=POS(0):LOCATE 25,22:COLOR 15,0:PRINT"Do You Wish To Leave This Game? <Y/N>";:COLOR 3,0
  92. 920 GOSUB 330:IF Z="Y" THEN 650 ELSE IF Z<>"N" THEN 920
  93. 930 LOCATE 25,1:PRINT SPC(78);:LOCATE 25,25:COLOR 0,7:PRINT" Strike <F10> To Leave This Game ";:COLOR 3,0:LOCATE XLIN,XPOS:KEY(10) ON:RETURN
  94. 940 ZH=""
  95. 950 GOSUB 330:ZI=Z:IF ZI=CHR$(13) THEN ZA=SPACE$(8):LSET ZA=ZH:RETURN
  96. 960 IF ZI=CHR$(8) THEN IF LEN(ZH)>0 THEN PRINT CHR$(29)" "CHR$(29);:ZH=LEFT$(ZH,LEN(ZH)-1) ELSE ELSE IF LEN(ZH)>7 THEN ELSE  ZH=ZH+ZI:PRINT ZI;
  97. 970 GOTO 950
  98.