Olen tekemässä autopeliä Flashillä ja ongelmana on kierroslaskuri. Kun ajan autolla maaliviivan päältä hitaasti niin kierroksia tulee enemmän kuin yksi tai jos siihen pysähtyy, niin kierrokset juoksevat koko ajan.
Minkälaisella koodilla kierrosluku kasvaisi yhdellä vaikka maaliviivan päällä makaisi ikuisuuden?
Minkälaisella koodilla kierrosluku kasvaisi yhdellä vaikka maaliviivan päällä makaisi ikuisuuden?
Vastaukset 1
Vanhimmat
pikamietinnän tuloksena tuli tälläinen mieleen
tehdään muuttuja a jonka oletus arvo alussa on false. voit laittaa radalle näkymättömän 'viivan' (esim. puoleen väliin rataa)jonka jälkeen a on true kun auto ylittää kyseisen viivan. kun auto ylittää maali viivan niin tutkitaan a totuusarvoa ja jos sen arvo on false kun ylitetään maaliviiva niin ollaan samalla kieroksella vielä tai sitten ollaan 'oikaustu' (eli ei olla menty viivan a yli). jos a:n totuusarvo on true kun ylitetään maaliviiva niin lisätään kieros ja laitetaan a totuusarvo false:ksi.
samalla radalle voidaan pistää esim viivat b,c,d jne. ja maaliviivalla tutkitaan näitten totuusarvoja. näin voidaan samalla tutkia onko auto oikaussut jossain kohtaa (jos se on mahdollista pelistäsi) ja antaa sen mukainen aikasakko. tai sitten tehdä noista viivoista ns. checkpointeja joita esiintyy aika monessa autopeleissä..