[ARHIIV] mängumeistrid
Pole sisse logitud. [Logi sisse ]
Mine lehekülje algusesse
Prinditav versioon | Telli teema e-mailile | Lisa lemmikutesse  
Ringi aeg
joke33
Level 11
Avatar

Liitunud: 5.11.2005
Postitusi: 874
[EEMAL]




gm6.gif postitati 17.6.2006 14:52 Tsiteeri
Ringi aeg



Mul on mängus ajasüsteem, millele tahaks teha nii, et ringi lõpus aeg nullitakse ja siis eelmise/parima ringi aeg salvestatakse aga seda salvestamist teha ei oskaks, et kas saaks teegi näite või midagi teha??
http://i126.photobucket.com/albums/p117/joke33/omgwtfbbq1.gif

Vaata kasutaja profiili Otsi kasutaja postitusi Saada privaatsõnum
dender
Level 9


Liitunud: 9.5.2009
Postitusi: 594
[EEMAL]




gm6.gif postitati 17.6.2006 19:32 Tsiteeri


Nuh siin minu poolne näide. Kasutasin siis Arrays-id. Tulemus päris hea ja loodan et sobib. =)

[Muudetud: 17-6-2006 dender]

Lisatud fail: timer.gm6 (12.01kb)
148 korda tõmmatud


Vaata kasutaja profiili Otsi kasutaja postitusi Saada privaatsõnum
joke33
Level 11
Avatar

Liitunud: 5.11.2005
Postitusi: 874
[EEMAL]




postitati 17.6.2006 21:19 Tsiteeri


nojah näide on hea, aga mul on ringiloenduris muutujas global ja see sossib kõik koodid ära, sest nõuab muutujat,mis global.ringeloeb gm-i arust pole....:(
EDIT: on see korras aga ma ei julge kustutada seda o_*mingimuutuja*, mis mul on o_global.*mingimuutuja* ja see gm-ile ei meeldi, et seal global on...:wtf:
EdIt: korras,(vahetasin muutujad ära..st. võtsin o_-eest ära) aga kuidas teha nii, et aeg[1] on parim aeg ja aeg[2]
on eelmise ringi aeg

[Muudetud: 17-6-2006 joke33]

[Muudetud: 17-6-2006 joke33]

http://i126.photobucket.com/albums/p117/joke33/omgwtfbbq1.gif

Vaata kasutaja profiili Otsi kasutaja postitusi Saada privaatsõnum
dender
Level 9


Liitunud: 9.5.2009
Postitusi: 594
[EEMAL]




postitati 17.6.2006 21:29 Tsiteeri


aga ära siis kasuta globalit. Määra lihtsalt variable asukoht selle
objekti_nimi.muutuja=...

Nuh samas võiksid panna selle ringi loenduri seal selle aeg[ringiloendur] array-sse panna. Et siis kui läbid ringe siis automaatselt muutuvad ka slotid.

Näiteks 0 ring on sõitmisel, sõidad läbi siis salvestad ära selle ja ringiloendur+=1 ja siis on nagu 2 ring jms.

Aga nuh eks sa ise tead vast paremini. :)


Vaata kasutaja profiili Otsi kasutaja postitusi Saada privaatsõnum
joke33
Level 11
Avatar

Liitunud: 5.11.2005
Postitusi: 874
[EEMAL]




postitati 18.6.2006 18:06 Tsiteeri


Muutsin koodi ja nüüd on jama, et aega ei salvestata. Mul on aeg ja time vahetuses ehk on global.time[1] ja global.time[2] ja global.aeg..Kood ise:
Kood:
if global.ringeloeb=1{//kui kontroll läbitud
with (global.ringeloeb)//salvestame ajad
{
if global.part=0{//kui esimene slot
if global.ringe=1{
if global.aeg>global.time[1]{
global.time[global.part]=global.aeg//salvestame aja
}
}
global.part=1//muudame sloti
global.aeg=0//nullime aja
}
}
if global.part=1{
if global.ringe>1{
if global.aeg<global.time[1]{
global.part=0
global.time[global.part]=global.aeg
global.part=1
global.aeg=0
}
else
global.time[global.part]=global.aeg
global.aeg=0
}
}
}

mis viga??:duh:

[Muudetud: 18-6-2006 joke33]

[Muudetud: 18-6-2006 joke33]

http://i126.photobucket.com/albums/p117/joke33/omgwtfbbq1.gif

