Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: Esimerkki matopeli VB:llä

trinit [25.11.2002 17:33:29]

#

Teinpä tässä muutaman päivän aikana tällaisen pienen _yksinkertaisen_ matopelin jota voi vapaasti käyttää vaikka oman matopelin pohjana. Itse mato liikkuu VB:n MSHFlexGrid:n päällä joten kovin nopeata ruudunpäivitystä ei kannata odottaa. Matoa ohjataan nuolinäppäimillä ja ESC:llä madon liikkeen voi aloittaa tai pysäyttää. Bonuksena "pelissä" on jopa kaksi äänitehostetta joita käytetään Ohjelmointiputkan koodivinkin avulla: https://www.ohjelmointiputka.net/koodivinkit/23466-vb6-wav-tiedoston-soittaminen

Yksi bugikin siinä on: mikäli yrittää kääntyä liian nopeasti törmäyksen tarkistusrutiini väittää että törmäsit itseesi :P (lisää bugejakin varmasti löytyy)

Yksi kuva pelistä löytyy: http://www.saunalahti.fi/~trinit/tero_pietila/matopeli.jpg ja itse peli lähdekoodeineen paketista http://www.saunalahti.fi/~trinit/tero_pietila/matopeli.zip

Kaipa siitä jollekin on iloa/hyötyä.

TeeVee [25.11.2002 17:36:14]

#

Milläs piirrät madon ruudulle?

Antti Laaksonen [25.11.2002 17:57:16]

#

Matopeleissä tärkein ominaisuus, eli pelattavuus on ainakin kunnossa :)

trinit [25.11.2002 18:39:20]

#

lainaus:

Milläs piirrät madon ruudulle?

Ihan vain asettamalla ruudukon solujen taustavärin siniseksi ja pyyhkimällä se sitten valkoisella. Piirto- ja pyyhkimisrutiinit löytyvät Subs -moduulista DrawWorm ja EraseTail aliohjelmista.

Piirron periaate on lyhyesti sellainen, että ohjelma lukee pelikentän kokoisesta taulukosta (nimeltään "Map") mitä sille kohtaa pitää piirtää. Eli tähän tapaan:

With frmMain
    .GameGrid.Visible = False

    For X = 0 To .GameGrid.Cols - 1

        For Y = 0 To .GameGrid.Rows - 1

            If Map(X, Y) <> 0 And Map(X, Y) < 5 Then
                .GameGrid.Col = X
                .GameGrid.Row = Y
                .GameGrid.CellBackColor = Mato.Vari
            End If

        Next

    Next

End With

thefox [26.11.2002 11:45:29]

#

Oisit voinu tuon MSHFlexGrid -komponentin myöskin iskeä tuohon pakettiin (eli se .ocx).. mutta ruutukaappauksen perusteella näyttää ihan kelpo esimerkiltä.

trinit [26.11.2002 14:29:13]

#

lainaus:

Oisit voinu tuon MSHFlexGrid -komponentin myöskin iskeä tuohon pakettiin (eli se .ocx).. mutta ruutukaappauksen perusteella näyttää ihan kelpo esimerkiltä.

No nyt se on siinä paketissa mukana - muistin väärin, että tuo kuuluu VB:n vakio komponentteihin.

Vastaus

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

Tietoa sivustosta