Listing of file='GUESS.BAS;01' on disk='vmedia/chip_106-sector.ccvf'
0 GOTO 65000 1 GOSUB 64000:GOTO 10 2 X= 56:Y= 10:ZZ= CALL (0):PLOT 3,X,Y:PRINT SPC( 7):PLOT 3,X,Y:RETURN 5 PLOT 14,6,6,3,2,7:PRINT SPC( 60):PRINT :PLOT 3,2,7:RETURN 6 FOR A= 1TO 3500:NEXT :RETURN 10 DIM R$(29),C(29):FOR A= 0TO 29:READ R$(A),C(A):NEXT 12 FOR A= 1TO PEEK (33209):C= FN R(10):NEXT 13 FILE "R",1,"PUZZL1",1:FILE "R",2,"PUZZL2",1:FILE "R",3,"PUZZL3",1 14 DATA "2 5 0",20,"4 0 0",24,"3 0 0",40,"BROKE",7,"1000 ",8,"2 0 0",16 15 DATA "1 0 0",48,"3 5 0",47,"4 5 0",25,"1 5 0",53,"2 5 0",20,"4 0 0",24 16 DATA "3 0 0",40,"PASS ",56,"5 0 0",39,"2 0 0",16,"1 0 0",48,"3 5 0",47 17 DATA "4 5 0",25,"1 5 0",53,"2 5 0",20,"4 0 0",24,"3 0 0",40,"PASS ",56 18 DATA "5 0 0",39,"2 0 0",16,"1 0 0",48,"3 5 0",47,"4 5 0",25,"1 5 0",53 19 FOR A= 0TO 4:READ V$(A):NEXT 20 DATA "P E R S O N","P L A C E","T H I N G","P H R A S E","T I T L E" 25 B$(0)= "naal":B$(1)= "e ":B$(2)= "obbm" 27 SB(0)= 2:SB(1)= 13:SB(2)= 25 29 REM --------------- DRAW BOARD --------------- 30 RESTORE 35:R= 1:Q= 3:Q1= 7:P1= 0 32 PLOT 29,15,27,24,6,56,12,2:FOR A= 1TO 6:READ X0,Y0,X1,T1 35 DATA 2,123,125,5,2,107,125,7,2,15,73,5,76,87,99,7,76,67,99,31,101,87,110,41 40 PLOT 250,X0,Y0,X1,247:FOR B= 1TO T1:PLOT 17:NEXT B:PLOT 1:NEXT A:PLOT 255 45 PLOT 6,6,3,40,11:PRINT "LETTERS":PLOT 3,42,12:PRINT "OUT" 50 FOR A= 16TO 28:PLOT 3,40,A:PRINT CHR$ (A+ 49);SPC( 5);CHR$ (A+ 62):NEXT A 55 PLOT 6,1,3,52,20,103,103,62 60 Y= 10:FOR A= 6TO 0STEP - 1:PLOT 6,C(A):PLOT 3,56,Y:PRINT SPC( 7) 65 PLOT 3,56,Y+ 1:PRINT " ";R$(A);" ":PLOT 3,56,Y+ 2:PRINT SPC( 7) 70 Y= Y+ 3:NEXT A:PLOT 6,60,3,0,12:PRINT 71 PRINT TAB( 4)" ```` ` ` ````` ```` ````" 72 PRINT TAB( 4)"` ` ` ` ` `" 73 PRINT TAB( 4)"` ``` ` ` ``` ````` `````" 74 PRINT TAB( 4)"` ` ` ` ` ` `" 75 PRINT TAB( 4)" ``` ``` ````` ```` ````":PRINT :PRINT :PLOT 6,57 76 PRINT TAB( 7)"` ` ` ` ``` `````" 77 PRINT TAB( 7)"` ` ` ` ` ` `" 78 PRINT TAB( 7)"` ` ` ````` ````` `" 79 PRINT TAB( 7)"` ` ` ` ` ` ` `" 80 PRINT TAB( 7)"````` ` ` ` ` `" 82 PLOT 6,56:PRINT :PRINT TAB( 7)"@ RAZAROO PRODUCTIONS" 84 REM ------------ GET PLAYER INFO ------------- 85 GOSUB 5:INPUT "HOW MANY PLAYERS ( 1 - 3 ) ";Z$:P= VAL (Z$)- 1 90 IF P< 0OR P> 2OR P< > INT (P)THEN 110 95 FOR A= 0TO P:GOSUB 5:PRINT "NAME OF PLAYER #";A+ 1;:INPUT " ( MAX 8 LETTERS ).... ";P$(A):M(A)= 0 100 P$(A)= LEFT$ (P$(A),8):PLOT 15,6,2,3,22* A+ 2,2:PRINT P$(A);" "; 105 IF LEN (P$(A))< 6THEN FOR B= LEN (P$(A))TO 6:PRINT ".";:NEXT B 110 PRINT " 0":NEXT A:GOSUB 5 114 REM --------- GET PUZZLE & PRINT IT --------- 115 GOSUB 2000:VL= 0:CN= 0 120 PLOT 6,63:FOR A= 11TO 26:PLOT 3,1,A:PRINT SPC( 36):PRINT :NEXT A 125 PLOT 27,10,15,6,1,3,41,16:PRINT SPC( 13):PLOT 3,47,16:PRINT SPC( 13) 130 PLOT 30,6,48:FOR A= 0TO L:X= 1 135 FOR B= 1TO LEN (A$(A)) 140 IF MID$ (A$(A),B,1)= " "THEN X= X+ 3:NEXT B 145 FOR C= 0TO 2:PLOT 3,X,6* A+ 11:PRINT B$(C):X= X+ 1:NEXT C,B,A 150 PLOT 29,27,24,6,6,3,4,29:PRINT "ROUND#";R;" ....... ";V$(V);" " 155 REM --------------- START PLAY --------------- 160 IF CN= CTTHEN GOTO 450 162 GOSUB 5:PRINT SPC( 8);P$(P1);:INPUT "'S TURN ..... PRESS RETURN TO SPIN ";Z$ 165 PLOT 15:FOR A= 1TO FN R(21)+ 21:PLOT 6,C(Q1):GOSUB 2:PRINT SPC( 7) 170 GOSUB 2:PRINT " ";R$(Q1):GOSUB 2:PRINT SPC( 7)"" 175 Q= Q+ 1:IF Q> 29THEN Q= 0 180 Q1= Q1+ 1:IF Q1> 29THEN Q1= 0 185 NEXT A 190 IF R$(Q)= "BROKE"THEN M(P1)= 0:GOSUB 4000:GOSUB 5:GOTO 415 195 IF R$(Q)= "PASS "THEN GOSUB 5:GOTO 420 200 GOSUB 5:INPUT "CHOOSE A LETTER - BUY A VOWEL - GUESS THE PUZZLE .... ";Z$:Z$= LEFT$ (Z$,1) 205 IF Z$= "G"THEN 225 210 IF Z$= "B"THEN 255 215 IF Z$= "L"THEN 300 220 GOTO 200 224 REM ----------- GUESS THE PUZZLE ------------ 225 GOSUB 5:INPUT "WHAT IS YOUR GUESS ... ";Z$ 230 Q$= Z$+ " ":GOSUB 2500:GOSUB 2530:Z$= Q$ 235 IF Z$= A$THEN 495 240 GOSUB 5:GOTO 410 245 P1= P1+ 1:IF P1> PTHEN P1= 0 250 GOTO 160 254 REM -------------- BUY A VOWEL -------------- 255 IF VL= 5THEN GOSUB 5:PRINT SPC( 20);"ALL VOWELS HAVE BEEN USED":GOSUB 6:GOTO 200 260 IF M(P1)< VAL (R$(Q))THEN GOSUB 5:PRINT SPC( 12);"YOU NEED ";VAL (R$(Q));" POINTS TO BUY A VOWEL":GOSUB 6:GOTO 200 265 GOSUB 5:PRINT SPC( 10);:INPUT "WHICH VOWEL: A - E - I - O - U ..... ";Z$:Z$= LEFT$ (Z$,1) 270 IF Z$= "A"OR Z$= "E"OR Z$= "I"OR Z$= "O"OR Z$= "U"THEN 280 275 GOTO 265 280 GOSUB 3000:GOSUB 5:IF K= 1THEN 405 282 VL= VL+ 1:M(P1)= M(P1)- VAL (R$(Q)):GOSUB 4000:PLOT 15 285 GOSUB 5:IF T= 0THEN GOTO 400 290 IF T= 1THEN PRINT SPC( 24);"THERE IS 1 ";Z$:GOSUB 6:GOSUB 4000:GOTO 160 295 PRINT SPC( 22);"THERE ARE";T;" ";Z$;" 'S":GOSUB 6:GOSUB 4000:GOTO 160 299 REM --------------- LETTER --------------- 300 GOSUB 5:PRINT SPC( 20);:INPUT "WHICH LETTER ..... ";Z$:Z$= LEFT$ (Z$,1) 305 IF ASC (Z$)< 65OR ASC (Z$)> 90THEN 300 310 IF Z$= "A"OR Z$= "E"OR Z$= "I"OR Z$= "O"OR Z$= "U"THEN GOSUB 5:PRINT SPC( 23);"";Z$;" IS A VOWEL":GOSUB 6:GOTO 300 315 GOSUB 3000:GOSUB 5:IF K= 1THEN GOTO 405 320 IF T= 0THEN GOTO 400 325 IF T= 1THEN PRINT SPC( 10);"THERE IS 1 ";Z$;:GOTO 335 330 PRINT SPC( 8);"THERE ARE";T;" ";Z$;" 'S"; 335 PRINT " FOR A TOTAL OF";T* VAL (R$(Q));" POINTS" 340 M(P1)= M(P1)+ (T* VAL (R$(Q))):GOSUB 4000 345 CN= CN+ 1:GOSUB 6:GOTO 160 400 PRINT SPC( 8);"THERE IS NO ";Z$;:GOTO 430 405 PRINT " ";Z$;" HAS ALREADY BEEN USED";:GOTO 430 410 PRINT SPC( 5);"THAT IS NOT CORRECT";:GOTO 430 415 PRINT SPC( 6);"B R O K E";:PLOT 14:PRINT " YOU LOOSE YOUR POINTS AND TURN":GOTO 435 420 PRINT SPC( 10);" P A S S "; 430 PRINT " --- SORRY, YOU LOSE YOUR TURN" 435 P1= P1+ 1:IF P1> PTHEN P1= 0 440 GOSUB 6:GOTO 160 445 REM ---------- ONLY VOWELS --------- 450 GOSUB 5:PRINT " NOTICE --- THERE ARE ONLY VOWELS LEFT IN THE PUZZLE":GOSUB 6 455 GOSUB 5:PRINT " STARTING WITH ";P$(P1);" EACH PLAYER GETS 1 LAST GUESS":GOSUB 6 460 FOR C= 0TO P:GOSUB 5:PRINT "YOUR GUESS ";P$(P1);:INPUT " ";Z$ 465 Q$= Z$+ " ":GOSUB 2500:GOSUB 2530:Z$= Q$ 470 IF Z$= A$THEN 495 475 GOSUB 5:PRINT SPC( 16);"SORRY, THAT IS NOT CORRECT":GOSUB 6 480 P1= P1+ 1:IF P1> PTHEN P1= 0 485 NEXT C 490 GOSUB 5:PRINT "THE PUZZLE WAS ... ";A$:GOSUB 6:GOTO 500 495 GOSUB 5:PRINT " *** CORRECT ***";:PLOT 14:PRINT " YOU GET";10* VAL (R$(Q));" POINTS *** CORRECT ***" 497 M(P1)= M(P1)+ 10* VAL (R$(Q)):GOSUB 4000:PLOT 14 500 FOR C= 65TO 90:Z$= CHR$ (C):GOSUB 3500:NEXT :GOSUB 6 510 R= R+ 1:IF R< 8THEN GOSUB 5:PRINT SPC( 15);:INPUT "PRESS RETURN FOR NEXT ROUND";Z$:GOTO 115 520 GOSUB 5:INPUT "THE GAME IS OVER --- WANT TO PLAY AGAIN ";Z$:Z$= LEFT$ (Z$,1) 525 IF Z$= "Y"THEN PLOT 6,2,12:GOTO 30 530 PLOT 27,11,6,2,12:FILE "C",1,2,3:GOTO 62000 2000 REM --------- GET WORDS FROM FILE ----------- 2010 GOSUB 5:PRINT SPC( 16);"W O R K I N G";:PLOT 14:PRINT " PLEASE WAIT" 2020 CT= 0:A$= "":L= FN R(3):L= L- 1 2030 GET L+ 1,1,1;G:G= G- 1:G= FN R(G):G= G+ 1 2040 FOR A= 0TO L 2050 K= 12:IF A= 0THEN K= 11 2060 GET L+ 1,G,SB(A);A$(A)[K] 2070 NEXT A 2080 GET L+ 1,G,1;V$[1]:V= VAL (V$):V= V- 1 2140 FOR B= 0TO L:Q$= A$(B):GOSUB 2500:A$(B)= Q$:A$= A$+ A$(B)+ " ":NEXT B 2150 Q$= A$:GOSUB 2500:A$= Q$ 2160 FOR B= 66TO 90:IF B= 69OR B= 73OR B= 79OR B= 85THEN 2200 2170 FOR C= 1TO LEN (A$) 2180 IF MID$ (A$,C,1)= CHR$ (B)THEN CT= CT+ 1:GOTO 2200 2190 NEXT C 2200 NEXT B:RETURN 2500 REM -------- LOP OFF END SPACES ------- 2510 S= LEN (Q$) 2520 IF MID$ (Q$,S,1)= " "THEN Q$= LEFT$ (Q$,S- 1):S= S- 1:GOTO 2520 2525 RETURN 2530 REM ------- LOP OFF MIDDLE SPACES -------" 2540 FOR S= 1TO LEN (Q$) 2550 IF MID$ (Q$,S,2)= " "THEN Q$= LEFT$ (Q$,S)+ RIGHT$ (Q$,LEN (Q$)- S- 1):GOTO 2550 2560 NEXT S:RETURN 2999 REM ------ CHECK LETTER USE ---------- 3000 K= 0:M= ASC (Z$)- 64 3010 M= ABS ((30674* (M< 14)+ (M< 14)* M* 128)+ (30686* (M> 13)+ (M> 13)* (M- 13)* 128)) 3020 IF PEEK (M)= 42THEN K= 1:RETURN 3030 POKE M,42 3499 REM ------- PRINT LETTERS ------- 3500 T= 0:PLOT 6,48:FOR A= 0TO L:X= 2:FOR B= 1TO LEN (A$(A)) 3510 IF Z$= MID$ (A$(A),B,1)THEN PLOT 3,X,6* (A+ 1)+ 6:PRINT Z$:T= T+ 1 3520 X= X+ 3:NEXT B,A:RETURN 4000 PLOT 15,6,7,3,22* P1+ 10,2:PRINT SPC( 8):PLOT 3,22* P1+ 10,2:PRINT M(P1):RETURN 62000 GOSUB 65410:AD= ER:Z= TM+ 34:GOSUB 65400:END 64000 GOSUB 65410:Z= 32624:AD= TM+ 2:GOSUB 65400 64010 POKE TM+ 5,20:POKE TM+ 7,14:POKE TM+ 9,128:POKE TM+ 10,255 64020 POKE TM+ 14,128:POKE TM+ 15,0:POKE TM+ 19,1:POKE TM+ 20,0 64080 Z= 114:POKE TM+ 27,Z:POKE TM+ 28,255:RETURN 65000 GOSUB 65410:RESTORE 65010 65010 DATA 33,-1,-1,6,-1,14,-1,17,-1,-1,25,126,17,-1,-1,25,119 65030 DATA 17,-1,-1,25,13,194,-1,-1,17,-1,-1,25,5,194,-1,-1,201 65040 IF TM> 65501THEN TM= TM- 34:GOTO 65080 65050 FOR J= 1TO 34:READ A1 65060 IF A1> = 0AND A1< > PEEK (TM+ J)THEN J= 34:TM= TM- 34 65070 NEXT J 65080 RESTORE 65010 65090 FOR J= 1TO 34:READ A1:POKE TM+ J,A1- (A1< 0):NEXT 65100 Z= TM+ 1:AD= 33283:GOSUB 65400 65110 Z= TM:AD= ER:GOSUB 65400 65120 Z= TM+ 6:AD= TM+ 32:GOSUB 65400 65130 Z= TM+ 8:AD= TM+ 24:GOSUB 65400 65140 CLEAR 500:DEF FN R(X)= INT (X* RND (1)+ 1):GOTO 1 65400 ZZ= INT (Z/ 256):POKE AD,Z- 256* ZZ:POKE AD+ 1,ZZ:RETURN 65410 ER= 32940:TM= 256* PEEK (ER+ 1)+ PEEK (ER):RETURN