[ARHIIV] mängumeistrid
Pole sisse logitud. [Logi sisse ]
Mine lehekülje algusesse
Prinditav versioon | Telli teema e-mailile | Lisa lemmikutesse  
Väärtuse vähendamine/suurendamine kõige lühemal teel
Crypton

Avatar

Liitunud: 18.12.2005
Postitusi: 1604
[EEMAL]




postitati 14.12.2007 20:47 Tsiteeri
Väärtuse vähendamine/suurendamine kõige lühemal teel



Nimelt oleks vaja kuidagi väärtust vähendada/suurendada kõige kiiremalt ja nii anda porgrammile aimu kuhupoole arvutades on lühem tee.

Täpsemalt siis nii, et mul liikumine kõrvale, keerab keha natukene selle suunas. Ja sealt läheb nagu pildi suund liikumissuunaga paigast veits ära. Ja olekski nüüd vaja teada kuidas saada seda keha suunda vähendada/suurendada liikumis suunaga võrdseks kõige lühemal teel. Ei taha et keha hakkaks mingit 360-t tegema.

Teab keegi rohtu sellele, ilma kirjute if küsimusteta :), kui just nii saab? Ehk on mingit skripti mis nii arvutab ja nii saaks kasutada neid funktsioonidena. Siit tuli ka mõte ja meisterdan seda ise niikaua kuni saan ehk ka vastuse :)

[Muudetud: 14-12-2007 Crypton]

Maze I: CryptonRalli III: Crypton<br>
Vaata kasutaja profiili Külasta kasutaja kodulehte Otsi kasutaja postitusi Saada privaatsõnum
jorss
Level 12


Liitunud: 25.1.2005
Postitusi: 951
[EEMAL]




postitati 14.12.2007 21:20 Tsiteeri


sa räägid kõige lühemat teed pidi pööramisest?
Platform II: -DMI-; H0lx&jorssJõulumäng I: h0lx&jorssKambakas I: jorss, Perfoon
Vaata kasutaja profiili Otsi kasutaja postitusi Saada privaatsõnum
Crypton

Avatar

Liitunud: 18.12.2005
Postitusi: 1604
[EEMAL]




postitati 14.12.2007 21:35 Tsiteeri


võib ka nii öelda jh :)
Maze I: CryptonRalli III: Crypton<br>
Vaata kasutaja profiili Külasta kasutaja kodulehte Otsi kasutaja postitusi Saada privaatsõnum
jorss
Level 12


Liitunud: 25.1.2005
Postitusi: 951
[EEMAL]




postitati 14.12.2007 21:56 Tsiteeri


Kood:

Function CalcAngle:Float(Ang1:Float,Ang2:Float)
Local fDif:Float = Ang2-Ang1
If fDif >= 180.0
fDif :- 360.0
Else
If fDif <= -180.0
fDif :+ 360.0
EndIf
EndIf
Return fDif
End Function

blitzmaxi kood, aga ma usun, et pole raske tõlkida seda


[Muudetud: 14.12.2007 jorss]
Platform II: -DMI-; H0lx&jorssJõulumäng I: h0lx&jorssKambakas I: jorss, Perfoon
Vaata kasutaja profiili Otsi kasutaja postitusi Saada privaatsõnum
Crypton

Avatar

Liitunud: 18.12.2005
Postitusi: 1604
[EEMAL]




postitati 14.12.2007 22:16 Tsiteeri


BASIC-u float on mul siiani segane. Tal endal on küll mingi väärtuse raadius aga jh. GM-is midagi sarnast ma ka ei leidnud... äkki vastab GM-i max() ja min() samale :P? Teagi mis mõte neil üldse on.

Et praegu aitab vähe. Aga muidu tundub suht sarnane sellega, mille ise valmis leiutaisn ja nüüd suure usinaga maha suutsin kustutada :P

Ai sain ikka korda, õnneks polnud enen projekti salvestanud.
Enda oma oli midagi sellist. Selle väärtusest alates siis läheb teine skript edasi mis liidab või lahutab. Hetkel ei tööta see asi:

suuna_vahe()
Kood:

//arvutab kuhupoole vastavalt arg0 on lühem tee kas liita või lahutada
//seoses suuna_muutja()

//argument0=initial direction
//argument1=second direction to compare with
//argument2=turn speed

result = 0

//kui suundade vahe on suurem kui 0 kraadi
if (argument1-argument0)>0{
result = 0 //annab vastuseks nulli, mis tähendab et suund siis lahutatakse võrdseks
}

//kui suundade vahe on suurem kui 359 kraadi
if (argument1-argument0)<359{
result = 1 //annab vastuseks ühe, mis tähendab et suund siis liidetakse võrdseks
}

return result


[Muudetud: 14-12-2007 Crypton]

Maze I: CryptonRalli III: Crypton<br>
Vaata kasutaja profiili Külasta kasutaja kodulehte Otsi kasutaja postitusi Saada privaatsõnum
jorss
Level 12


Liitunud: 25.1.2005
Postitusi: 951
[EEMAL]




postitati 14.12.2007 22:23 Tsiteeri


basicu float on murdarv.
gamemaker ei teind vist neil väga vahet, niiet sa võid ignoreerida seda
või kui tahad kindel olla siis pane muutujat deklareerides ta algseks väärtuseks 0.0 mitte lihtsalt 0
gmi max() returnib suurima väärtuse mis talle argumentidesse anti
ntx max(45,46,23,100)=100
min() teeb täpselt vastupidist.
Platform II: -DMI-; H0lx&jorssJõulumäng I: h0lx&jorssKambakas I: jorss, Perfoon
Vaata kasutaja profiili Otsi kasutaja postitusi Saada privaatsõnum
Crypton

Avatar

Liitunud: 18.12.2005
Postitusi: 1604
[EEMAL]




postitati 14.12.2007 22:40 Tsiteeri


mm k, tnx.
Aga muidu siis peaks kokku tulema suht sama asi.
Kui keegi veel mu koodis mingit vastuolu leiab siis andke teada. Senikaua pusin veel ise.

Maze I: CryptonRalli III: Crypton<br>
Vaata kasutaja profiili Külasta kasutaja kodulehte Otsi kasutaja postitusi Saada privaatsõnum
Crypton

Avatar

Liitunud: 18.12.2005
Postitusi: 1604
[EEMAL]




postitati 18.12.2007 21:09 Tsiteeri


On kellegil miskit vastata, pole küll väga tegelenud(kooli pärast jube kiire), kuid jagu ka pole saanud hetkel.
Maze I: CryptonRalli III: Crypton<br>
Vaata kasutaja profiili Külasta kasutaja kodulehte Otsi kasutaja postitusi Saada privaatsõnum
h0lx
Kohalik sitapea
Avatar

Liitunud: 10.4.2006
Postitusi: 1826
[EEMAL]




postitati 18.12.2007 22:06 Tsiteeri


Selliste probleemide puhul aitab paber ja pliiats. Pärast vb näintan, kui viitsin selle üle mõelda..
Platform II: -DMI-; H0lx&jorssJõulumäng I: h0lx&jorss
Vaata kasutaja profiili Otsi kasutaja postitusi Saada privaatsõnum
jorss
Level 12


Liitunud: 25.1.2005
Postitusi: 951
[EEMAL]




postitati 18.12.2007 22:19 Tsiteeri


alternatiiviks oleks kaval ära tõlkida see kood mille ma üleval antsin...
Platform II: -DMI-; H0lx&jorssJõulumäng I: h0lx&jorssKambakas I: jorss, Perfoon
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