home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
RUN Flagazine: Run 12
/
run12.zip
/
OPGELOST.BAS
< prev
next >
Wrap
BASIC Source File
|
1994-05-01
|
3KB
|
46 lines
100 REM MOOIERE EGA-SCHERMEN DOOR KOOS VAN EGMOND (C) RUN FLAGAZINE
110 SCREEN 9:KEY OFF:CLS:DIM GAK%(100),B%(2500):DET$=" Druk een toets "
120 PI=4*ATN(1):LINE(5,5)-(635,345),14,B:FOR M=0 TO 1:FOR N=1 TO 0 STEP -1
130 LINE(5+ABS(N-M)*585,5+M*307)-STEP(45,33),0,BF:EP=EP+.5*PI:X=50+540*ABS(N-M)
140 CIRCLE(X,38+274*M),45,14,BP,EP:BP=BP+.5*PI:NEXT N,M:PAINT(60,6),1,14
150 FOR M=0 TO 1:FOR N=0 TO 1:CIRCLE(75+500*N-8*M,53-6*M),20,12*M:HK=12*M+N
160 LINE(75-8*M,38+N-6*M)-STEP(500,30-N*2),HK,BF:NEXT N:PAINT(100,55),8*M,12*M
170 NEXT M:GPRINT$="In grafische mode teksten een achtergrondkleur geven"
180 GCOLOR$="7,8":GLOCATE$="4,13":GOSUB 10000:GCOLOR$="10,1":GLOCATE$="6,31"
190 GPRINT$="Kent u dit probleem?":GOSUB 10000:LINE(50,100)-STEP(30,30),7,BF
200 Q$=CHR$(34):FOR N=0 TO 1:LINE(50+N,130-N)-STEP(30-2*N,0),8
210 LINE-STEP(0,-30+2*N),8:LINE-STEP(-30+N*2,0),15:LINE-STEP(0,30-2*N),15
220 LINE(60+N,120-N)-STEP(10-2*N,0),15:LINE-STEP(0,-10+2*N),15
230 LINE-STEP(-10+2*N,0),8:LINE-STEP(0,10-2*N),8:NEXT N:GET(65,100)-(80,130),B%
240 FOR N=0 TO 510 STEP 2:PUT(65+N,100),B%,PSET:NEXT N:GET(50,114)-(590,130),B%
250 FOR N=0 TO 190 STEP 5:PUT(50,113+N),B%,PSET:NEXT N:FOR N=1 TO 7:READ VK$,R$
260 READ GPRINT$:GCOLOR$=VK$+",7":GLOCATE$=R$+",10":GOSUB 10000:GCOLOR$="9,14"
270 NEXT N:GLOCATE$="17,47":GPRINT$=" DIM GAK%(100) ":GOSUB 10000:GCOLOR$="15,7"
280 GLOCATE$="22,55":GPRINT$="<Esc>=stoppen":GOSUB 10000:GCOLOR$="1,7"
290 GLOCATE$="13,18":GPRINT$="GPRINT$="+Q$+DET$+Q$+":GOSUB 10000":GOSUB 10000
300 RVK$="+15":RAK$="+1":WHILE INKEY$<>"":WEND:GOTO 330
310 RVK$=STR$(INT(RND*16)):RAK$=STR$(INT(RND*16)):IF RVK$=RAK$ THEN GOTO 310
320 WHILE I$="":I$=INKEY$:WEND:IF I$=CHR$(27) THEN GOTO 360
330 GCOLOR$="1,7":GLOCATE$="12,18":VAK$=MID$(RVK$,2,2)+","+MID$(RAK$,2,2)
340 GPRINT$="GCOLOR$="+Q$+VAK$+Q$+":GLOCATE$="+Q$+"24,60"+Q$+" ":GOSUB 10000
350 GCOLOR$=VAK$:GLOCATE$="24,58":GPRINT$=DET$:GOSUB 10000:I$="":GOTO 310
360 GET(50,95)-(590,110),B%:FOR N=0 TO 185 STEP 5:PUT(50,100+N),B%,PSET:NEXT N
370 GET(45,290)-(60,320),B%:FOR N=0 TO 510 STEP 2:PUT(45+N,290),B%,PSET:NEXT N
380 LINE(456,285)-(590,335),1,BF:GCOLOR$="14,1":GLOCATE$="14,21"
390 GPRINT$="WEER EEN PROBLEEM DE WERELD UIT GEHOLPEN":GOSUB 10000:END
400 DATA 0,9,"Onder in beeld staat de tekst: Druk een toets."
410 DATA 0,10,"Deze tekst is geplaatst volgens onderstaand methode."
420 DATA 4,15,"GOSUB 10000 roept de routine aan die de tekst plaatst."
430 DATA 4,16,"Deze routine werkt alleen als in het begin van een programma"
440 DATA 4,17,"de array GAK% is geDIMensioneerd."
450 DATA 10,19,"Bij elke druk op een toets verandert random de voor- en achter-"
460 DATA 10,20,"grondkleur van de tekst onder in beeld (ter demonstratie)."
10000 GCOLA=VAL(MID$(GCOLOR$,INSTR(GCOLOR$,",")+1)):GCOLV=GCOLA XOR VAL(GCOLOR$)
10010 GLOCY=VAL(GLOCATE$):GLOCX=VAL(MID$(GLOCATE$,INSTR(GLOCATE$,",")+1))
10020 LINE(GLOCX*8-8,GLOCY*14-14)-(GLOCX*8-1,GLOCY*14-1),GCOLA,BF
10030 GET(GLOCX*8-8,GLOCY*14-14)-(GLOCX*8-1,GLOCY*14-1),GAK%:COLOR GCOLV
10040 FOR KARPLAATS=1 TO LEN(GPRINT$):LOCATE GLOCY,GLOCX+KARPLAATS-1
10050 PRINT MID$(GPRINT$,KARPLAATS,1);
10060 PUT((GLOCX*8-8)+(KARPLAATS)*8-8,(GLOCY*14-14)),GAK%,XOR
10070 NEXT KARPLAATS:RETURN