DECLARE SUB cmdesercizio_click () DECLARE SUB frase () DECLARE SUB presentazione () DECLARE SUB protez () DECLARE SUB messaggio (Nmessaggio) DECLARE SUB st (n AS INTEGER) DIM SHARED PUNTI AS INTEGER DIM SHARED np AS INTEGER CONST vero = -1 CONST falso = 0 CONST suonoallarme = "MBT255L16O6CO4GEDCBT255L16O6CO4GEDCBT255L16O6CO4GEDC" DIM SHARED a$ DIM SHARED scuola$ DIM SHARED eserciziosvolto% DIM SHARED esercizisvolti% DIM SHARED risposta$ DIM SHARED TEMPOSTART DIM SHARED livello DIM SHARED CODICE% SUB Cmdesci_Click () MSGBOX " CIAO!! A PRESTO." END END SUB SUB cmdesercizio_click () SHARED rispostaprecedente% inizio: cmdintestazione.caption = scuola$ IF eserciziosvolto% = falso THEN ms$ = " Non hai finito l'esercizio !!! " + CHR$(10) + CHR$(13) ms$ = ms$ + " Ti tolgo 150 punti. " MSGBOX ms$ PUNTI = PUNTI - 150 st PUNTI etipunti.caption = STR$(INT(PUNTI / 5)) + " sec. di gioco" END IF eserciziosvolto% = falso IF PUNTI < 200 AND livello = -1 THEN livello = 0 ETILIVELLO.caption = " 1ψ LIVELLO " TEMPOSTART = INT(TIMER) timer1.interval = 3000 END IF IF PUNTI > 199 AND PUNTI < 400 AND livello = 0 THEN livello = 1 IF cntSuono.value = 1 THEN PLAY suonoallarme ETILIVELLO.caption = " 2ψ LIVELLO " MSGBOX " SEI AL 2' LIVELLO " timer1.interval = 5000 END IF IF PUNTI > 399 AND PUNTI < 600 AND livello = 1 THEN livello = 2 IF cntSuono.value = 1 THEN PLAY suonoallarme ETILIVELLO.caption = " 3ψ LIVELLO " MSGBOX " SEI AL 3' LIVELLO " timer1.interval = 7000 END IF IF PUNTI > 599 AND PUNTI < 800 AND livello = 2 THEN livello = 3 IF cntSuono.value = 1 THEN PLAY suonoallarme ETILIVELLO.caption = " 4ψ LIVELLO " MSGBOX " SEI AL 4' LIVELLO " timer1.interval = 9000 END IF IF PUNTI > 799 AND PUNTI < 1000 AND livello = 3 THEN livello = 4 IF cntSuono.value = 1 THEN PLAY suonoallarme ETILIVELLO.caption = " 5ψ LIVELLO " MSGBOX " SEI AL 5' LIVELLO " timer1.interval = 11000 END IF IF PUNTI > 999 THEN IF cntSuono.value = 1 THEN PLAY suonoallarme timer1.interval = 0 i$ = "" + CHR$(13) + CHR$(10) i$ = i$ + "COMPLIMENTI !!!!" + CHR$(13) + CHR$(10) i$ = i$ + CHR$(13) + CHR$(10) i$ = i$ + "COSA VUOI FARE ADESSO ? " + CHR$(13) + CHR$(10) i$ = i$ + CHR$(13) + CHR$(10) i$ = i$ + " 1 per Uscire " + CHR$(13) + CHR$(10) i$ = i$ + " 2 per Giocare " + CHR$(13) + CHR$(10) i$ = i$ + " 3 per Ripetere gli esercizi" + CHR$(13) + CHR$(10) a$ = INPUTBOX$(i$, "", "3") a$ = LTRIM$(RTRIM$(a$)) IF a$ = "" OR a$ = "1" THEN END Q$ = "msu.EXE" + STR$(INT(PUNTI / 5)) IF a$ = "2" THEN RUN Q$ IF a$ = "3" THEN : eserciziosvolto% = vero: PUNTI = 10: livello = -1: np = 0: GOTO inizio END IF etichetta: RANDOMIZE TIMER IF livello = 0 THEN : inferiore = 0: superiore = 3 IF livello = 1 THEN : inferiore = 1: superiore = 4 IF livello = 2 THEN : inferiore = 2: superiore = 7 IF livello = 3 THEN : inferiore = 4: superiore = 9 IF livello = 4 THEN : inferiore = 6: superiore = 10 a = INT((superiore - inferiore + 1) * RND + inferiore) b = INT((superiore - inferiore + 1) * RND + inferiore) esp$ = " " + LTRIM$(STR$(a)) + " * " + LTRIM$(STR$(b)) + " = " risposta$ = LTRIM$(STR$(a * b)) IF a * b = rispostaprecedente% THEN GOTO etichetta rispostaprecedente% = a * b etitesto.caption = esp$ testorisposta.text = "" testorisposta.SETFOCUS END SUB SUB Cmdintestazione_Click () cmdintestazione.caption = " Non cliccarmi !!!! BASTAAAA...." BEEP END SUB SUB Cntsuono_Click () testorisposta.SETFOCUS END SUB SUB EtiLIVELLO_Click () cmdintestazione.caption = " Non cliccare. Lavora !!!!" END SUB SUB EtiPUNTI_Click () cmdintestazione.caption = " Lavora. Pensa a guadagnarti i punti !!!!" END SUB SUB ETPD_CLICK () RANDOMIZE TIMER testomessaggio.top = INT(RND * 18) + 3 RANDOMIZE TIMER testomessaggio.left = INT(RND * 30) + 10 IF testomessaggio.visible = falso THEN testomessaggio.visible = vero timer2.interval = 150 testomessaggio.SETFOCUS ELSE timer1.interval = 0 testomessaggio.visible = falso END IF END SUB SUB form_load () livello = -1 timer1.interval = 0 CALL protez st PUNTI SCC$ = "z―©¦z§£z‘©¨¬z―z" FOR i = 1 TO LEN(SCC$) scuola$ = scuola$ + CHR$(ASC(MID$(SCC$, i, 1)) - 90) NEXT cmdintestazione.caption = scuola$ eserciziosvolto% = vero SCREEN.ControlPanel(0) = 4 'colore lettera tasti di scelta SCREEN.ControlPanel(1) = 7 SCREEN.ControlPanel(2) = 0 SCREEN.ControlPanel(3) = vero SCREEN.ControlPanel(4) = 0 SCREEN.ControlPanel(5) = 3 SCREEN.ControlPanel(6) = 0 SCREEN.ControlPanel(7) = 176 'motivo SCREEN.ControlPanel(8) = 15 'elementi disattivati SCREEN.ControlPanel(9) = 15 'sfondo menu' SCREEN.ControlPanel(10) = 0 'primo piano menu' SCREEN.ControlPanel(11) = 4 'menu selezionato sfondo SCREEN.ControlPanel(12) = 7 'primo piano menu selezionato SCREEN.ControlPanel(13) = 15 's.barra SCREEN.ControlPanel(14) = 0 'p.barra SCREEN.ControlPanel(15) = -1 'tridimensione SCREEN.ControlPanel(16) = 4 'sfondo barra titolo esempio msgbox SCREEN.ControlPanel(17) = 15 'primo piano barra con titoli ms$ = "Programma per esercitazione di Moltiplicazioni. " + CHR$(13) + CHR$(10) ms$ = ms$ + "" + CHR$(13) + CHR$(10) ms$ = ms$ + "I due fattori vengono proposti casualmente." + CHR$(13) + CHR$(10) ms$ = ms$ + "" + CHR$(13) + CHR$(10) ms$ = ms$ + "Usa il mouse oppure il tasto alt+lettera evidenziata. " + CHR$(13) + CHR$(10) ms$ = ms$ + "" + CHR$(13) + CHR$(10) ms$ = ms$ + "Vi sono 5 livelli di difficolta'. " + CHR$(13) + CHR$(10) ms$ = ms$ + "" + CHR$(13) + CHR$(10) ms$ = ms$ + "Anche la velocita' e' importante : il trascorrere del tempo " + CHR$(13) + CHR$(10) ms$ = ms$ + "" + CHR$(13) + CHR$(10) ms$ = ms$ + "fa diminuire il punteggio. " + CHR$(13) + CHR$(10) MSGBOX ms$, 0, " PRODOTTO Ver 1.00 " END SUB SUB Im1_Click () cmdintestazione.caption = " Non giocare con il mouse !!!!" END SUB SUB messaggio (Nmessaggio) imgMessaggio.visible = vero imgMessaggio.CLS SELECT CASE Nmessaggio CASE 1 imgMessaggio.PRINT " " imgMessaggio.PRINT " ATTENZIONE !! ERRORE " imgMessaggio.PRINT " " imgMessaggio.PRINT " Correggi con il tasto <-- " imgMessaggio.PRINT " " CASE 2 imgMessaggio.PRINT " " imgMessaggio.PRINT " ATTENZIONE !! ERRORE " imgMessaggio.PRINT " Si inizia con il simbolo di " imgMessaggio.PRINT " uguaglianza ( = ) " imgMessaggio.PRINT " Correggi con il tasto <--" CASE 100 imgMessaggio.PRINT " ----------------------------------- " imgMessaggio.PRINT " Soft. Prof. C. Muscolino Palmanova UD " imgMessaggio.PRINT " ----------------------------------- " END SELECT END SUB SUB protez () a$ = "Soft prof. C. Muscolino - Palmanova " IF ASC(MID$(a$, 1, 1)) <> 83 THEN GOTO FINE IF ASC(MID$(a$, 10, 1)) <> 46 THEN GOTO FINE IF ASC(MID$(a$, 11, 1)) <> 32 THEN GOTO FINE IF ASC(MID$(a$, 12, 1)) <> 67 THEN GOTO FINE IF ASC(MID$(a$, 23, 1)) <> 111 THEN GOTO FINE IF ASC(MID$(a$, 24, 1)) <> 32 THEN GOTO FINE IF ASC(MID$(a$, 30, 1)) <> 109 THEN GOTO FINE IF ASC(MID$(a$, 31, 1)) <> 97 THEN GOTO FINE IF ASC(MID$(a$, 35, 1)) <> 97 THEN GOTO FINE IF ASC(MID$(a$, 36, 1)) <> 32 THEN GOTO FINE EXIT SUB FINE: CLS : LOCATE 10, 1: MSGBOX "COPIA MANOMESSA." END END SUB SUB st (n AS INTEGER) im1.CLS IF cntSuono.value = 0 THEN : np = n: GOTO senzasuono eti: IF n = np THEN GOTO senzasuono IF n > np THEN np = np + 1 IF n < np THEN np = np - 1 FOR i% = 1 TO i% = 2000000 'cicli di ritardi i$ = STR$(np) ln% = LEN(i$) NEXT i$ = STR$(np) ln% = LEN(i$) FOR t% = 1 TO ln% IF t% = 1 THEN SOUND 50, 1: SOUND 50, 0 c$ = MID$(i$, t%, 1) X% = 16 - (ln% - t%) * 4 im1.currentY = 0 SELECT CASE c$ CASE "0" im1.currentX = X%: im1.PRINT "ΙΝ»" im1.currentX = X%: im1.PRINT "Ί Ί" im1.currentX = X%: im1.PRINT "ΘΝΌ" CASE "1" im1.currentX = X%: im1.PRINT " » " im1.currentX = X%: im1.PRINT " Ί " im1.currentX = X%: im1.PRINT " Κ " CASE "2" im1.currentX = X%: im1.PRINT "ΙΝ»" im1.currentX = X%: im1.PRINT "ΙΝΌ" im1.currentX = X%: im1.PRINT "ΘΝΝ" CASE "3" im1.currentX = X%: im1.PRINT " Ν»" im1.currentX = X%: im1.PRINT " ΝΉ" im1.currentX = X%: im1.PRINT " ΝΌ" CASE "4" im1.currentX = X%: im1.PRINT "Ι Ι" im1.currentX = X%: im1.PRINT "ΘΝΉ" im1.currentX = X%: im1.PRINT " Κ" CASE "5" im1.currentX = X%: im1.PRINT "ΙΝΝ" im1.currentX = X%: im1.PRINT "ΘΝ»" im1.currentX = X%: im1.PRINT "ΝΝΌ" CASE "6" im1.currentX = X%: im1.PRINT "ΙΝΝ" im1.currentX = X%: im1.PRINT "ΜΝ»" im1.currentX = X%: im1.PRINT "ΘΝΌ" CASE "7" im1.currentX = X%: im1.PRINT "ΙΝ»" im1.currentX = X%: im1.PRINT " Ί" im1.currentX = X%: im1.PRINT " Κ" CASE "8" im1.currentX = X%: im1.PRINT "ΙΝ»" im1.currentX = X%: im1.PRINT "ΜΝΉ" im1.currentX = X%: im1.PRINT "ΘΝΌ" CASE "9" im1.currentX = X%: im1.PRINT "ΙΝ»" im1.currentX = X%: im1.PRINT "ΘΝΉ" im1.currentX = X%: im1.PRINT "ΝΝΌ" CASE " " im1.currentX = X%: im1.PRINT " " im1.currentX = X%: im1.PRINT " " im1.currentX = X%: im1.PRINT " " CASE "+" im1.currentX = X%: im1.PRINT " " im1.currentX = X%: im1.PRINT "ΔΕΔ" im1.currentX = X%: im1.PRINT " " CASE "-" im1.currentX = X%: im1.PRINT " " im1.currentX = X%: im1.PRINT "ΔΔΔ" im1.currentX = X%: im1.PRINT " " CASE "A" im1.currentX = X%: im1.PRINT "ΙΝ»" im1.currentX = X%: im1.PRINT "ΜΝΉ" im1.currentX = X%: im1.PRINT "Π Π" CASE ":" im1.currentX = X%: im1.PRINT " . " im1.currentX = X%: im1.PRINT " . " im1.currentX = X%: im1.PRINT " " END SELECT NEXT GOTO eti senzasuono: i$ = STR$(n) ln% = LEN(i$) FOR t% = 1 TO ln% c$ = MID$(i$, t%, 1) X% = 16 - (ln% - t%) * 4 im1.currentY = 0 SELECT CASE c$ CASE "0" im1.currentX = X%: im1.PRINT "ΙΝ»" im1.currentX = X%: im1.PRINT "Ί Ί" im1.currentX = X%: im1.PRINT "ΘΝΌ" CASE "1" im1.currentX = X%: im1.PRINT " » " im1.currentX = X%: im1.PRINT " Ί " im1.currentX = X%: im1.PRINT " Κ " CASE "2" im1.currentX = X%: im1.PRINT "ΙΝ»" im1.currentX = X%: im1.PRINT "ΙΝΌ" im1.currentX = X%: im1.PRINT "ΘΝΝ" CASE "3" im1.currentX = X%: im1.PRINT " Ν»" im1.currentX = X%: im1.PRINT " ΝΉ" im1.currentX = X%: im1.PRINT " ΝΌ" CASE "4" im1.currentX = X%: im1.PRINT "Ι Ι" im1.currentX = X%: im1.PRINT "ΘΝΉ" im1.currentX = X%: im1.PRINT " Κ" CASE "5" im1.currentX = X%: im1.PRINT "ΙΝΝ" im1.currentX = X%: im1.PRINT "ΘΝ»" im1.currentX = X%: im1.PRINT "ΝΝΌ" CASE "6" im1.currentX = X%: im1.PRINT "ΙΝΝ" im1.currentX = X%: im1.PRINT "ΜΝ»" im1.currentX = X%: im1.PRINT "ΘΝΌ" CASE "7" im1.currentX = X%: im1.PRINT "ΙΝ»" im1.currentX = X%: im1.PRINT " Ί" im1.currentX = X%: im1.PRINT " Κ" CASE "8" im1.currentX = X%: im1.PRINT "ΙΝ»" im1.currentX = X%: im1.PRINT "ΜΝΉ" im1.currentX = X%: im1.PRINT "ΘΝΌ" CASE "9" im1.currentX = X%: im1.PRINT "ΙΝ»" im1.currentX = X%: im1.PRINT "ΘΝΉ" im1.currentX = X%: im1.PRINT "ΝΝΌ" CASE " " im1.currentX = X%: im1.PRINT " " im1.currentX = X%: im1.PRINT " " im1.currentX = X%: im1.PRINT " " CASE "+" im1.currentX = X%: im1.PRINT " " im1.currentX = X%: im1.PRINT "ΔΕΔ" im1.currentX = X%: im1.PRINT " " CASE "-" im1.currentX = X%: im1.PRINT " " im1.currentX = X%: im1.PRINT "ΔΔΔ" im1.currentX = X%: im1.PRINT " " CASE "A" im1.currentX = X%: im1.PRINT "ΙΝ»" im1.currentX = X%: im1.PRINT "ΜΝΉ" im1.currentX = X%: im1.PRINT "Π Π" CASE ":" im1.currentX = X%: im1.PRINT " . " im1.currentX = X%: im1.PRINT " . " im1.currentX = X%: im1.PRINT " " END SELECT NEXT END SUB SUB Testomessaggio_KeyPress (KeyAscii AS INTEGER) testomessaggio.visible = falso timer2.interval = 0 testorisposta.SETFOCUS END SUB SUB testorisposta_Change () testorisposta.text = LTRIM$(RTRIM$(testorisposta.text)) WHILE i < LEN(testorisposta.text) i = i + 1 IF MID$(testorisposta.text, i, 1) <> MID$(risposta$, i, 1) THEN IF MID$(esp$, i, 1) = "=" THEN Nmessaggio = 2 ELSE Nmessaggio = 1 END IF cmdintestazione.visible = falso CALL messaggio(Nmessaggio) PUNTI = PUNTI - 20 st PUNTI etipunti.caption = STR$(INT(PUNTI / 5)) + " sec. di gioco" i$ = STR$(INT(PUNTI / (INT(TIMER) - TEMPOSTART) * 60)) ETIVEL.caption = i$ + " punti al minuto " EXIT SUB END IF WEND IF LEN(testorisposta.text) = LEN(risposta$) THEN IF cntSuono.value = 1 THEN : SOUND 1000, 2: SOUND 500, 2: SOUND 800, 2 eserciziosvolto% = vero esercizisvolti% = esercizisvolti% + 1 PUNTI = PUNTI + 30 st PUNTI etipunti.caption = STR$(INT(PUNTI / 5)) + " sec. di gioco" i$ = STR$(INT(PUNTI / (INT(TIMER) - TEMPOSTART) * 60)) ETIVEL.caption = i$ + " punti al minuto " CALL cmdesercizio_click 'NUOVO EXIT SUB END IF st PUNTI etipunti.caption = STR$(INT(PUNTI / 5)) + " sec. di gioco" cmdintestazione.visible = vero cmdintestazione.caption = scuola$ imgMessaggio.visible = falso END SUB SUB timer1_timer () PUNTI = PUNTI - 5 st PUNTI etipunti.caption = STR$(INT(PUNTI / 5)) + " sec. di gioco" i$ = STR$(INT(PUNTI / (INT(TIMER) - TEMPOSTART) * 60)) ETIVEL.caption = i$ + " punti al minuto " END SUB SUB Timer2_Timer () a$ = RIGHT$(a$, LEN(a$) - 1) + LEFT$(a$, 1) testomessaggio.text = LEFT$(a$, 38) END SUB SUB TimerPartenza_Timer () timerPartenza.interval = 0 cmdesercizio_click END SUB