home *** CD-ROM | disk | FTP | other *** search
- 1 REM BASICODE 2 ROUTINES DOOR HENK WEVERS
- 2 REM NADERE INLICHTINGEN BASICODE
- 3 REM NOS, HOBBYSCOOP HILVERSUM
- 5 PRINT CHR$(26);:WIDTH(255)
- 10 GOTO 1000
- 20 GOTO 1010
- 100 PRINT CHR$(26);:RETURN
- 110 REM
- 111 IF HO>51 THEN HO=51
- 112 IF VE>23 THEN VE=23
- 113 PRINT CHR$(27);"=";CHR$(VE+32);CHR$(HO+32);
- 115 RETURN
- 120 HO=PEEK(&HEF5A):VE=PEEK(&HEF5B)-&HF0
- 121 VE=VE*2
- 122 IF HO>127 THEN HO=HO-128:VE=VE+1
- 123 VE=VE-PEEK(&HEF62):IF VE<0 THEN VE=32+VE
- 124 RETURN
- 200 IN$=INKEY$:RETURN
- 210 GOSUB 200:IF IN$="" THEN 210
- 211 RETURN
- 250 PRINT CHR$(7);:RETURN
- 260 RV=RND(1):RETURN
- 270 FR=FRE(2):RETURN
- 300 SR$=STR$(SR)
- 301 Q7=LEN(SR$):IF Q7=0 THEN RETURN
- 302 IF RIGHT$(SR$,1)<>" " THEN 304
- 303 SR$=LEFT$(SR$,Q7-1):GOTO 301
- 304 IF LEFT$(SR$,1)<>" " THEN RETURN
- 305 SR$=RIGHT$(SR$,Q7-1):GOTO 301
- 310 Q4=SR:IF CN<>0 THEN 316
- 312 SR=INT(SR+.5):GOSUB 300:GOTO 330
- 316 Q5=SGN(SR):SR=ABS(SR):Q8=INT(SR):Q9=SR-Q8
- 318 FOR Q6=1 TO CN:Q9=Q9*10:NEXT Q6
- 320 Q9=INT(Q9+.5):SR=Q9:GOSUB 300
- 322 Q9$=RIGHT$("00000000000000000000"+SR$,CN)
- 324 IF Q8=0 AND Q9=0 THEN Q5=1
- 326 SR=Q8:GOSUB 300:IF Q5=-1 THEN SR$="-"+SR$
- 328 SR$=SR$+"."+Q9$
- 330 IF LEN(SR$)<=CT THEN 334
- 332 SR$=LEFT$("********************",CT):GOTO 340
- 334 SR$=RIGHT$(" "+SR$,CT)
- 340 SR=Q4:RETURN
- 350 LPRINT SR$;:RETURN
- 360 LPRINT:RETURN
- 1000 A=100:GOTO 20
- 1010 GOTO 10000:REM INITIALISEER
- 1020 :
- 1030 :REM START VAN HET HOOFDPROGRAMMA
- 1040 :
- 1050 GOSUB 100:PRINT"Goed, dan gaan we beginnen."
- 1060 PRINT:PRINT
- 1070 PRINT"Jullie moeten afspreken wie A en B is,"
- 1080 PRINT
- 1090 PRINT"en ik wil graag weten welk het hoogste"
- 1100 PRINT"getal in het schema is waarmee jullie"
- 1110 PRINT"willen spelen.":PRINT
- 1120 PRINT"Kies dat getal, maximaal 91.";
- 1130 INPUT GI
- 1140 IF GI<92 AND GI>2 THEN 1220
- 1150 PRINT:PRINT"Je keuze was ";GI;" en dat ligt toch niet"
- 1160 PRINT"tussen 2 en 92 ?"
- 1170 PRINT:PRINT
- 1180 PRINT"K i e s o p n i e u w "
- 1190 FOR I=1 TO 20*TF:NEXT I
- 1200 GOTO 1050
- 1210 :
- 1220 BE=0:GOSUB 8020
- 1230 GOSUB 3020:REM VUL IN TOT GI
- 1240 FOR GW=2 TO GI:GT(GW)=1:NEXT GW:IF GI=91 THEN 1270
- 1250 FOR GW=GI+1 TO 91:GT(GW)=0
- 1260 NEXT GW
- 1270 SA=0:SB=0:REM SCORES
- 1280 GOSUB 9020:GOSUB 6020:REM PRINT DE STAND
- 1290 FOR I=1 TO 30*TF:NEXT I
- 1300 :
- 1320 VE=21:HO=0:GOSUB 110:PRINT SP$:PRINT SP$:PRINT SP$;
- 1330 VE=21:HO=0:GOSUB 110
- 1340 PRINT"Speler "CHR$(65+BE)" kiest: ";
- 1350 GOSUB 4020
- 1360 HG=16:GI=0:TE=30:TP=0:CS=1:GOTO 1470
- 1370 GOSUB 5020:REM GET KR
- 1380 IF IN$=""THEN 1440
- 1390 IF KR=13 THEN 1500
- 1400 KR=KR-48:IF KR<0 OR KR>9 THEN 1440
- 1410 GI=10*GI+KR
- 1420 VE=21:HO=16:GOSUB 110:SR=GI:GOSUB 300:PRINT SR$
- 1430 HG=HG+1
- 1440 TE=TE+1:IF TE+TE<TF THEN 1370
- 1450 TE=0:HO=HG:VE=21:GOSUB 110
- 1460 PRINT MID$("ox",CS,1):CS=3-CS
- 1470 TP=TP+CS-1
- 1480 VE=10:HO=30:GOSUB 110:PRINT"Tyd: ";:SR=TP
- 1490 GOSUB 300:PRINT SR$;" ":GOTO 1370
- 1500 REM GETAL IS BINNEN
- 1510 HO=HG:VE=21:GOSUB 110:PRINT" ";
- 1520 IF GI>91 THEN 1550
- 1530 IF GT(GI)=1 THEN 1600
- 1540 :
- 1550 VE=22:HO=0:GOSUB 110
- 1560 PRINT"Jammer "CHR$(65+BE)", maar dat getal is al weg."
- 1570 PRINT" K i e s o p n i e u w ! ! ! ";
- 1580 FOR I=1 TO 40*TF:NEXT I
- 1590 GOTO 1320
- 1600 PRINT"en krijgt ";
- 1610 SR=GI:GOSUB 300
- 1620 PRINT SR$;" pt."
- 1630 GW=GI:GOSUB 7020
- 1640 PRINT" "
- 1650 :
- 1660 FOR I=1 TO 15*TF:NEXT I
- 1670 :
- 1680 VE=23:HO=0:GOSUB 110:PRINT"Speler "CHR$(66-BE);
- 1690 SR=TP:GOSUB 300:PRINT" krijgt ";SR$;" pt";
- 1700 FOR I=1 TO 20*TF:NEXT I
- 1710 BR=9
- 1720 FOR GW=2 TO GI-1
- 1730 :IF GT(GW)=0 THEN 1870
- 1740 :IF GI<>GW*INT(GI/GW)THEN 1870
- 1750 :CT=2:CN=0:SR=GW:GOSUB 310
- 1760 :GOSUB 7020:REM POSITIONEER
- 1770 :GOSUB 250:FOR I=1 TO 20
- 1780 ::GOSUB 110:IF 2*INT(I/2)=I THEN 1800
- 1790 ::PRINT SR$;:GOTO 1810
- 1800 ::PRINT" ";
- 1810 ::FOR II=1 TO 5:NEXT II
- 1820 :NEXT I
- 1830 :TP=TP+GW
- 1840 :VE=23:HO=16:GOSUB 110
- 1850 :SR=TP:GOSUB 300
- 1860 :PRINT SR$;" pt.";
- 1870 NEXT GW
- 1880 GW=GI:GOSUB 7020:PRINT" ";
- 1890 IF BE=0 THEN SA=SA+GI:SB=SB+TP
- 1900 IF BE=1 THEN SB=SB+GI:SA=SA+TP
- 1910 BE=1-BE
- 1920 FOR J=2 TO 91:IF GT(J)=1 THEN J=101:GOTO 1280
- 1930 NEXT J
- 1940 :
- 1950 :GOSUB 100:PRINT" * * * E I N D S T A N D * * * "
- 1960 :PRINT" ******************************* "
- 1970 PRINT:PRINT
- 1980 PRINT"Speler A heeft "SA" punten,"
- 1990 PRINT:PRINT
- 2000 PRINT"Speler B heeft "SB" punten."
- 2010 W$="":IF SA>SB THEN W$="a"
- 2020 IF SA<SB THEN W$="b"
- 2030 IF W$=""THEN 2070
- 2040 PRINT:PRINT:PRINT
- 2050 PRINT"Dus "W$" heeft gewonnen !"
- 2060 GOTO 2090
- 2070 PRINT:PRINT:PRINT
- 2080 PRINT" G e l i j k s p e l !"
- 2090 FOR I=1 TO 120*TF:NEXT I
- 2100 VE=20:HO=0:GOSUB 110:PRINT"Nog een spelletje ?"
- 2110 GOSUB 4020
- 2120 PRINT:PRINT"tik J of N"
- 2130 GOSUB 5020:IF IN$=""THEN 2130
- 2140 IN$=CHR$(KR)
- 2150 IF IN$="j"OR IN$="J"THEN 1050
- 2160 PRINT"Jammer, d a a a a g....
- 2170 END
- 2180 :
- 3000 :REM SUBROUTINE VUL IN TOT GI
- 3010 :
- 3020 CT=2:CN=0
- 3030 FOR SR=2 TO GI:GW=SR
- 3040 :GOSUB 7020:GOSUB 310:PRINT SR$
- 3050 NEXT SR
- 3060 RETURN
- 3070 :
- 4000 :REM SR LEDIG INPUTBUFFER
- 4010 :
- 4020 GOSUB 200:IF IN$<>""THEN 4020
- 4030 RETURN
- 4040 :
- 5000 :REM SR GET ASCII CHR KR
- 5010 :
- 5020 GOSUB 200:IF IN$=""THEN RETURN
- 5030 KR=ASC(IN$)
- 5040 IF KR>95 THEN KR=KR-32:GOTO 5040
- 5050 RETURN
- 5060 :
- 6000 :REM SR PRINT DE STAND
- 6010 :
- 6020 VE=6:HO=32:GOSUB 110:SR=SA:GOSUB 300:PRINT SR$
- 6030 VE=17:GOSUB 110:SR=SB:GOSUB 300:PRINT SR$
- 6040 GOSUB 250
- 6050 FOR I=1 TO 3*TF:NEXT I
- 6060 RETURN
- 6070 :
- 7000 :REM SR POSITIONEER VOOR GW
- 7010 :
- 7020 RE=INT((GW-2)/9):REM REGEL
- 7030 KO=GW-9*RE:REM KOLOM
- 7040 VE=RE+RE+1:HO=3*KO-5:GOSUB 110
- 7050 GT(GW)=0
- 7060 RETURN
- 7070 :
- 8000 :REM SR ZET NIEUWE TEKENING
- 8010 :
- 8020 GOSUB 100
- 8030 BO$="+--------------------------+"
- 8040 TR$="!--+--+--+--+--+--+--+--+--!"
- 8050 CR$="! ! ! ! ! ! ! ! ! !"
- 8060 PRINT BO$:PRINT CR$
- 8070 FOR I=1 TO 9:PRINT TR$:PRINT CR$:NEXT I
- 8080 PRINT BO$
- 8090 RETURN
- 8100 :
- 9000 REM SUBROUTINE STANDVENSTERS
- 9010 :
- 9020 FOR I=0 TO 1
- 9030 HO=30:VE=1+11*I:GOSUB 110:PRINT"+--------+"
- 9040 VE=VE+1:GOSUB 110
- 9050 PRINT"!Speler ";CHR$(65+I);"!"
- 9060 VE=VE+1:GOSUB 110:PRINT"! !"
- 9070 VE=VE+1:GOSUB 110:PRINT"! Stand: !"
- 9080 FOR II=1 TO 3
- 9090 VE=VE+1:GOSUB 110:PRINT"! !"
- 9100 NEXT II
- 9110 VE=VE+1:GOSUB 110:PRINT"+--------+"
- 9120 NEXT I
- 9130 RETURN
- 9140 :
- 10000 SP$=" "
- 10010 DIM GT(91)
- 10020 TF=30:REM TIJDFACTOR, KIES
- 10030 :REM MEER BIJ SNELLE-
- 10040 :REM MINDER BIJ LANGZAME-
- 10050 :REM COMPUTERS
- 10060 GOSUB 100
- 10070 PRINT" D E L E R S"
- 10080 GOSUB 11020
- 10090 PRINT:PRINT:PRINT:PRINT:PRINT:PRINT
- 10100 PRINT" Een leerzaam spel voor twee personen"
- 10110 GOSUB 11020
- 10120 PRINT:PRINT:PRINT:PRINT
- 10130 PRINT" Wil je uitleg ?"
- 10140 PRINT:PRINT" (antwoord met J of N )"
- 10150 GOSUB 4020:REM FLUSH BUFFER
- 10160 GOSUB 5020:IF IN$=""THEN 10160
- 10170 IN$=CHR$(KR)
- 10180 IF IN$="n"OR IN$="N"THEN 1050
- 10190 IF IN$<>"j"AND IN$<>"J"THEN 10160
- 10200 GOSUB 100:GOSUB 20020:GOSUB 100:GI=25:GOTO 1220
- 10210 GOTO 1050:REM PROGRAMMASTART
- 10220 :
- 11000 :REM SR WACHT TOT IN$
- 11010 :
- 11020 FOR I=1 TO 100
- 11030 GOSUB 200:IF IN$<>""THEN I=100
- 11040 NEXT I
- 11050 RETURN
- 11060 :
- 20000 :SRUITLEG
- 20010 :
- 20020 RESTORE:CO=1
- 20030 GOSUB 4020:REM FLUSH BUFFER
- 20040 READ P$
- 20050 IF P$="*"THEN FOR I=1 TO 1000:NEXT I:GOSUB 100:GOTO 20040
- 20060 GOSUB 200:IF IN$=""THEN 20080
- 20070 RETURN
- 20080 IF P$<>"$"THEN 20140
- 20090 FOR I=1 TO 800:NEXT I
- 20100 GOSUB 8020:REM PRINT SCHEMA
- 20110 GI=91:GOSUB 3000:REM VUL HET
- 20120 FOR I=1 TO 2000:NEXT I
- 20130 GOTO 20040
- 20140 IF P$="#"THEN RETURN
- 20150 FOR I=1 TO LEN(P$)
- 20160 T$=MID$(P$,I,1)
- 20170 IF T$="&"THEN PRINT:GOTO 20210
- 20180 IF T$="*"THEN GOSUB 120:GOTO 20210
- 20190 IF T$="="THEN GOSUB 110:GOTO 20210
- 20200 :PRINT T$;
- 20210 :FOR II=1 TO TF:NEXT II
- 20220 NEXT I
- 20230 FOR II=1 TO 200:NEXT II:PRINT:GOTO 20040
- 20240 :
- 30000 DATA" D E L E R S "
- 30010 DATA"&&Een spel voor twee personen."
- 30020 DATA"&De speler die aan de beurt is mag een"
- 30030 DATA"getal kiezen uit het schema."
- 30040 DATA"&&Maar je hebt het spel nog niet gespeeld"
- 30050 DATA"dus ik kan je beter het schema eens"
- 30060 DATA"laten zien ..."
- 30070 DATA"&&Een ogenblikje,"
- 30080 DATA"$" :REM SCHEMA
- 30090 DATA"*"
- 30100 DATA"&&Gezien ?"
- 30110 DATA"&Je zag in het schema dus alle getallen"
- 30120 DATA"van 2 tot 91."
- 30130 DATA"&De speler die aan de beurt is mag een"
- 30140 DATA"getal kiezen uit het schema."
- 30150 DATA"&En krijgt dan net zoveel punten als dat"
- 30160 DATA"getal is,"
- 30170 DATA"&&&&&Dus als hij 60 kiest krijgt hij ook 60"
- 30180 DATA"punten."
- 30190 DATA"&&Maar....."
- 30200 DATA"*"
- 30210 DATA"Het is nog wat ingewikkelder."
- 30220 DATA"&Als je bijvoorbeeld het getal 60 kiest,"
- 30230 DATA"&dan heb ik al snel uitgezocht dat 60"
- 30240 DATA"een aantal delers heeft,"
- 30250 DATA"&Namelijk: 2, 3, 4, 5, 6, 10, 12, 15,"
- 30260 DATA"20 en 30"
- 30270 DATA"&Opgeteld is dat 107."
- 30280 DATA"&Dat betekent dan dat de andere speler"
- 30290 DATA"107 punten er bij krijgt."
- 30300 DATA"*"
- 30310 DATA"Dan is er nog iets...."
- 30320 DATA"&&Terwijl je aan het denken bent welk"
- 30330 DATA"getal je zult kiezen, "
- 30340 DATA"tikt de tijd verder. "
- 30350 DATA"Elke seconde een seconde erbij..... "
- 30360 DATA"& *1"," =2"," =3"," =4"
- 30370 DATA" =5"," =6"," =7"," =8"
- 30380 DATA" = "
- 30390 DATA"&&Je ziet de tijd dus in het beeld."
- 30400 DATA"Elke seconde denktijd levert eveneens "
- 30410 DATA"een punt voor de ander op."
- 30420 DATA" "
- 30430 DATA"*"
- 30440 DATA"Samengevat:"
- 30450 DATA"&Wie aan de beurt is krijgt als punten"
- 30460 DATA"het gekozen getal, "
- 30470 DATA"&&de ander krijgt als punten het aantal"
- 30480 DATA"seconden bedenktijd, "
- 30490 DATA"&plus de som van alle delers in het"
- 30500 DATA"gekozen getal. "
- 30510 DATA"&Maar dat geldt alleen voor de delers"
- 30520 DATA"die nog in het schema staan :"
- 30521 REM 10020-10050 EVEN AAN ?
- 30522 REM MIJNE, PAST U DAN REGELS
- 30523 REM OF LANGZAMER LOOPT DAN DE
- 30524 REM ALS UW COMPUTER SNELLER
- 30525 REM
- 30526 REM AANGEPAST VOOR BASICODE-2
- 30527 REM DEZE VERSIE DD. 821227
- 30528 REM
- 30529 REM EINDHOVEN
- 30530 REM J. HAUBRICH
- 30531 REM
- 30532 REM EEN PROGRAMMA VAN:
- 30533 REM
- 30534 REM D E L E R S
- 30535 REM
- 30536 REM ORIGINELE VERSIE DD 820127
- 30540 DATA"&zodra een getal is gekozen of als deler"
- 30550 DATA"is weggegeven, verdwijnt het. "
- 30560 DATA"*"
- 30570 DATA"Ja, en dan nog iets."
- 30580 DATA" "
- 30590 DATA"&Af en toe moet je een getal aan mij","opgeven,"
- 30600 DATA"dat doe je door de cijfers een voor een"
- 30610 DATA"aan te tikken,"
- 30620 DATA" "
- 30630 DATA"en na het laatste cijfer op de <RETURN>"
- 30640 DATA"toets te drukken."
- 30650 DATA" "
- 30660 DATA"Als je wat moet intikken, dan geef ik"
- 30670 DATA"dat aan als volgt:"
- 30680 DATA"& *x"
- 30690 DATA"=o","=x","=o","=x","=o","=x"
- 30700 DATA"=o","=x","=o","=x","=o","=x"
- 30710 DATA" =x"
- 30720 DATA"= "
- 30730 DATA"Gesnapt ? "
- 30740 DATA"&als het teken knippert dan wacht ik"
- 30750 DATA"totdat je een toets aanraakt."
- 30760 DATA"&&Vergeet niet, als laatste op de"
- 30770 DATA" <RETURN> toets te drukken."
- 30780 DATA"*"
- 30790 DATA"Waarschijnlijk is het nog niet allemaal"
- 30800 DATA"helemaal duidelijk, maar dat geeft niet."
- 30810 DATA"&&&&Als dat nodig is help ik je wel."
- 30820 DATA"&&&We zullen maar gewoon beginnen."
- 30830 DATA" "
- 30840 DATA"#" :REM EINDE DATA
- 30850 DATA"%"
- 30860 :
- ullen maar gewoon