Vaata kasutaja profiili Otsi kasutaja postitusi Saada privaatsõnum
dender
Level 9


Liitunud: 9.5.2009
Postitusi: 594
[EEMAL]




postitati 18.6.2006 18:16 Tsiteeri


globaleid vast pole niipalju vaja.

Tee üks kontroller, määra Create-is ära muutujad:

part=0 //slotti määrav muutuja : time[part]
ringe=0 //selle saad ju samaks lugeda kui part
aeg=0 //see siis see mängu ajal jooksev aeg
time=0 //seda vast polegi sul vaja

//slotid:
time[0]=0
time[1]=0
//jne....

Ja nyyd et aeg salvestada jms pane see auto collison eventi start ja finishiga.

Auto Create:


ringe_loeb=0 //kontroll

Collision start vms:

if ringe_loeb=1{//kui kontroll läbitud

with (see kontroller kus olid need slotid jms) //salvestame ajad
{

if part=0{//kui esimene slot
time[part]=time//salvestame aja
part=1//muudame sloti järgmise peale
aeg=0//nullime aja
sinu auto objekt.ringe_loeb=0//nullime kontrolli
}

if part=1{
// ja siia siis eelmise asjaga sama nali
}

}
}

Ma ei tea kui asjalikult tegin ka nuh loodan et põhimõte selge =).

PS! ja nuh selle ringe_loeb paned siis 1 peale kui collison auto ja siis see kontroller. Kuigi seda sa juba niikuinii tead :)

[Muudetud: 18-6-2006 dender]

[Muudetud: 18-6-2006 dender]


Vaata kasutaja profiili Otsi kasutaja postitusi Saada privaatsõnum
joke33
Level 11
Avatar

Liitunud: 5.11.2005
Postitusi: 874
[EEMAL]




postitati 18.6.2006 19:00 Tsiteeri


aa oki ma unustasin eelmises postis öelda, et essa slot on parim aeg ja teine eelmine aeg ja globalid on sest mul on need muutajad mitmel objektil
http://i126.photobucket.com/albums/p117/joke33/omgwtfbbq1.gif

Vaata kasutaja profiili Otsi kasutaja postitusi Saada privaatsõnum
dender
Level 9


Liitunud: 9.5.2009
Postitusi: 594
[EEMAL]




postitati 18.6.2006 19:28 Tsiteeri


aso sul parim ja eelmine aega ka lisatud. Nuh praegu ei tea ma siis rohkem aidata. Aga pane see praegune kood mis sul on nagu code tagide vahele, et siis parem aru saada kuhu need looksulud õieti kuuluvad jne. Et siis vaataks koodi yle ja kui veab leiaks ka vea ülesse.

Vaata kasutaja profiili Otsi kasutaja postitusi Saada privaatsõnum
joke33
Level 11
Avatar

Liitunud: 5.11.2005
Postitusi: 874
[EEMAL]




postitati 18.6.2006 19:52 Tsiteeri


on's nüüd parem??kuigi gm'is on kood ühel tasandil nii, et kui see midagi muudab, panen seal ka nii.. (h)
http://i126.photobucket.com/albums/p117/joke33/omgwtfbbq1.gif

Vaata kasutaja profiili Otsi kasutaja postitusi Saada privaatsõnum
dender
Level 9


Liitunud: 9.5.2009
Postitusi: 594
[EEMAL]




postitati 18.6.2006 20:07 Tsiteeri


GM-is ei muuda jh midagi, aga siin code tabis siis kergem lugeda :)

Ma arvan et ehk on viga seal with (..), sul seal nagu variable, kuid peaks olema objekt millele need järgnevad variabled mõjuvad.

Ja siis kui salvestad aja, siis kohe peale salvestamist pane need muutujad järele

global.part=1//muudame sloti
global.aeg=0//nullime aja

ja lõpeta sulgudega ära. Proovi teistel ka nii edasi teha ja vaata mis tulemus on.

[Muudetud: 18-6-2006 dender]


Vaata kasutaja profiili Otsi kasutaja postitusi Saada privaatsõnum
joke33
Level 11
Avatar

Liitunud: 5.11.2005
Postitusi: 874
[EEMAL]




postitati 18.6.2006 20:13 Tsiteeri


Tsitaat:
Algselt postitas: dender
Ma arvan et ehk on viga seal with (..), sul seal nagu variable, kuid peaks olema objekt millele need järgnevad variabled mõjuvad.

