Page 1 of 1

Aloittelijalle apua

Posted: Sat May 23, 2009 8:13 pm
by buke44
Olen tekemässä Anteron jorauspeliä. Tarvisin pistelaskulärjestelmän. Millä koodipätkällä pisteet# muuttujan arvoa saisi nostettua 0.1, kun painaa välilyöntiä. (cbkeyspace)

Re: Aloittelijalle apua

Posted: Sat May 23, 2009 8:24 pm
by Jonez
Muuttujille voi suorittaa normaaleita, koulussa opittuja matemaattisia toimituksia:

Code: Select all

If KeyHit( CbKeySpace ) Then pisteet# = pisteet# + 0.1

Re: Aloittelijalle apua

Posted: Sat May 23, 2009 8:28 pm
by buke44
Tuli uusi ongelma. Kun pisteet tulostaa silmukan sisällä, niitä tulee koko ajan lisää, kun ne tulostaa ulkopuolella, ne ei muutu. Kuinka tulostaa muuttuva luku?

Re: Aloittelijalle apua

Posted: Sat May 23, 2009 8:31 pm
by valscion
BotPaska wrote:Tuli uusi ongelma. Kun pisteet tulostaa silmukan sisällä, niitä tulee koko ajan lisää, kun ne tulostaa ulkopuolella, ne ei muutu. Kuinka tulostaa muuttuva luku?
Kanttis varmaan kattoa Text-komentoa?

Code: Select all

Repeat
    muuttuvaluku = muuttuvaluku + 1
    Text 0, 0, "Luku: " + muuttuvaluku
    DrawScreen
Forever

Re: Aloittelijalle apua

Posted: Sat May 23, 2009 8:44 pm
by buke44
Uusi ongelma: Teksti näkyy vain tietyistä väreistä läpi.

Re: Aloittelijalle apua

Posted: Sat May 23, 2009 8:59 pm
by valscion
BotPaska wrote:Uusi ongelma: Teksti näkyy vain tietyistä väreistä läpi.
Ennen kuvien/tekstin/piirtokomentojen piirtämistä, kutsu komentoa "DrawGame". Näin muut grafiikat eivät peity objektien alle.

Re: Aloittelijalle apua

Posted: Sat May 23, 2009 9:18 pm
by Viltzu
Nyt vaikuttaa siltä, että et edes ole katsonut manuaalia. Onko näin?
Luulisi nyt pikaisella haullakin manuaalista löytää noihin kysymyksiisi vastaukset.

Re: Aloittelijalle apua

Posted: Sun May 24, 2009 7:50 am
by buke44
Miksei tämä pätkä toimi?

Code: Select all

If pisteet# = 10.0 Then Text 1, 20, "hyva"

Re: Aloittelijalle apua

Posted: Sun May 24, 2009 8:15 am
by skorpioni-cb
Mikä virheilmotus tulee? Se saattaisi auttaa tai et ole määritellyt muuttujaa esim. silmukassa, koska muutuvat muuttujat esitetään silmukassa.

Re: Aloittelijalle apua

Posted: Sun May 24, 2009 11:57 am
by Awaclus
BotPaska wrote:Miksei tämä pätkä toimi?

Code: Select all

If pisteet# = 10.0 Then Text 1, 20, "hyva"
Jos ei tule mitään virheilmoitusta, vaan se vain ei toimi, niin se johtuu siitä, että kutsut DrawScreeniä tuon jälkeen kahdesti -> teksti vilahtaa siinä niin nopeasti, että ihmisen silmä ei sitä ehdi näkemään. Jos tilanne on tämä, tässä yksinkertaisin korjaus:

Code: Select all

If pisteet# = 10.0 Then Locate 1, 20: AddText "Hyvä!"
EDIT: Tarkoitti siis sitä, että tämän jälkeen tulee Repeat, jossa on yksi DrawScreen tai kaksi+ DrawScreeniä ilman Repeatia.

Toinen mahdollisuus olisi se, että pisteet# -muuttujaa ei ole tai sen ei ole koskaan mahdollista olla 10.0.

Re: Aloittelijalle apua

Posted: Sun May 24, 2009 8:57 pm
by koodaaja
Kahden drawscreenin teoria kuulostaa siinä määrin epämääräiseltä, että kuva vilkkuisi jolloin teksti kyllä näkyisi. Tuo muuttujan epätarkkuus sen varmaan tekee, pistä mieluummin vaikka

Code: Select all

If pisteet# > 9.9 And pisteet# < 10.1 Then Text 1, 20, "hyvä"
Näin siis, mikäli pisteet lasketaan jollain kaavalla ja voivat olla esmes 10.00000001. Tai voit pyöristää pisteet kokonaislukuihin, jos se ei ole niin turhan tarkkaa, eli If Int(pisteet#) = 10 Then..