játékfejlesztés.hu
FórumGarázsprojectekCikkekSegédletekJf.hu versenyekKapcsolatokEgyebek
Legaktívabb fórumozók:
Asylum:    5455
FZoli:    4892
Kuz:    4455
gaborlabor:    4449
kicsy:    4304
TPG:    3402
monostoria:    3284
DMG:    3172
HomeGnome:    2919
Matzi:    2521

Pretender:    2498
szeki:    2440
Seeting:    2306
Geri:    2189
Orphy:    1893
Joga:    1791
Bacce:    1783
MaNiAc:    1735
ddbwo:    1625
syam:    1491
Frissebbek | Korábbi postok
[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [15] [20] [25] [30] [35] [40] [45] [50] [55] [60] [65] [70] [75] [80] [85] [90] > 95 < [100] [105] [110] [115] [120] [125] [130] [135] [140] [141]
Matzi - Szerkesztő | 2521 hsz       Online status #75182   2007.11.23 14:33 GMT+1 óra  
gaborlabor:
Persze, nem okoz kavarodást, de attól még úgy kell leírni, hogy megfeleljen a logikának.
2 + 3 * 5 => 2 3 5 * +
Ráadásul a számokat el kell választani egy szóközzel (ami meg a sima leíársban nem kell). Szóval ha ilyen alakban kapod a számokat, akkor örülhetsz, de a legtöbben nem igazán tudják így beírni. Persze ha olyan rendesek vagyunk, hogy a usertől kérjük, hogy egyesével adjon meg dolgokat, ne csak pöttyintse be egy sorba a kívánt műveleteket, akkor akár használhatjuk is ezt a struktórát, lévén mi építjük fel, nem a user.

A bináris fa nem rossz ötlet, csak figyelni kell a precedenciákra. Nagyjából azt kell csinálni, hogy fogod a sort, szépen kiveszed az osztásokat és a szorzásokat, és a mellettük álló számokat beosztod egy csómopont alá, és ezt a csomópontot visszailleszted a sorba, majd végigmész az összeadás, kivonás műveleteken, végül az egészet megismétled a zárójelek felbontásával. Esetleg előre bezárójelezheted az egészet ahogy kell (persze a meglévőkre vigyázva, és akkor minden zárójel egy csomópont lesz, egy művelettel és két zárójeles résszel (amik magukban részfák).
Pl: 2 + 3 * 5 => 2 + (3 * 5) => (2 + (3 * 5))
Ebből azért már látszik, hogy mi a sorrend, egyedül annyi a lényeg, hogy fel kell ismerni a zárójel blokkokat, aminél lehet számolni a nyitó csukó zárójeleket, így tudni fogjuk melyik szinten járunk a fában. A fenti példában amikor elérjük az összeadást, akkor az első szinten vagyunk, mert 1 nyitó és 0 csukó zárójel volt, a szorzásnál viszont két nyitó és nulla záró van ,így az már a második szint, stb. Ezzel szépen szétdarabolható az egész kifejezés, mert az lesz egy zárójelen belül, ahol a nyitó és a csukó zárójel azonos szinten vannak, például itt a (3 * 5) zárójelei egy szinten vannak, és még ha lenne bennük más zárójel is, akkor sem jelentene gondot, mert nem az első záró zárójelet keressük, hanem azt, ami a megfelelő szinten van. Így szépen rekurzívan felépítjük a fát, és aztán egy bejárással végigmegyünk, és kiszámolunk minden csomópontot, amíg végül a legfölső, 0. szinten ki nem jön az eredmény.

Persze az is egy lehetséges megoldás, ha csinálunk egy zárójel felismerő függvényt (persze az egész sort betesszük egy zárójelbe, hogy akkor végezzen, ha azt befejezte), ami megkeresi a lokálisan legkisebb szintet, és kiszámolja azt az eredményt a precedencia szabályai szerint (szorzás, osztás előbb van), és ha elért a végére, akkor végzett.

Hogy melyik gyorsabb algoritmus, azt így hirtelen nem tudom, de valószinű, hogy normális esetekben nem is nagyoön lényeges. Egyikben sem triviálisak a string kezelő függvények, szóval a lehető leghamarabb át kell őket rakni valami emészthetőbb, mondjuk lista struktúrába, ahol csomópont a műveleti- és a zárójel is, és akkor már biztosan nincs gond.

Ha kell akár még valami pszeudó kódot is dobok fel, ha kértek, csak nem most, hanem majd ha lesz rá időm.
If your game idea starts with the story it’s not a game idea.
Stories in games are optional.
   
BerbeckU - Tag | 506 hsz       Online status #75181   2007.11.23 12:49 GMT+1 óra  
Idézet
fpeti :
Nekünk egyszer egy tanár elkottyintotta, hogy a zárójeles kifejezéseket szét lehet bontani bináris fába, és egy bejtárással kijön a jó műveletvégzési sorrend, de itt elhallgatott.


A nemjóját.


Köszi az eddigi infót.

Beast: Nem szentírás a C++, csak C#-ben eddig egy egyszerű irodai programot írtam.
Gaborlabor: Matzi mond valamit.... Így az Explanation részre ránézve. Mindenesetre köszi, mindenképpen megnézem.

___________
A lelkesedés az, ami a tudásnak ízt ad...


   
gaborlabor - Moderátor | 4449 hsz       Online status #75180   2007.11.23 12:35 GMT+1 óra  
Nekem egy előadáson pont azt mondták, hogy előnye az, hogy a felhasználótól bármilyen mennyiségben kérhetünk be adatokat, és nem okoz gondot a zárójelezés.
Sosem próbáltam. Parsert sem nehéz írni hozzá, ÁLLÍTÓLAG.

De van aki már csinált ilyet:
http://www.math.bas.bg/softeng/bantchev/cpla/rpn/rpn.cly.html
http://www.math.bas.bg/softeng/bantchev/cpla/cly.html

   
fpeti - Törzstag | 1291 hsz       Online status #75179   2007.11.23 12:33 GMT+1 óra  
Nekünk egyszer egy tanár elkottyintotta, hogy a zárójeles kifejezéseket szét lehet bontani bináris fába, és egy bejtárással kijön a jó műveletvégzési sorrend, de itt elhallgatott.
   
Matzi - Szerkesztő | 2521 hsz       Online status #75178   2007.11.23 12:30 GMT+1 óra  
gaborlabor:
Ez feltételezi, hogy a szöveg ennek a logikának megfelelően íródott, amihez előbb át kell konvertálni, vagy megkérni a használót, hogy ezt kövesse. Egyik sem túl emberbarát megoldás.
If your game idea starts with the story it’s not a game idea.
Stories in games are optional.
   
gaborlabor - Moderátor | 4449 hsz       Online status #75177   2007.11.23 12:27 GMT+1 óra  
Üdv!

A feladat megvalóításán sokat gondolkodtam már én is, de soha nm szántam rá magam, hogy nekiálljak!
Viszont van itt valami, ami érdekelhet, segíthet neked. Konkrétan a szöveg feldolgozására gondolok.

Az inverz lengyel logika olyan ága a matematikának, amelyet a zárójelezés és egyéb problémák kicselezése okán talált ki Jan Lukasiewicz lengyel származású matematikus.

Ezt tudom ajánlani. Még csak ismerkedem vele, de úgy tudom, hogy pont az ilyen és ehhez hasonló esetekben jön jól. Egy sztringet feldolgozni (felbontani számokra, és műveleti jelekre) nem túl nehéz, de a műveletek kiértékelésének sorrendjében a lengyel logika segíthet.
Szerintem ennek nézz utána!
Sok cikk van róla neten, főleg angolul.
pl http://en.wikipedia.org/wiki/Reverse_Polish_notation

(angol elnevezése: Reverse Polish Notation)

   
beast - Törzstag | 1241 hsz       Online status #75175   2007.11.23 12:25 GMT+1 óra  
Mondjuk nem tudom, mennyire fontos, hogy c++ legyen, de szvsz ezt könnyebben mogoldhatnád c#-ban.
Ha mégis c++, akkor az is egy megoldás, a legfájdalmasabb (én igy csináltam), hogy fogsz egy resource editort, elrendezgeted az ablakon a gombokat, majd mindent lekódolsz c++-ban. Mondom, egy elég fájdalmas, de ha nem 60millió gomb, 50ezer checkbox, stb, akkor még lehet alternativa.
Azt hiszem már van csomó form editor (MFC óta) cpp-hoz.
Azt sem tudom, hogy a DX szintén kötelező-e. Ha nem akkor én a win gdi-t részesíteném előnyben, DIB-et konkrétan. Mivel gondolom, egy függvényábrázolónál nem fontos a 30frame per sec.
Szövegértelmező szintén megoldható saját magadtól, de egyszerűbb lenne mondjuk LUA-t ráereszteni a feladatra. Ez kívülről teljesen rejtve is maradna.

   
Matzi - Szerkesztő | 2521 hsz       Online status #75174   2007.11.23 12:18 GMT+1 óra  
A pixelenkénti szinezéshez azért nem kell DX, bőven elég erre a windows natív támogatása. Mondjuk nem nagyon csináltam ilyet, csak java-ban, de nem hiszem, hogy sokkal nehezebb lenne. Ráadásul ilyen programnál tökre nem kell optimalizálni, szépen számolod pixelenként, elég valószínűtlen, hogy görbét kelljen illesztened rá. Maximum ha az egymás melletti pontok nagyon eltérő Y értékkel rendelkeznek, de olyankor egy geyenes rendbe teszi a dolgot
If your game idea starts with the story it’s not a game idea.
Stories in games are optional.
   
BerbeckU - Tag | 506 hsz       Online status #75171   2007.11.23 12:05 GMT+1 óra  
Üdv mindenkinek! Látom azért van élet rendesen. Rég voltam már itt. Kaptam egy rém egyszerű feladatot, ami most jól jönne a visszarázódáshoz, sőt már inkább továbblépéshez.

Kezdetnek egy egyszerű függvényábrázoló program lenne, mindenféle rendezés nélkül egyszerű hatványfüggvényeket árbázolna. Megadják, hogy x a hanyadikont kell ábrázolni és kész.

DirectX-ben gondolkodom.

Nem nagyon írogattam még win ablakos dolgokat, úgyhogy az elejéről kell kezdenem.
A program lényeges részei, sorrendben:
- koordinára rendszer megalkotása (esetleg bekérném a paramétereit, meg a léptékeket a tengelyen)
- adatok bekérése (+ függvény színe)
- kiértékelés
- függvény felrajzolása

Ezután lehetne új föggvényt is rajzoltatni mellé, és még egyet + lenne egy törlés funkció ami visszaadná a szimpla koordináta rendszert.

Először egy egyszerű x-tengelyen végigfutó, pixeleket beszinező algoritmusra gondoltam. Mintha hallottam volna valahol, hogy ezt általában kulcspontokkal oldják meg, aztán arra görbét illesztenek, de lehet, hogy ez elsőre bonyolult lenne, ha létezik egyáltalán ez a módszer.

Segítségeteket pedig abban kérném, hogy hol találok anyagot,, vagy mondhattok konkrét fv-eket is aminek nézzek utána:
- adatok bekérésének alapvető módjai win ablakon keresztül (azt hiszem valami konzolszerűség lenne a legegyszerűbb, mondjuk az ablak alsó részén)
- pixelenkénti színezés DX-ben

A másik kérdésem amihez anyagot keresek, szövegfeldolgozásról szól. Tehát, hogy egy példát mondjak, egy egyenletrendező program. Ami végigmegy a "szövegen", részekre szedi (egyenlőség jel alapján két részre, majd zárójelek, összeadás, kivonás stb. alapján), majd a részeket kiértékeli, és azokkal dolgozik. Mondjuk ez a példa lehet, hogy túl nehéz lenne, de ilyesmi nagyon érdekel mostanság.

Segítségeteket előre is köszönöm.

___________
A lelkesedés az, ami a tudásnak ízt ad...


   
gaborlabor - Moderátor | 4449 hsz       Online status #75167   2007.11.23 11:19 GMT+1 óra  
Az igazat megvallva, eddig én sem vettem észre, hogy nagyon ingadozna a mozgás sebessége, pedig eddig a glut-os megoldást használtam (ami kb ugyanilyen). A fizikával viszont voltak gondok, de az lehet hogy más miatt volt.. De ha látom, hogy nem tökéletes, akkor azért próbálom jobbra megírni.
Mert pár ms ingadozás tényleg nem sokat nyom a latba, de ha viszonylag egyszerűen ki lehet számolni sokkal pontosabban is, miért ne tenném?

Az időmérő osztályt pedig azt hiszem, megpróbálnám magam megírni. Igazából azzal voltam gondban, hogy mi legyen az alapok alapja, ami pontos adatokkal szolgál, pontosabbakkal mint a timeGetTime. Merthogy én eddig hallásból sem ismertem ezt a QueryPerformanceCounter-t, de így már talán én is ki tudok hozni belőle valamit.

   
Matzi - Szerkesztő | 2521 hsz       Online status #75164   2007.11.23 11:12 GMT+1 óra  
Hát, én csak azt láttam, hogy az fps számításhoz használtad. Amúgy én régebben becsaptam annyival, hogy addig nem számoltam idő különbséget, amíg megegyeztek, így elkerülhető a 10 frame 0 ms 1 frame X ms hibája a dolognak, és szerintem senki nem panaszkodott a játékaimra, hogy szaggatnának. A 2-3 ms annyi ingadozást okoz, hogy észre sem veszed.

Mindenesetre idén Játékfejlesztésből nekünk is tanítottáék hogy kell ilyen időmérő osztályt használni, ha kell, megoszthatom a kódját annak is. Bár van egy olyan érzésem, hogy nem teljesen professionális, de azért használható.
If your game idea starts with the story it’s not a game idea.
Stories in games are optional.
   
gaborlabor - Moderátor | 4449 hsz       Online status #75156   2007.11.23 10:23 GMT+1 óra  
Asylum: köszi. De nem használok DX-et. Ha már egyszer oprendszer-függő, próbálom függetleníteni a grafikai API-tól. Viszont a rendszer logikáját látom a kódban, annyiból hasznos

Matzi: Az engem nem zavarna, ha az fps számlálóm nem lenne pontos, de ezt elsősorban nem arra használom. Azért kell nagyon pontosnak lennie, mert gyakorlatilag minden hsználná: fizika, animáció, mozgás, stb. És ahhoz nem elég egy egész szám, vagy néhány tizedesjegy... Mert pl ha 3ms telik el 2 frame között, akkor fps-re ugye 333.333-at kapok, ha meg 4ms telik el, akkor meg 250-et. Óriási különbség, így szerintem nagyon ingadozna minden.

Látom, ti már túl vagytok ezen, de én most írnám meg először normálisan.
Hátha van még valaki rajtam kívül, akinek ez új; szerintem ezzel pompásan el lehet indulni:
http://www.mindcontrol.org/~hplus/misc/simple-timer.html

Köszi mindenkinek a segítséget!

   
Matzi - Szerkesztő | 2521 hsz       Online status #75152   2007.11.23 09:39 GMT+1 óra  
gaborlabor:
A TimeGetTimeal is lehet körülbelülre rendesen számolni, egész egyszerűen meg kell mondani neki, hogy számolja a frame-ket, és akkor osztod el az eltelt idővel (b-a), ha az több mint valamennyi (mondjuk egy sec). Akkor nullázoa frame számlálót, és egyenlővé teszed az a-t b-vel és kész.
Nem pontos, de fps-hez elegendő.
If your game idea starts with the story it’s not a game idea.
Stories in games are optional.
   
Asylum - Törzstag | 5455 hsz       Online status #75151   2007.11.23 09:34 GMT+1 óra  
nah itt is vok.. még jo h nem dobom ki a régi kódokat..xna-s de semmi olyat nem használ ami dx ben nincs meg
nem lövök le tul nagy poént sztem mivel ugy se fejlesztem ezt tovább

http://people.inf.elte.hu/asylum/programming/XNA/QFPSCounter.htm
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
gaborlabor - Moderátor | 4449 hsz       Online status #75119   2007.11.23 06:50 GMT+1 óra  
Aham, értem. Köszi szépen.
Akkor megnézem ezt a QueryPerformanceFrequency/QueryPerformanceCounter duót, hátha én is ki tudok hozni belőle valamit.

   
TPG - Tag | 3402 hsz       Online status #75117   2007.11.23 06:34 GMT+1 óra  
Idézet
gaborlabor :
brutál pontosságú mérések alatt mit értesz pl?


nanosec pontosság.

Idézet
gaborlabor :
fps-t akkor úgy számolsz, hogy inkrementálsz egy változót a rendrciklusban, másodpercenként nullázod. És a másodperc legvégét hogy határozod meg a lehető legnagyobb pontossággal?
Főleg a logikája érdekel, meg hogy melyik függvényeket használod hozzá.


Megnézem minden egyes stat frissítésnél (frame-enként egyszer) hogy az előző FPS számítás óta több idő telt-e el mint egy sec, a mérésre a saját osztályom van alkalmazva amit az előbb említettem. Ha több idő telt el akkor FPS = FrameNum / EllapsedTime. Az FPS számítás nem lesz így teljesen pontos és nem friss de nálam ettől nem függ semmi, csak tájékoztató jellegű. Ha egy osztályban nálam függ valami az időtől akkor az méri saját magának a mérőosztályommal.
Reality is almost always wrong. - House

   
gaborlabor - Moderátor | 4449 hsz       Online status #75106   2007.11.23 05:48 GMT+1 óra  
Asylum: előre is köszi!
TPG: brutál pontosságú mérések alatt mit értesz pl?
fps-t akkor úgy számolsz, hogy inkrementálsz egy változót a rendrciklusban, másodpercenként nullázod. És a másodperc legvégét hogy határozod meg a lehető legnagyobb pontossággal?
Főleg a logikája érdekel, meg hogy melyik függvényeket használod hozzá.

   
TPG - Tag | 3402 hsz       Online status #75103   2007.11.23 05:35 GMT+1 óra  
Időmérésre nálam van egy kis wrapper osztály a QueryPerformanceFrequency/QueryPerformanceCounter duó köré, brutális pontosságú méréseket lehet vele végezni. Az FPS mérést meg egyszerűen úgy oldom meg hogy összeszámolom az 1sec alatt kirajzolt képkockák a számát.
Reality is almost always wrong. - House

   
Asylum - Törzstag | 5455 hsz       Online status #75102   2007.11.23 05:29 GMT+1 óra  
már volt ilyen probléma majd ha hazaértem adok kodot
ezzel az a baj, hogy a delta lehet hogy nagyon nagyon pici amit már nem lehet mérni éss 0-t kapsz
tehát ez a megoldás kb 70-100 fps ig müködik
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
gaborlabor - Moderátor | 4449 hsz       Online status #75095   2007.11.23 05:11 GMT+1 óra  
Beast, úgy nem jó, 99%ban 0 értéket kapok. De nem is lehet jó, mert ha a legvégén van a loopnak akkor a és b közötti időlekérdezés között nincs (szinte) semmi.
Az én logikám szerint így kéne lennie:
1. a idő lekérdezése
2. renderelés
3. b idő lekérdezése
4. deltaTime = b-a, és ebből lehet fps-t számolni.

Ezt gyakorlatilag annyiban változtattam meg, hogy a 3.és4. pontot az első elé tettem be. Ha átrakom a végére, így:
Kód:
void display()
{
printf("%d\n", b);
a = timeGetTime();
glClear(GL_COLOR_BUFFER_BIT);

glBegin(GL_POINTS);
glVertex2i(400, 300);
glEnd();

glutSwapBuffers();
b = timeGetTime() - a;
}
,
Akkor is van, hogy 0-t ír ki, vagyis hogy 0 ezredmásodpercbe telt a renderelés. Így viszont nem lehet fps-t számolni
Ha a timeGetTime helyett a glutGet(GLUT_ELAPSED_TIME)-ot használom, ami ugyanarra jó, akkor valamivel jobb a helyzet, általában 3-at vagy 4-et ír ki, de nagy ritkán előfordul a 0. Pedig csak 300fps-t mér a fraps.
Persze megcsinálhatom, hogy egy feltétellel 1-re állítom az értékét hogyha 0, így nem okoz problémát a division by zero, viszont pontatlan lesz a játékban az animáció, mozgás, sebességek, stb kiszámítása.

Létezik valamilyen alternatív megoldás fps meghatározásához, vagy lehet ezt a módszert tökéletesíteni?

az ötleteket előre is köszönöm

   
beast - Törzstag | 1241 hsz       Online status #75090   2007.11.23 04:42 GMT+1 óra  
b = timeGetTime() - a;
a = timeGetTime();

Itt a gond. a és b is ugyanazt az értéket kapja.
Az a = timeGetTime();-t tedd a render után, a loop utolsó utasitása legyen.

   
gaborlabor - Moderátor | 4449 hsz       Online status #75086   2007.11.23 04:09 GMT+1 óra  
Újabb problem

Így számolok fps értéket:
Kód:
void display()
{
b = timeGetTime() - a;
a = timeGetTime();
fps = 1000./b;
printf("%lf\n", fps);
        // ... rajzolás stb


A gond az, hogy a kimenet a konzol-ablakba valami ilyesmi:
Kód:
1.#INF00
1.#INF00
1.#INF00
1.#INF00
66.666667
1.#INF00
1.#INF00
1.#INF00
1.#INF00
62.500000
1.#INF00
1.#INF00
1.#INF00
62.500000
1.#INF00
1.#INF00
1.#INF00
1.#INF00
66.666667
1.#INF00
1.#INF00
1.#INF00
1.#INF00
62.500000
1.#INF00

MSDN-en olvastam, hogy az 1.#INF00 végtelent jelent, és akkor következik be, ha a művelet elvégzése után az eredmény kívül esik a típus értékkészletén.

A deklarációk (globális):
Kód:
DWORD a,b;
long double fps = 1.;


long double-be biztosan bele kéne férnie, úgyhogy szerintem máshol lesz a hiba, csak nem tudom, mi az. plz help.

szerk: a b változó értéke néha 0 lesz, és akkor 0-val próbálna osztani. De hogy lehet, hogy két render-ciklus között az eltelt idő 0ms? Nem elég pontos a timeGetTime(), vagy mi a gond? Mert a fraps is csak ~200 fps-t mér. Akkor hogy lenne érdemes fps-t számolnom?

   
gaborlabor - Moderátor | 4449 hsz       Online status #75029   2007.11.22 11:12 GMT+1 óra  
hááát... hogy nézett volna ki, ha itthagyok egy üres postot? így legalább sejthetitek, hogy mi történt. remélem nem sokan olvasták el, mert szégyen 1 kicsit

   
ferchild - Törzstag | 815 hsz       Online status #75028   2007.11.22 11:10 GMT+1 óra  
jól elbeszélgetsz magaddal?
Feci Barath (by Kuz)
XD
http://már nem elérhető...új lesz
   
gaborlabor - Moderátor | 4449 hsz       Online status #75020   2007.11.22 10:35 GMT+1 óra  
deleted

szerk: pill

szerk2: oké, solved. én voltam hülye

Ezt a hozzászólást gaborlabor módosította (2007.11.22 10:44 GMT+1 óra, ---)

   
TPG - Tag | 3402 hsz       Online status #74451   2007.11.16 05:34 GMT+1 óra  
Idézet
MaximumViolence :
egy kis OOP:

Adott egy osztály(Car).Az Car osztály tartalmaz egy másik osztályt(Tire).Hogyan tudom elérni a Tire osztályt,a Car osztály objektumán keresztül?



Kód:
class Car
{
public:
  class
  {
  public:
   setMass(float pMass);
  private:
  protected:
   Mass;
}Tire;
private:
protected:
};
Car* jarmu;

void mainloop()
{
   jarmu->Tire.setMass(25.0f);
}
Reality is almost always wrong. - House

   
MaximumViolence - Törzstag | 1020 hsz       Online status #74450   2007.11.16 05:33 GMT+1 óra  
Idézet
kicsy :
Esetleg a belső osztályt példányosítani?


az lesz a jó szerintem,mind a 4 kereket bepakolom egy std::vector-ba,majd azzal dolgozok a main loopban...neki is esek
Ez egy reszeg post...

   
Asylum - Törzstag | 5455 hsz       Online status #74449   2007.11.16 05:28 GMT+1 óra  
Car-ba friend class Tire

hmm mégse...akkor csatlakozok kicsyhez példányositsd.
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
kicsy - Szerkesztő | 4304 hsz       Online status #74448   2007.11.16 05:26 GMT+1 óra  
Esetleg a belső osztályt példányosítani?
kicsy ● SilentVertigo Team - project Solarah
http://blog.yscik.com
   
MaximumViolence - Törzstag | 1020 hsz       Online status #74445   2007.11.16 05:03 GMT+1 óra  
egy kis OOP:

Adott egy osztály(Car).Az Car osztály tartalmaz egy másik osztályt(Tire).Hogyan tudom elérni a Tire osztályt,a Car osztály objektumán keresztül?
Kód:
class Car
{
public:
  class Tire
  {
  public:
   setMass(float pMass);
  private:
  protected:
   Mass;
};
private:
protected:
};

adott egy main loop,amely csak a Car osztály objektumát ismeri,itt szeretném beállítani a Tire osztály mass értékét,a setMass() függvénnyel.
Kód:
Car* jarmu;

void mainloop()
{
   //vmi ilyesmire gondolok
   jarmu::Tire->setMass(25.0f);
}

ötletek?
Ez egy reszeg post...

   
nagyy - Törzstag | 248 hsz       Online status #74398   2007.11.15 03:33 GMT+1 óra  
Arra sem árt vigyázni, hogy az ALMA, BANAN, CITROM értékei mind legyenek kettő hatványai, mert egyébként probléma lesz.
Tfh. a CITROM = 3 (=11b), akkor az a legalsó két helyiértéket 1-be állítja. Ha mondjuk ALMA = 1 (=01b), BANAN = 2 (=10b) akkor ha a CITROM-ot bevagyolod, az annak felel meg, mintha ALMA és BANAN is be lenne vagyolva.
Ja, és nem árt, ha a előjel nélküli változókat használsz, mert különben később eléggé idegesítő problémák tudnak előjönni.
   
ShAdeVampirE - Törzstag | 1313 hsz       Online status #74390   2007.11.14 22:00 GMT+1 óra  
1ébként elvileg ha 1ik sem volt 0, akkor erre h (c & BANAN) a BANAN-t kell visszakapnod (ha c-ben benne van).
   
ShAdeVampirE - Törzstag | 1313 hsz       Online status #74388   2007.11.14 21:58 GMT+1 óra  
remélem 1ik sem volt egyenlő 0-val
   
Asylum - Törzstag | 5455 hsz       Online status #74377   2007.11.14 14:58 GMT+1 óra  
ja értem szal nem mindig müködik
mind1 tetszöleges bitsorozatokat vettem amik nem egyenlöek
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
TPG - Tag | 3402 hsz       Online status #74376   2007.11.14 14:49 GMT+1 óra  
mi volt a 3 int értéke? Mert az az igazán nem mindegy.
Reality is almost always wrong. - House

   
Asylum - Törzstag | 5455 hsz       Online status #74375   2007.11.14 14:35 GMT+1 óra  
pontosan hogy is van ez? van mondjuk 3 int em ALMA, BANAN, CITROM
mindegyik különbözö bitsorozat

összevagyolom c = ALMA|BANAN

akkor azt hogy az igy kapottban benne van e a banán azt igy nézem meg hogy
c & BANAN

na most ez ok hogy ezt egy if feltételbe irom de pontosan mit is ad vissza? mert irtam egy példát és hát citromra is nemnulla jött ki
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
Asylum - Törzstag | 5455 hsz       Online status #74370   2007.11.14 13:20 GMT+1 óra  
nem az idevel van bajom hanem a forditoval.....
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
ShAdeVampirE - Törzstag | 1313 hsz       Online status #74366   2007.11.14 08:40 GMT+1 óra  
Ráadásul MSVC++ Express még ingyenes is, és kizárt, h találnál ennél jobb/ többet tudó IDE-t. Sztem ezt bátran ki merem jelenteni.
   
~Cre@tine~> - Tag | 702 hsz       Online status #74363   2007.11.14 07:59 GMT+1 óra  
Idézet
Asylum :
már mért kritizánlák..énis csomo marhsaágot kirakok a honlapomra vmelyikhez még forráskod is van mégse kapok anyázó leveleket h 'ugyis elkaplak teee ciklussal számolod a szinuszt!!'


Sokan félnek ettől, de úgyis lesz mindig olyan aki már x évvel több ideje nyomja meg van már róla 6 diplomája is, szóval az ember mindig fejlődik és menet közben változik a stílusa is stb.
Most raktam ki életemben először C++ kódot az egyik project FTP-jére. Még eddig senki nem tépte le a fejemet.

"hát ja csak azért ennyire gány lenne a microsoft?"
Használj MS VC++ t és a problémák megoldódnak.

   
Asylum - Törzstag | 5455 hsz       Online status #73910   2007.11.08 09:22 GMT+1 óra  
hát ja csak azért ennyire gány lenne a microsoft?
na mind1 szal hát akkor kézzel kijavitom

linker error..hát jo akkor erröl ennyit..marad a szar

Ezt a hozzászólást Asylum módosította (2007.11.08 10:18 GMT+1 óra, ---)
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
TPG - Tag | 3402 hsz       Online status #73908   2007.11.08 09:03 GMT+1 óra  
Idézet
Asylum :
MinGW -vel probálok directx es progit forditani de a következö warningokat adja

....

valakinek van vmi ötlete?
a libeket átkonvertáltam .a ba de ugyláccik a headereket is meg kéne zabolázni : /


Mivel Visual Studio-ra kitalálva a natúr DXSDK ezért igen valószínű. Az első két pragma-s warning-al lényegében semmi baj nincs mert azok természetesek (mivel ugyebár a pragma direktíva szabadon értelmezhető a fordítók számára és ezzel a lehetőséggel élnek is ezért a MinGW nem fogja érteni a VC++ pragmás dolgait).
Reality is almost always wrong. - House

   
Asylum - Törzstag | 5455 hsz       Online status #73906   2007.11.08 08:54 GMT+1 óra  
MinGW -vel probálok directx es progit forditani de a következö warningokat adja
Kód:
In file included from C:/Users/Asylum/Desktop/directx9/include/d3d9.h:260,
                 from main.cpp:1:
C:/Users/Asylum/Desktop/directx9/include/d3d9types.h:25: warning: ignoring #prag
ma warning
C:/Users/Asylum/Desktop/directx9/include/d3d9types.h:2007: warning: ignoring #pr
agma warning
In file included from main.cpp:1:
C:/Users/Asylum/Desktop/directx9/include/d3d9.h:1986:1: warning: "/*" within com
ment
C:/Users/Asylum/Desktop/directx9/include/d3d9.h:1987:1: warning: "/*" within com
ment


valakinek van vmi ötlete?
a libeket átkonvertáltam .a ba de ugyláccik a headereket is meg kéne zabolázni : /
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
Asylum - Törzstag | 5455 hsz       Online status #73722   2007.11.06 14:21 GMT+1 óra  
már mért kritizánlák..énis csomo marhsaágot kirakok a honlapomra vmelyikhez még forráskod is van mégse kapok anyázó leveleket h 'ugyis elkaplak teee ciklussal számolod a szinuszt!!'
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
TPG - Tag | 3402 hsz       Online status #73718   2007.11.06 13:23 GMT+1 óra  
Idézet
MaximumViolence :
én meglesném


Nah azt megköszönném. Még néhány dolgot kijavítok aztán küldöm MSN-en.
Reality is almost always wrong. - House

   
MaximumViolence - Törzstag | 1020 hsz       Online status #73714   2007.11.06 12:59 GMT+1 óra  
én meglesném
Ez egy reszeg post...

   
TPG - Tag | 3402 hsz       Online status #73711   2007.11.06 12:48 GMT+1 óra  
Idézet
beast :
Szvsz, ha működik akkor bekaphatják.


Jah, végülis ez is egy nézőpont. Beírom a Readme végére hogy "Ne kritizáld! Működik! Bekaphatod!".
Reality is almost always wrong. - House

   
beast - Törzstag | 1241 hsz       Online status #73707   2007.11.06 12:32 GMT+1 óra  
Szvsz, ha működik akkor bekaphatják.

   
TPG - Tag | 3402 hsz       Online status #73705   2007.11.06 12:23 GMT+1 óra  
Idézet
MaximumViolence :
mit jelent az ,hogy szalonképes-e?


Azt hogy ha nyilvánosan letölthetővé teszem akkor nem röhögnek ki érte és nem nagyon kötnek bele.
Reality is almost always wrong. - House

   
MaximumViolence - Törzstag | 1020 hsz       Online status #73704   2007.11.06 12:16 GMT+1 óra  
mit jelent az ,hogy szalonképes-e?
Ez egy reszeg post...

   
TPG - Tag | 3402 hsz       Online status #73686   2007.11.06 09:04 GMT+1 óra  
Lenne egy kérésem: Kellene valaki aki erősen járatos a C++ ban (és úgy általában az OOP-ban) plusz hajlandó átnézni a kódomat. Annyi lenne csak az egész hogy a kódot amit odaadok meg kell nézni hogy szalonképes-e. Az egész 8 fájl és cirka 1400 sor, kommentezve még nincs.

Szerk: A bátor jelentkezőnek előre is köszönöm.
Reality is almost always wrong. - House

   
Frissebbek | Korábbi postok
[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [15] [20] [25] [30] [35] [40] [45] [50] [55] [60] [65] [70] [75] [80] [85] [90] > 95 < [100] [105] [110] [115] [120] [125] [130] [135] [140] [141]