imelik...mul küll alguses töötas nii, et seal oli muutuja:duh::irw:
ok tegin kõik nii nagu ütlesid, aga ikka samamoodi

[Muudetud: 18-6-2006 joke33]

http://i126.photobucket.com/albums/p117/joke33/omgwtfbbq1.gif

Vaata kasutaja profiili Otsi kasutaja postitusi Saada privaatsõnum
dender
Level 9


Liitunud: 9.5.2009
Postitusi: 594
[EEMAL]




postitati 18.6.2006 20:55 Tsiteeri


Nuh kui seda esimest poolt analüüsida:

Kood:

if global.ringeloeb=1{//kui kontroll läbitud
with (global.ringeloeb)//salvestame ajad
{
if global.part=0{//kui esimene slot
if global.ringe=1{
if global.aeg>global.time[1]{
global.time[global.part]=global.aeg//salvestame aja
}
}
global.part=1//muudame sloti
global.aeg=0//nullime aja
}
}


Siis rea haaval öeldes olex midagi sellist:-

---------------------

Kui kontroll läbitud...

Koos global.ringeloeb

Kui esimene slot

Kui ringe läbitud 1 või esimene ring sõitmisel (mu seisukohast tundub suht mõttetu -õpin kodus kirjutama ja tulen foorumisse , et see part vastab põhiliselt ka ringidele)

Kui jooksev aeg on kas siis esimesest rekordajast suurem ? [isilikult arvan et selle tõttu ka ei salvestata, sest nuh äkki seda if küsimust eitäideta]

Salvestatakse aeg array-sse.


Etr jh kontrolli kas neid if küsimusi täidetakse. Äkki selle if küsimuse väärtus ei seadistata ja siis jääbki edasine tegematta.

--------------
Et kui ikka veel tulemusi ei ole. Proovi kasvõi see aja salvestus alguses korda saada. Et jäta hetkel need parima aja kontrollimised jms ära. Kui saad ajasalvestuse korda siis hakka neid tingimusi juurde lisama.
Kui mul mingi keerulisem süsteem on siis ma kasutan alati sellist taktikat, et teen yhe poole valmis ja siis lisan detailsemad tingimused juurde. Aga jh ei tea kui väga see igas olukorras töötab.

[Muudetud: 18-6-2006 dender]


Vaata kasutaja profiili Otsi kasutaja postitusi Saada privaatsõnum
joke33
Level 11
Avatar

Liitunud: 5.11.2005
Postitusi: 874
[EEMAL]




postitati 19.6.2006 08:40 Tsiteeri


ei et nagu see ongi point et muidu ju see ei hakka esimest aega peale esimest ringi(loogiliselt) salvestama, sest see aeg on ju suurem kui 0........või noh-ma-ei-tea mul on selle koha pealt aju kokku jooksnud:uh:
http://i126.photobucket.com/albums/p117/joke33/omgwtfbbq1.gif

Vaata kasutaja profiili Otsi kasutaja postitusi Saada privaatsõnum
joke33
Level 11
Avatar

Liitunud: 5.11.2005
Postitusi: 874
[EEMAL]




postitati 19.6.2006 08:56 Tsiteeri


leidsin vea üles....no ütleks et tavaline minu viga, sest ma ei viitsi kõike läbi lugeda
töötav kood:
Kood:
if global.ringeloeb=0{//kui kontroll läbitud
with (writaz)//salvestame ajad
{
if global.part=0{//kui esimene slot
global.time[global.part]=global.aeg//salvestame aja
global.part=1//muudame sloti
global.aeg=0
}
}
if global.part=1{
if global.aeg<global.time[1]{
global.part=0
global.time[global.part]=global.aeg
global.part=1
global.aeg=0
}
else
global.time[global.part]=global.aeg
global.aeg=0
global.part=1
}
}
mul oli kontrolli-finisi süsteem teistpidine ja seega ei saanud see süsteem kuidagi mõjuda ja ehk ka see, et see kood mõjub kirjutajale mitte mu autole teeb ka midagi...:irw:
http://i126.photobucket.com/albums/p117/joke33/omgwtfbbq1.gif

Vaata kasutaja profiili Otsi kasutaja postitusi Saada privaatsõnum
dender
Level 9


Liitunud: 9.5.2009
Postitusi: 594
[EEMAL]




postitati 19.6.2006 09:01 Tsiteeri


Nuh hea et vea ülesse leidsid :).

