home *** CD-ROM | disk | FTP | other *** search
File List | 1994-06-22 | 10.7 KB | 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%)
- PRINT #1;8
- PRINT #1;richtig%(ii%)
- FOR i%=1 TO 8
- PRINT #1;ant$(i%,ii%)
- NEXT i%
- NEXT ii%
- DEFMOUSE 0
- CLOSE #1
- ENDIF
- ENDIF
- RETURN
- PROCEDURE ende
- a$="Wollen Sie wirklich| schon aufhören ?"
- ALERT 3,a$,2,"Ja|Nein",key%
- IF key%=1
- SCREEN 3
- END
- ENDIF
- RETURN
- PROCEDURE einstellung
- DIM a$(10),frag$(1000),ant$(9,1000),richtig%(1000)
- RETURN
- PROCEDURE ladebild
- erstbild
- 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%
- PRINT AT(9,8);"Dieses Programm ist Shareware"
- PRINT AT(9,10);"Sie dürfen es kostenlos kopieren und weitergeben. Sie dürfen"
- PRINT AT(9,11);"dieses Programm aber nicht verkaufen, oder kommerziell verwenden."
- PRINT AT(9,12);"Der Vertrieb durch Shareware/PD-Versender ist erlaubt."
- PRINT AT(9,13);"Falls ihnen das Spiel gefällt, können Sie sich bei mir für"
- PRINT AT(9,14);"20 DM Schein als Benutzer dieses Programmes Registrieren lassen."
- PRINT AT(9,15);"Falls Sie noch Fehler im Programm oder in den Fragen finden,"
- PRINT AT(9,16);"sollten Sie mir schreiben, dann werden diese im nächsten Update"
- PRINT AT(9,17);"korrigiert."
- PRINT AT(9,18);"Wenn Ihnen dieses Programm gefallen hat ..."
- PRINT AT(9,19);"seien Sie bitte so ehrlich und lassen sich bei mir Registrieren."
- PRINT AT(15,21);"Siegfried Hübner"
- PRINT AT(15,22);"Obere Vorstadt 21"
- PRINT AT(15,23);"91575 Windsbach"
- GET 0,0,640,400,ladebild$
- KEYGET a
- RETURN
- PROCEDURE erstbild
- IF auf%=2
- DEFFILL 4
- PBOX 0,0,640,480
- ELSE
- DEFFILL 8
- y1%=0
- y2%=20
- wh%=0
- REPEAT
- INC wh%
- x1%=0
- x2%=40
- REPEAT
- IF wh%=1
- DEFFILL 8
- PBOX x1%,y1%,x2%,y2%
- x1%=x2%
- ADD x2%,40
- DEFFILL 8
- PBOX x1%,y1%,x2%,y2%
- x1%=x2%
- ADD x2%,40
- ELSE
- DEFFILL 8
- PBOX x1%,y1%,x2%,y2%
- x1%=x2%
- ADD x2%,40
- DEFFILL 8
- PBOX x1%,y1%,x2%,y2%
- x1%=x2%
- ADD x2%,40
- ENDIF
- UNTIL x2%>640
- IF wh%=2
- wh%=0
- ENDIF
- y1%=y2%
- ADD y2%,20
- UNTIL y2%>640
- ENDIF
- COLOR 1
- DEFFILL 8
- PBOX 30,10*auf%,630,40*auf%
- DEFFILL 0
- PBOX 20,5*auf%,620,35*auf%
- BOX 20,5*auf%,620,35*auf%
- DEFTEXT 1,16,0,13*auf%
- TEXT 65,15*auf%,"Sigi's historisches Quiz Version 1.0 "
- DEFTEXT 1,0,0,4
- TEXT 30,32*auf%,"(c) 1994 by Siegfried Hübner, Obere Vorstadt 21, 91575 Windsbach"
- GET 0,0,640,400,bild$
- RETURN
- PROCEDURE help
- PUT 0,0,ladebild$
- KEYGET a
- RETURN
-