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/
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/
Kaipa siitä jollekin on iloa/hyötyä.
Milläs piirrät madon ruudulle?
Matopeleissä tärkein ominaisuus, eli pelattavuus on ainakin kunnossa :)
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
Oisit voinu tuon MSHFlexGrid -komponentin myöskin iskeä tuohon pakettiin (eli se .ocx).. mutta ruutukaappauksen perusteella näyttää ihan kelpo esimerkiltä.
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.
Aihe on jo aika vanha, joten et voi enää vastata siihen.