Vaata kasutaja profiili Otsi kasutaja postitusi Saada privaatsõnum
joke33
Level 11
Avatar

Liitunud: 5.11.2005
Postitusi: 874
[EEMAL]




postitati 19.6.2006 09:43 Tsiteeri


offtopic: sorry topeltosti pärast...=)ma tõesti ei pannud tähele

ahnusel ei ole piire: nüüd oleks vaja kaks aega üheaegselt salvestada, aga see süsteem hakkab ikka ja jälle neid ükshaaval salvestama, kas vaheldumisi või nii, et ühe ringi ajal ei salvesta kumbagi ja järgmisel mõlemad:mad:
EDIT:olen jõudnud nii kaugele, et ainult siis, kui on kõige kiirem aeg, siis ei salvesta eelmist aega...aga edasi vist ka ei oska..

[Muudetud: 19-6-2006 joke33]

http://i126.photobucket.com/albums/p117/joke33/omgwtfbbq1.gif

Vaata kasutaja profiili Otsi kasutaja postitusi Saada privaatsõnum
dender
Level 9


Liitunud: 9.5.2009
Postitusi: 594
[EEMAL]




postitati 19.6.2006 13:16 Tsiteeri


Nuh anna kood ja siis oskame ehk aidata.

Vaata kasutaja profiili Otsi kasutaja postitusi Saada privaatsõnum
joke33
Level 11
Avatar

Liitunud: 5.11.2005
Postitusi: 874
[EEMAL]




postitati 19.6.2006 17:01 Tsiteeri


nii selle koodiga on nii, et kui ringi aeg on parem kui time[0], siis salvestatakse see time[0] koha peale ja alumise aeg on 0 ja kui on aeglasem,siis salvestatakse time[1]koha peale
Kood:
if global.ringeloeb=0{//kui kontroll läbitud
with (writaz)//salvestame ajad
{
if global.part=0{//kui esimene slot
global.time[global.part]=global.aeg//salvestame aja
global.part=1//muudame sloti
{
if global.part=1{
global.time[global.part]=global.aeg
global.part=1
global.aeg=0
}
}
}
}
if global.part=1{
if global.ringe>1{
if global.aeg<global.time[0]{
global.part=0
if global.part=0
global.time[global.part]=global.aeg
global.part=1{
if global.part=1{
global.time[global.part]=global.aeg
global.part=1
global.aeg=0
}
}
}
}
if global.part=1{
global.time[global.part]=global.aeg
global.part=1
global.aeg=0
}
}
}

http://i126.photobucket.com/albums/p117/joke33/omgwtfbbq1.gif

Vaata kasutaja profiili Otsi kasutaja postitusi Saada privaatsõnum
dender
Level 9


Liitunud: 9.5.2009
Postitusi: 594
[EEMAL]




postitati 19.6.2006 17:28 Tsiteeri


Märkasin üht asja mingi bloki juures:

if global.part=1{

if global.ringe>1{
if global.aeg<global.time[0]{
global.part=0

if global.part=0

global.time[global.part]=global.aeg
global.part=1{
if global.part=1{
global.time[global.part]=global.aeg
global.part=1
global.aeg=0
}
}
}
}

Nagu näha on tingimus if global.part=0, if global.part=1 tingimuse sees.

Mis tähendab, et kui sa nyyd selle part=1 tingimuse sees muudad selle part 0-iks, siis selle part=1 tingimus muutub valeks ja järgnevaid ülesandeid ei täideta, kaasaarvatud seda if global.part=0.

Et nyyd pead selle vahepeal enne if global.part=0 tingimust ära lõpetama. Et sul seal palju looksulgusid ajab vahepeal segadusse kus blokk lõppeb ja kus algab. Et nii palju vist sain sealt nüüd aru.

Vb sealt edasi veel midagi aga vaata ise kood rahulikult samm haaval üle ja kontrolli neid küsimusi jne. Sest nuh äkki sul seal jälle mingi väärtuse jama :).




[Muudetud: 19-6-2006 dender]


Vaata kasutaja profiili Otsi kasutaja postitusi Saada privaatsõnum

Hetkel loevad seda teemat:
Mitte ühtegi - 1 külaline

Mine lehekülje lõppu





Foorumi algbaas põhineb XMB mootoril, modifitseeritud Valter Pundi poolt
Kodulehekülg on tehtud Valter Pundi poolt vpundi ät gmail punkt komm