Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: QB, VB6: Esteet QB

Sivun loppuun

Jyi [30.09.2004 15:47:18]

#

Eli olen tekemässä QB:llä peliä jossa on rata joka pitää suorittaa läpi. Liikkumisen vielä onnistui, mutta sitten kun esteet pitäsisi saada pitäviksi, niin tuli ongelmia.

Periaattessahan se menn näin:

IF ukonedessä = jotain THEN
eiliikute
ELSE liikutaan
END IF

mutta mitenkäs toi kävisi käytännössä?

Blaze [30.09.2004 15:50:31]

#

http://pp.kpnet.fi/blaze/koodifaq.php­#collisiondetection

Jyi [30.09.2004 16:10:44]

#

siis toihan on VB:tä

remontti-reiska [30.09.2004 16:12:47]

#

Voih. Tuliko mieleen, että sen ehkä voisi portata Qb:lle?

Jyi [30.09.2004 16:20:40]

#

no tuohan oli ihan maailmaa mullistava ajatus... hmmm...

Jyi [30.09.2004 17:39:39]

#

siis tuota tarkoitin etten osaa (varsinaisesti) yhtään VB:tä

Blaze [30.09.2004 17:54:06]

#

No ei ne nyt niin erilaisia kieliä ole, etteikö tuosta pystyisi sisäistämään sitä ideaa. Korvaat vaan mielessäs ne PictureBoxien koordinaatit paikkamuuttujilla.

Jyi [30.09.2004 18:19:24]

#

:D seuraaavalla kerralla käytän aivoja enkä persettä :D

Paitsi etten siltikkään osaa.

hunajavohveli [30.09.2004 19:36:46]

#

Niin siis käsititkö tuon vielä vai et? Tarkistat IF-lausekkeella, onko kohdassa johon ukkoa yritetään liikuttaa estettä. Jos ei ole, niin sitten liikutat ukkoa siihen ja jos on niin sitten et liikuta.

Latska [30.09.2004 20:05:38]

#

En ole kokeillut, mutta epäilen toimivaksi.

'Oletetaan että kohdassa 18 on seinä
IF ukkox = 17 AND INKEY$ = "d" THEN SOUND 300,12: LOCATE 3,2:PRINT "Emme enää liiku"

Metabolix [30.09.2004 21:20:06]

#

Latska: hassu koodi sulla. Ei koskaan voi olettaa, etä jossakin on este; pitää aina tehdä laajennettava järjestelmä, joka sopeutuu esteen siirtymiseen.

IF ukkox = estex + 1 AND ukkoy = estey THEN PRINT "vasemmalla on este!"

IF ukkox = estex - 1 AND ukkoy = estey THEN PRINT "oikealla on este!"

IF ukkox = estex AND ukkoy = estey - 1 THEN PRINT "alhaalla on este!"

IF ukkox = estex AND ukkoy = estey + 1 THEN PRINT "ylhäällä on este!"

Tietäkää, että en ole koskaan tehnyt QB:llä yhtäkään ohjelmaa.

nomic [04.10.2004 09:16:54]

#

Metabolix kirjoitti:

Latska: hassu koodi sulla. Ei koskaan voi olettaa, etä jossakin on este; pitää aina tehdä laajennettava järjestelmä, joka sopeutuu esteen siirtymiseen.

Tuli mieleeni että senhän voisi tehdä niin, että aluksi koko taso taulukkoon ja aina kun este liikkuu, merkataan taulukkoon vanhaan kohtaan tyhjää ja uuteen kohtaan este.
Ja kun painamme jotain, niin mennään subiin/funkkariin. Jossa tarkistetaan latskan menetelmällä että mitä edessä on. :)

Blaze [04.10.2004 09:23:00]

#

nomic kirjoitti:

Tuli mieleeni että senhän voisi tehdä niin, että aluksi koko taso taulukkoon

Käytännössähän jonkinlaista taulukkoa on pakko käyttää. Jos kentällä on 500 objektia, niin ei niille pirukaan kirjoita erikseen tarkistusta :)

hunajavohveli [04.10.2004 20:05:09]

#

Totta kai taso kannattaa pistää taulukkoon, eihän siitä nyt mitään tule, jos näytöltä aletaan tarkistaa, missä on este. Eihän se, mitä näytöllä näkyy sitä paitsi ole se, mitä kentässä todella on. Esimerkiksi jonkin ruudun päällä voi olla vaikka joku monsteri, jolloin ruudussa tietysti näkyy se monsteri, vaikka siinä kohtaa kenttää voi olla esim. ruohoa. Merkkigrafiikkapelihän on kuitenkin tilepohjainen, eikä graafisessa tilemoottorissakaan näytöltä tarkistaminen onnistu. Jos tilemoottori on kunnollinen, sitä pitää voida soveltaa niin merkeillä kuin pikseleilläkin tehtyyn grafiikkaan.

pushpabon [06.10.2004 11:02:05]

#

esteet[10] = "#,@,%,..,..,.."

map[80,25] <- taulukko

ladataan map-taulukkoon arvot jostain tiedostosta..

map[10,5] = "#" <- seinä

sitten mainloopissa liikutaan oikealle

if key = 'right arrow' {
playerX = playerX + 1
tarkasta_seinät }
tarkasta_seinät {
tile = map[playerX,playerY] 'TILE jossa ollaan on pelaajan kohta

FOR temp = 1 to max_esteet
if tile = esteet[temp] then x = x - 1; exit for
}

näin siis pelaaja liikkuu takaisin samaan paikkaan jossa olikin jos siis on liikkunut TILEEN joka kuuluu este-taulukkoon huono ja hankala mutta muuta en keksi.

nomic [06.10.2004 13:08:42]

#

lainaus:

Käytännössähän jonkinlaista taulukkoa on pakko käyttää. Jos kentällä on 500 objektia, niin ei niille pirukaan kirjoita erikseen tarkistusta :)

tota siis juuri tarkoitin, itse aikoinaan kun loin kolme bottia niin tein jokaiselle tarkistukset erikseen kunnes tajusin että tehdäänpän se näin sittenkin ;)


Sivun alkuun

Vastaus

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

Tietoa sivustosta