Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: (QB) Pelini ei toimi...

Chaosworm [09.03.2007 20:09:14]

#

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?

Metabolix [09.03.2007 20:10:28]

#

Ja millainen bugi mahtaa olla kyseessä?

Chaosworm [10.03.2007 07:58:08]

#

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ä.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta