Olen tehnyt rpg peliä mutta nytten törmäsin ongelmaan jota en ole vielä onnistunnut ratkaisemaan.
Eli pitäisi saada jonkin lainen hela juttu siihen ja kun osuu monsteriin niin sitten siitä vähenee pieni osa mutta kun helat on alle sen minkä ne vähenee eli silloin kuolee. apuja?
Hela? Onko tuo sama kuin HP, elinvoima, energia?
Jos on, nini miten olisi ihan:
sub OtaDamagea(maara as integer) 'parametrina otettavan damagen määrä Pelaaja.hp=Pelaaja.hp-maara if Pelaaja.hp<0 then Pelaaja.hengissa=false end if end sub
Jos kyseessä on vb6, luo tyyppi monsteri, joka sisältää kaikki monsterin ominaisuudet ja arvot (energia, elämä, mana, jne.).
Kun pelaaja yrittää lyödä hirviötä, lasketaan ensin osuuko pelaaja. Sitten lasketaan kuinka paljon vahinkoa tehtiin, jonka jälkeen testataan meneekö vahingon määrä monsterin healtin yli. Jos menee, on monsteri kuollut, jos ei vähennetään iskun tuottama vahinko hirviön energiasta.
Tämän jälkeen:
if Osuiko(player, monster) dim osumavahinko as Integer osumavahinko = LaskeVahinko(player, monster) If (monsteri.health - osumavahinko <= 0) monsteri.health = 0 monsteri.setState("kuollut", true) Else monsteri.health = monsteri.health - osumavahinko End If End If
Kysy ihmeessä lisää, jos selitykseni on liian epätarkka, tarkennan mielelläni.
P.S. pahoittelen mahdollisia virheitä koodissa. Vb6:sta en ole koodannut vuosiin :)
Edit: Heikkipäs oli nopeampi
On Sama asia kuin nuo HP, elinvoima, enegria.
Tuohon asti minäkin olen perjaattessä päässyt mutta kuin HP:ta on alle sen verran kuin mitä ökö tekee niin sitten tulee virhe olen tehnyt sen shapella ja se ei voi mennä miinukselle widthissä. Osiko muita viisaita tapoja tehdä tuo HP juttu?
Laitat yksinkertaisesti shapen koon muuttamiseen tarkistuksen:
Dim willbewidth As Integer willbewidth = getHealthBarWidth(monster) If (willbewidth < 0) willbewidth = 0 shape1.width = willbewidth
Aihe on jo aika vanha, joten et voi enää vastata siihen.