Tässä on koodi, johon pitäisi saada apua:
NuotinKesto = 5 Hidastus = 5000 EriNuotteja = 4 MaxNuotteja = 1000 Nuotit$ = "1234" DIM Nuotti(EriNuotteja) DIM Savelma(MaxNuotteja) Nuotti(1) = 440 Nuotti(2) = 550 Nuotti(3) = 660 Nuotti(4) = 770 Nuotteja = 0 Pisteet = 0 VaariaArvauksia = 3 RANDOMIZE TIMER GOSUB PiirraRuutu WHILE 1 GOSUB SoitaSavelma GOSUB ToistaakoOikein IF Oikein THEN Pisteet = Pisteet + Nuotteja LOCATE 15, 20: PRINT "Oikein meni. Olet hyvä tässä pelissä!" LOCATE 5, 10: PRINT "Pisteesi ovat:"; Pisteet ELSE VaariaArvauksia = VaariaArvauksia - 1 LOCATE 15, 20: PRINT "Väärin meni! Olet surkea tässä pelissä." IF VaariaArvauksia > 0 THEN Nuotteja = 0 ELSE END END IF END IF FOR j = 1 TO Hidastus: NEXT j LOCATE 15, 10: PRINT " " WEND END PiirraRuutu: CLS FOR i = 1 TO EriNuotteja LOCATE 8, 10 + i * 5: PRINT "+-+" LOCATE 9, 10 + i * 5: PRINT "+ +" LOCATE 10, 10 + i * 5: PRINT "+-+" LOCATE 11, 10 + i * 5: PRINT MID$(Nuotit$, i, 1) NEXT i RETURN SoitaSavelma: Nuotteja = Nuotteja + 1 Savelma(Nuotteja) = INT(RND * EriNuotteja) + 1 FOR i = 1 TO Nuotteja LOCATE 9, 11 + Savelma(i) * 5 PRINT (MID$(Nuotit$, Savelma(i), 1)) SOUND Nuotti(Savelma(i)), NuotinKesto FOR j = 1 TO Hidastus: NEXT j LOCATE 9, 11 + Savelma(i) * 5: PRINT " " NEXT i RETURN ToistaakoOikein: PelaajaArvaa = 1 Arvaus = 0 i = 1 WHILE PelaajaArvaa WHILE Arvaus <= 0 merkki$ = "" WHILE merkki$ = "" merkki$ = INKEY$ WEND Arvaus = INSTR(Nuotit$, merkki$) WEND LOCATE 9, 11 + Arvaus * 5 PRINT MID$(Nuotit$, Arvaus, 1) SOUND Nuotti(Arvaus), NuotinKesto FOR j = 1 TO Hidastus: NEXT j LOCATE 9, 11 + Arvaus * 5: PRINT " " IF Arvaus <> Savelma(i) THEN Oikein = 0 PelaajaArvaa = 0 ELSE i = i + 1 IF i > Nuotteja THEN Oikein = 1 PelaajaArvaa = 0 END IF END IF WEND RETURN
Tuo on taas niitä pelien parhaiden tietokonepelejä, ja huomasin(todella suureksi ihmeekseni XD), että se ei toimi. Noin kuukausi sitten aloitin pelien parhaiden pelien korjailemista. Muut olen saanut lähes täysin bugivapaiksi ihan omin avuin, mutta nyt en enää löytänyt keinoa korjata bugia. Löytäisiköhän joku muu?
Ja millainen bugi mahtaa olla kyseessä?
Kun ensimmäinen nuotti on toistettu ohjelmalle, sitten se toistaa seuraavan sävelmän ja painoi mitä tahansa, se jostain syystä menee väärin. Joskus se menee väärin, vaikkei painaisikaan mitään. Kaiken lisäksi, vaikka ensimmäinen nuotti olisikin mennyt oikein, kummassakin tapauksessa peli loppuu, vaikka pitäisi olla vielä kaksi väärää vastausta jäljellä.
Aihe on jo aika vanha, joten et voi enää vastata siihen.