Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: Hela järjestelmä rpg pelissä (vb)

Cc [19.02.2005 17:07:49]

#

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?

Heikki [19.02.2005 17:15:21]

#

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

peki [19.02.2005 17:18:37]

#

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

Cc [19.02.2005 17:18:51]

#

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?

peki [19.02.2005 17:22:42]

#

Laitat yksinkertaisesti shapen koon muuttamiseen tarkistuksen:

Dim willbewidth As Integer
willbewidth = getHealthBarWidth(monster)
If (willbewidth < 0) willbewidth = 0
shape1.width = willbewidth

Vastaus

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

Tietoa sivustosta