home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CD Direkt 1995 #1
/
Image.iso
/
cdd
/
direkt
/
quiz
/
quiz.lst
< prev
Wrap
File List
|
1994-06-22
|
11KB
|
408 lines
SCREEN 17
auf%=2
einstellung
ladebild
erstbild
DO
bild(1)
PRINT AT(28,10);"1 - Fragen einladen"
PRINT AT(28,11);"2 - Fragen Mischen"
PRINT AT(28,12);"3 - Abfragen"
PRINT AT(28,13);"4 - Neue Fragen eingeben"
PRINT AT(28,14);"5 - Fragen erweitern"
PRINT AT(28,15);"6 - Spiel beenden"
PRINT AT(33,21);"Was wollen Sie ?"'
INPUT "",a$
IF a$=CHR$(226)
help
ELSE IF a$=CHR$(225)
GOSUB ende
ELSE
IF a$="1" THEN GOSUB laden
IF a$="2" THEN GOSUB mischen
IF a$="3" THEN GOSUB abfragen
IF a$="4" THEN GOSUB eingeben
IF a$="5" THEN GOSUB erweitern
IF a$="6" THEN GOSUB ende
ENDIF
LOOP
PROCEDURE bild(ein%)
PUT 0,0,bild$
IF ein%=1
DEFFILL 8
PBOX 190,60*auf%,470,145*auf%
DEFFILL 0
PBOX 180,55*auf%,460,140*auf%
BOX 180,55*auf%,460,140*auf%
DEFFILL 8
PBOX 210,163*auf%,450,175*auf%
DEFFILL 0
PBOX 200,158*auf%,440,170*auf%
BOX 200,158*auf%,440,170*auf%
ELSE IF ein%=2
DEFFILL 8
PBOX 10,50*auf%,640,70*auf%
DEFFILL 0
PBOX 0,45*auf%,640,65*auf%
BOX 0,45*auf%,640,65*auf%
DEFFILL 8
PBOX 40,80*auf%,620,155*auf%
DEFFILL 0
PBOX 30,75*auf%,610,150*auf%
BOX 30,75*auf%,610,150*auf%
ENDIF
RETURN
PROCEDURE laden
FILESELECT "\*.DAT",name$,name$
IF EXIST(name$)
OPEN "I",#1,name$
DEFMOUSE 2
INPUT #1;dummy$
INPUT #1;z%
FOR zaehler%=1 TO z%
INPUT #1;frag$(zaehler%)
INPUT #1;pos%
INPUT #1;richtig%(zaehler%)
FOR i%=1 TO pos%
INPUT #1;ant$(i%,zaehler%)
NEXT i%
NEXT zaehler%
DEFMOUSE 0
CLOSE #1
ENDIF
RETURN
PROCEDURE mischen
IF zaehler%>1
DEFFILL 8
PBOX 120,95*auf%,200,115*auf%
DEFFILL 0
PBOX 100,90*auf%,190,110*auf%
BOX 100,90*auf%,190,110*auf%
PRINT AT(15,13);"Moment !"
PAUSE 50
DIM frag2$(zaehler%+1),ant2$(9,zaehler%+1),richtig2%(zaehler%+1),treffer%(zaehler%)
FOR i%=0 TO zaehler%
frag2$(i%)=frag$(i%)
FOR ii%=0 TO 9
ant2$(ii%,i%)=ant$(ii%,i%)
NEXT ii%
richtig2%(i%)=richtig%(i%)
NEXT i%
treffer%=0
DO
EXIT IF treffer%=zaehler%
i%=RANDOM(zaehler%)+1
IF treffer%(i%)=0
treffer%(i%)=1
INC treffer%
frag$(treffer%)=frag2$(i%)
richtig%(treffer%)=richtig2%(i%)
FOR ii%=0 TO 9
ant$(ii%,treffer%)=ant2$(ii%,i%)
NEXT ii%
ENDIF
LOOP
ERASE frag2$(),ant2$(),richtig2%(),treffer%()
ENDIF
RETURN
PROCEDURE abfragen
LOCAL pos%,r%
raus%=0
quote%=0
zaehler%=1
DO
EXIT IF frag$(zaehler%)="" OR raus%=1
IF raus%=0
bild(2)
DEFFILL 8
PBOX 15,180*auf%,80,199*auf%
DEFFILL 0
PBOX 5,175*auf%,70,194*auf%
BOX 5,175*auf%,70,194*auf%
DEFTEXT 1,0,0,4
TEXT 20,178*auf%,"Nummer"
led$=STR$(zaehler%)
DEFTEXT 1,16,0,10*auf%
TEXT 20,190*auf%,led$
PRINT AT(56,18);"0 - Abfrage beenden"
PRINT AT(3,7);frag$(zaehler%)
pos%=0
DO
INC pos%
EXIT IF ant$(pos%,zaehler%)=""
PRINT AT(8,10+pos%);pos%'"-"'ant$(pos%,zaehler%)
LOOP
DO
DEFFILL 8
PBOX 120,170*auf%,300,185*auf%
DEFFILL 0
PBOX 110,165*auf%,290,180*auf%
BOX 110,165*auf%,290,180*auf%
PRINT AT(15,22);
INPUT " Ihre Antwort ?",r%
EXIT IF r%<pos%
LOOP
IF r%=richtig%(zaehler%)
PRINT AT(15,22);" RICHTIG !! "
INC quote%
PAUSE 50
ELSE
IF r%>0
DEFFILL 8
PBOX 120,170*auf%,620,195*auf%
DEFFILL 0
PBOX 110,165*auf%,610,190*auf%
BOX 110,165*auf%,610,190*auf%
PRINT AT(15,22);" FALSCH !! Richtig wäre :"
PRINT AT(15,23);" >"'ant$(richtig%(zaehler%),zaehler%)'"<."
PAUSE 150
PBOX 110,165*auf%,610,190*auf%
BOX 110,165*auf%,610,190*auf%
ELSE
raus%=1
ENDIF
ENDIF
INC zaehler%
ENDIF
LOOP
IF zaehler%>1
DEFMOUSE 2
PAUSE 100
DEC zaehler%
prozent=INT(quote%/(zaehler%/100)+1)
IF prozent>99
prozent=100
ELSE IF prozent<1
prozent=0
ENDIF
DEFMOUSE 0
PUT 0,0,bild$
DEFFILL 8
PBOX 60,55*auf%,600,195*auf%
DEFFILL 0
PBOX 50,50*auf%,590,190*auf%
BOX 50,50*auf%,590,190*auf%
BOX 120,70*auf%,520,100*auf%
DEFFILL 2
PBOX 120,70*auf%,120+(prozent*4),100*auf%
PRINT AT(20,15);"Sie haben"'prozent'"% der Fragen beantwortet."
IF prozent<5
PRINT AT(9,17);"Sie sind eine Niete. Ihnen ist nicht zu helfen."
PRINT AT(9,18);"Das beste ist Sie löschen dieses Spiel sofort."
ELSE IF prozent>=5 AND prozent<25
PRINT AT(9,17);"Sehr schlecht !! Aber nicht hoffnungslos."
PRINT AT(9,18);"Versuchen Sie es bei gelegenheit nocheinmal."
ELSE IF prozent>=25 AND prozent<50
PRINT AT(9,17);"Mieserabel !"
PRINT AT(9,18);"Am besten Sie versuchen es gleich nocheinmal"
ELSE IF prozent>=50 AND prozent<75
PRINT AT(9,17);"Schon nicht schlecht."
PRINT AT(9,18);"Mit ein bischen Üben schaffen Sie den Rest auch noch."
ELSE IF prozent>=75 AND prozent<90
PRINT AT(9,17);" GUT !! Das kann sich sehen lassen."
ELSE IF prozent>=90 AND prozent<=99
PRINT AT(9,17);"Sehr gut !!!!!!!!"
PRINT AT(9,18);"Sie sind schon fast so gut wie ich."
PRINT AT(9,19);"Aber noch nicht perfekt !"
ELSE IF prozent>99 AND prozent<=100
PRINT AT(9,17);"Fabelhaft ! Phantastisch ! Super ! Oberaffengeil !!"
PRINT AT(9,18);"Sie sind genauso gut wie ich selbst ..."
PRINT AT(9,19);" ... Sie Computerhirn."
ENDIF
PRINT AT(60,23);"Taste drücken!"
KEYGET a
ENDIF
RETURN
PROCEDURE eingeben
ERASE a$(),frag$(),ant$(),richtig%()
DIM a$(10),frag$(1000),ant$(9,1000),richtig%(1000)
zaehler%=0
erweitern
RETURN
PROCEDURE erweitern
LOCAL pos%,r%
raus%=0
DO
bild(2)
INC zaehler%
DEFFILL 8
PBOX 15,180*auf%,80,199*auf%
DEFFILL 0
PBOX 5,175*auf%,70,194*auf%
BOX 5,175*auf%,70,194*auf%
DEFTEXT 1,0,0,4
TEXT 20,178*auf%,"Nummer"
led$=STR$(zaehler%)
DEFTEXT 1,16,0,10*auf%
TEXT 20,190*auf%,led$
PRINT AT(3,7);
INPUT " >",frage$
EXIT IF frage$="" OR frage$=" " OR frage$=CHR$(27)
pos%=0
DO
INC pos%
PRINT AT(8,10+pos%);pos%'
INPUT ">",a$(pos%)
EXIT IF a$(pos%)=""
EXIT IF pos%=8
LOOP
DO
DEFFILL 8
PBOX 120,170*auf%,500,185*auf%
DEFFILL 0
PBOX 110,165*auf%,490,180*auf%
BOX 110,165*auf%,490,180*auf%
PRINT AT(15,22);
INPUT " Welche Antwort ist richtig ?",r%
EXIT IF r%<pos%+1 AND r%>-1
LOOP
PBOX 110,165*auf%,490,180*auf%
BOX 110,165*auf%,490,180*auf%
PRINT AT(15,22);
INPUT " Ist alles richtig ?",key$
IF key$="J" OR key$="" OR key$="j"
frag$(zaehler%)=frage$
FOR i%=1 TO pos%
ant$(i%,zaehler%)=a$(i%)
NEXT i%
richtig%(zaehler%)=r%
raus%=0
ELSE
DEC zaehler%
ENDIF
IF zaehler%<999
PBOX 110,165*auf%,490,180*auf%
BOX 110,165*auf%,490,180*auf%
PRINT AT(15,22);
INPUT " Wollen Sie noch eine Frage eingeben ?",key$
IF key$="J" OR key$="j" OR key$=""
raus%=0
ELSE
raus%=1
ENDIF
ELSE
raus%=1
ENDIF
EXIT IF raus%=1
LOOP
a$="Fragen abspeichern ?"
IF frage$="" OR frage$=" " OR frage$=CHR$(27) AND zaehler%=1
ELSE
ALERT 2,a$,1,"Ja|Nein",key%
ENDIF
IF key%=1
FILESELECT "C:\*.*",name$,name$
IF name$=""
ALERT 3,"Daten wurden nicht abgespeichert.|Da auf Abbruch Button gedrückt wurde.",1,"Gelesen",d%
ENDIF
IF NOT (name$="")
OPEN "O",#1,name$
DEFMOUSE 2
PRINT #1;"Fragenkatalog zu Sigi's historischem Quiz:"
PRINT #1;zaehler%
FOR ii%=1 TO zaehler%
PRINT #1;frag$(ii%)