Kirjoittaja: Antti Laaksonen
Kirjoitettu: 22.02.2002 – 21.11.2011
Tagit: pelinteko, koodi näytille, peli, vinkki
Tämä on toinen autopelin alku, jossa kaahaillaan autiolla parkkipaikalla limusiinilla. Tekemisessä on käytetty hyväksi DRAW-komentoa, jonka avulla grafiikka piirtyy suhteellisen nopeasti ja vaivattomasti, joskin melko epätarkasti. Fysiikasta ei ole tietoakaan, mutta ehkä tällä silti jotain tekee.
SCREEN 13 DIM x AS SINGLE, y AS SINGLE pii = 4 * ATN(1) x = 100 y = 100 kaantyvyys = 5 nopeus = 2 kulma = 0 'näytön tyhjennys LINE (0, 0)-(320, 200), 8, BF DO 'vanhojen jälkien siivous LINE (x - 50, y - 50)-(x + 50, y + 50), 8, BF 'uuden kohdan laskeminen x = x - SIN(kulma * 2 * pii / 360) * nopeus y = y - COS(kulma * 2 * pii / 360) * nopeus 'auton piirtäminen: tuota ei liiemmin kannata tutkia DRAW "bm" + STR$(INT(x)) + "," + STR$(INT(y)) DRAW "TA" + STR$(kulma) DRAW "bu5c14r2br4r2br1bd1 c0l10" DRAW "d1br1c1r8c0br1d1bl1c1l8c0bl1d1" DRAW "br1c1r8c0br1d1bl1c1l8c0bl1d1" DRAW "c0r10d1bl1c3l8bl1c0d1r10" FOR i = 1 TO 6 DRAW "d1bl1c1l8c0bl1d1br1c1r8c0br1d0" NEXT DRAW "d1l10bd1br1c4r0br8r0" 'näppäimien luku SELECT CASE INKEY$ CASE CHR$(0) + "K" kulma = kulma + kaantyvyys IF kulma > 360 THEN kulma = kulma - 360 CASE CHR$(0) + "M" kulma = kulma - kaantyvyys IF kulma < 1 THEN kulma = kulma + 360 CASE CHR$(27) END END SELECT WAIT &H3DA, 8 LOOP
Hyvin toimii, paitsi että reunoista ei tarvisi mennä ulos ja jarrutkin ois kivat!
Mut nää on edelleen esimerkkejä!
Hyvältä näyttää
mites tohon vois saaha kuvan? nii siis tohon autoks.
Joo no toi grafiikka vähä sotkee välil, ei varmaa johdu GF2 näytön ohjaimesta.
Äärettömän loistava ajopeli, enää ei tarvi muuta kuin reunat ja päämäärän.
Kova peli on! Nopeampi kääntyvyys ja reunat niin olis melkein täydellinen!!!
Minkä takia mun qbasic ei hyväksy noita kulma-sanoja. aina se ilmoittaa jostain kaksoismerkityksestä. mitä se tarkoittaa?
joo on hyvin tehty...!!
Tosi yksinkertainen,vaikka koodi on noin pitkä vaikea,olen kyllä kokeillut:)
kaksoismerkitys? <-- Dublicate definition?
Voi olla, että kopioidessasi koodia sinulta jäi jotain pois. Tiedän kyllä mistä ongelmassa on kyse, mutta en osaa selittää tarkemmin. Kopioi koodi uudelleen.
Tuo auton liikuttaminen kulman avulla muuten. Nuo SIN ja COS komennot, kun luulevat käyttäjän antavan kulman radiaaneina. Ei tarvittaisi pitkää litaniaa:
SIN(kulma * 2 * pii / 360)
Riittäisi pelkästään: SIN(kulma * rad), jossa rad on asteiden suhde radiaaneihin (tai toisin päin). Se lasketaan näin:
rad = ATN(1) * 4 / 180
Pelkkä: ATN(1) * 4 muuten laskeen piin tarkan arvon, joten ei aina tarvitse kirjoittaa: pii = 3.14159 jne...
Eli asteiden suhde radiaaneihin on pii / 180.
Mistä q-BASICIN SAA?
tallenna tuo koneelle hakemistoon C:\qbasic: http://download.microsoft.com/download/win95upg/
Ian hyvä vinkki. Jos haluaa tehdä oman matopelin niin voi kopsatata ton koodin ja jos mato liikkuu omasta mielestä liian kovaa niin vaihtaa ton nopeuden tuolta ylhäältä.
tästä saa version 7.1 http://personal.inet.fi/peli/samuli/qbasic71.zip
hunajavohveli kirjoitti:
Pelkkä: ATN(1) * 4 muuten laskeen piin tarkan arvon
Ei se muuten tarkkaa arvoa laske, ihan vaan 3,141593. Ja sitäpaitsi piihän on irrationaaliluku eli se jatkuu loputtomiin. Ei sitä QBasic noin helposti laskee.
miksi tuolla on pari kommenttia joiden tekijän nimi ei linkivä?