Kezdőoldal » Számítástechnika » Programozás » Ezt a feladatot hogyan lehetne...

Ezt a feladatot hogyan lehetne kivitelezni c# ben? Nem a kód bepötyögése okozza a nehézséget.

Figyelt kérdés

Képzeljetek el egy kockát aminek van egy 3Dvectora amiben tárolódik a horizontal, vertical, és a z axis ja.

Ebben a vectorban mindig a kocka pontos pozíciója van.


Ezzel a kockával az ugrást akarom megcsinálni.

És ez nem megy.


felugrik és utánna a sebessége lassulni kezd mert ugye hat rá a gravitáció.

Ezt hogy csináljam meg.


Hogyan csináljam meg azt hogy amikor felugrok vele onnantól folyamatosan lassulni fog?

De ezt úgy kéne megcsinálni hogy miközben a levegőbe van ne tudjon elmozdulni oldalra.Mert amikor a levegőbe vagyunk akkor mi sem tudunk elmozdulni vízszíntesen semerre.


Segítsetek.


Addig megvagyok hogy felugrik de ott marad a levegőben.

És amikor a levegőben vagyok tudok vele mozogni oldalra is ezt nem akarom.


2013. márc. 16. 01:00
 1/9 anonim ***** válasza:
100%

Az ugráskor beállítasz egy logika változót, ami azt jelenti, hogy a levegőben van. Ezt a gombnyomásoknál megnézed, ha (mondjuk) igaz, akkor nem csinálsz semmit, ha hamis, akkor lekezeled az inputot.


Ezzel megoldva, hogy a levegőben ne lehessen "mozogni".

A lefelé eséshez pedig olvass kicsit utána a fizikának, vagy nézz meg más programok.

Annyit segítek, hogy egy adott "sebességgel" szokták csökkenteni a magasságot, egészen a földdel történő ütközésig.

2013. márc. 16. 01:08
Hasznos számodra ez a válasz?
 2/9 iostream ***** válasza:
No igen, a gravitációhoz már szükséges a második derivált, a gyorsulás is. Annyira azért nem bonyolult: a gyorsulás az az érték, amivel a sebesség változik. Szimpla newtoni fizika.
2013. márc. 16. 09:26
Hasznos számodra ez a válasz?
 3/9 A kérdező kommentje:

Matematikából eléggé gyenge vagyok tudnátok segíteni,hogy megértsem a gyorsulást.

Nem értem,hogyan kéne gravitációt megcsinálni.

Nem bírom kitalálni a megoldást.


[link]


Szerintem erről itt van minden de nem értem.

2013. márc. 17. 23:07
 4/9 anonim ***** válasza:

ha feldobod, akkor y és z tengely mntén (vagy tudom is én melyik, melyik) nem változik a koordináta, csak a függőleges tengely mentén: kell az x tengelyen való helyzetre egy függvényt felírni az eltelt idő függvényében:

fizikán így szokták mondani:

X(t)=v*t-0,5*g*t^2

ahol x a tengely, v a kezdősebesség (pl. px/sec) g a gravitációs gyorsulás (10 m/s^2), és máris megvan a függvény

sajnos c#-hez nem értek, a logikai részében tudtam csak segíteni.

2013. márc. 17. 23:28
Hasznos számodra ez a válasz?
 5/9 iostream ***** válasza:
A gyorsulás a sebesség változása. Gondolom a sebességet letárolod valahogy. Minden körben ezt a sebességet változtasd egy fix, lefelé mutató sebességgel.
2013. márc. 18. 10:15
Hasznos számodra ez a válasz?
 6/9 A kérdező kommentje:

Jólvan akkor letárolom a sebességet.


int ugrásiSebesség = 0.0F; Amikor nem mozgok sem felefelé sem lefelé akkor 0.0F az értéke a mozgási sebességnek.


Ha megnyomom az ugró gombot akkor ennek az értékét kell feljebb állítani majd el kell érni az valahogy hogy ez az érték folyamatosan csökkenjen és amíg a levegőben vagyok addig mennyen át mínuszban mert ugye pottyanni is fogok majd ha ütözök a talajjal akkor pedig nullára kell állítanom az ugrási sebességet.


A kérdésemben azt írtam,hogy ne okoz gondot a kód bepötyögése de úgy tűnik eltúloztam egy kicsit. xD


Nem is olyan egyszerű az ugrás megvalósítása.

2013. márc. 18. 21:18
 7/9 A kérdező kommentje:

y = y0 + v0*t + g*t*t/2


y : a magasság 't' idő elteltével

y0 : a magasság az ugrás kezdetekor

v0 : az ugrás erejét állítod be vele (y irányú kezdősebesség)

t : az ugrás kezdete óta eltelt idő

g : gravitációs konstans (y irányú gyorsulás), előjele 'v0'-val ellentétes legyen

2013. márc. 18. 21:26
 8/9 A kérdező kommentje:

A 21:26 kommentemet nem értem mert fizikából is nagyon sza* vagyok.Egyébként szégyenlem is hogy hülye vagyok.


De az alábbi képletet biztosan be tudom helyettesíteni programozásban.


De most tényleg ilyen rendszerigényes volna egy ugrás megvalósítása.


az ugrás kezdete óta eltelt idő

Most folymatosan mérnem kell egy eseménnyel hogy mennyi idő is telt el az ugrás közben.


Nem értem ezt az egészet ez nekem túl bonyolult.

Nem tudom most én vagyok ennyira buta vagy tényleg ennyire megerőltető volna egy normális ugrás leprogramozása.

2013. márc. 18. 21:31
 9/9 iostream ***** válasza:
És ha még azt is tudnád, hogy a sebesség vektormennyiség...
2013. márc. 18. 22:35
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!