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

Pretender:    2498
szeki:    2440
Seeting:    2306
Geri:    2194
Orphy:    1893
Joga:    1791
Bacce:    1783
MaNiAc:    1735
ddbwo:    1654
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] [142]
dvorgaz - Törzstag | 576 hsz       Online status #92480   2008.07.15 05:14 GMT+1 óra  
Van nekem egy osztályom ami ebből van leszármaztatva. Ennek ugye van egy protected ms_Singleton nevű tagváltozója, de ezt miért nem tudom elérni az én osztályomból? Az egyik metódusához kéne, egy olyan függvény ami megsemmisíti ezt a singletont.

ui: valami olyat ír, hogy az ms_Singleton nincs deklarálva

Ezt a hozzászólást dvorgaz módosította (2008.07.15 05:44 GMT+1 óra, ---)
   
dvorgaz - Törzstag | 576 hsz       Online status #92296   2008.07.12 03:56 GMT+1 óra  
Köszi a választ, végülis átraktam azt két változót a .h-ból a .cpp-be, így lefordult (arra két változóra csak a UnitFactory.cpp-ben volt szükség).

ui: már csak azt kéne kitalálni, hogy tudnám őket berakni abba a namespace-be a mi a .h-ban van deklarálva

Ezt a hozzászólást dvorgaz módosította (2008.07.12 04:31 GMT+1 óra, ---)
   
Matzi - Szerkesztő | 2525 hsz       Online status #92295   2008.07.12 03:49 GMT+1 óra  
Ha jól látom, ezek itten globális változók, és amikor kéthelyre belinkeled, kétszer jönnének létre. A védelem csak arra jó, hogy egy ágon nem deklaráld kétszer ugyanazt, külön ágon szabad (classt és fv-t), szóval ez így biztosan nem lesz jó, mert ez változó, csináld azt, hogy ha több helyen kell, akkor az egyik helyen deklarálod, a másik helyen meg csak egy extern-t írjál be. Elvileg így jó lesz.

Pl:
source1.c:
CVehicle* entity = 0;

source2.c:
extern CVehicle* entity;
If your game idea starts with the story it’s not a game idea.
Stories in games are optional.
   
dvorgaz - Törzstag | 576 hsz       Online status #92294   2008.07.12 03:30 GMT+1 óra  
Hello
Van a következő header fájlom:

Kód:
UnitFactory.h:
-------------------------
namespace Units
{
CVehicle* entity = 0;
unsigned int entityID = 0;
// plusz néhány függvény...
}


Aztán ez be van include-olva a UnitFactory.cpp-be (ebben van ugye az implementáció), és a PlayState.cpp-be (mer itten szükség lenne rá), máshol nincs beinclude-olva. Az összes header fájlon van include guard, szóval nem lehetn(ne) őket többször beszúrni.
Viszont fordításkor mégis ezt a hibát kapom:

Kód:
1>UnitFactory.obj : error LNK2005: "class CVehicle * Units::entity" (?entity@Units@@3PAVCVehicle@@A) already defined in PlayState.obj
1>UnitFactory.obj : error LNK2005: "unsigned int Units::entityID" (?entityID@Units@@3IA) already defined in PlayState.obj
1>..\bin\Debug\Shmup.exe : fatal error LNK1169: one or more multiply defined symbols found


Ez mitől lehet?
   
Carlos - Törzstag | 497 hsz       Online status #92276   2008.07.11 15:55 GMT+1 óra  
Idézet
fpeti :
Mai napig megy a directdraw, nemrégen minigame-re DirectDraw2-vel csináltam kis gémet, csak nem fejlesztik, de ami megvan DD7-ig, működik... nem ott lesz a hiba, de egy sorból igen nehéz kitalálni, az biztos.



Jogos.

Idevágó - és talán a megoldás is itt bújkál valahol:
http://www.prog.hu/tudastar/28182/DirectX+DirectDraw+kerdes.html
Only a Sith Speaks in Absolutes
http://www.nyisztorkaroly.org | iPhone apps: http://apps.nyisztorkaroly.org
   
Carlos - Törzstag | 497 hsz       Online status #92266   2008.07.11 13:17 GMT+1 óra  
Idézet
Asylum :
azt hiszem rájöttem a kerekitési hibák okára
csak ugy példaképpen a 0.5 binárisan igy néz ki: 0.1
normalizálva 1.0 * 2^-1

ebböl lesz egy elöjel bit, ami most 0 mert pozitiv,
egy exponens -1 + 127 = 126
és egy mantissza ami végig 0 (normalizált bináris fromában a törtrész).

na oké mi a helyzet az 1.1 el? nem is olyan trivi mi? probaképpen ki printeltem, a következö bináris formát kaptam:

Kód:
0|01111111|00011001100110011001101


tehát 23 bit van arra hogy valahogy kihozza a gép a 0.1 et ilyen törtek összegeként...ellenörizni nem tudtam hogy jó-e mert a számologépem kiakadt.

tehát valószínűleg nem pontosan 0.1 van a mantisszában, hasonloan egy csomo más tört elöállitásával is ilyen gondok lehetnek...


Erről írtam anno a Gyakorlati C++-ban (5.8 Példaprogram: decimális egész és lebegőpontos számok bináris ábrázolása):
"A lebegôpontos érték konverziója jól példázza, amit a 5.7.2 fejezetben megemlítettem: a korlátozott bitszám adta véges pontosság miatt – és bizonyos esetekben ettôl függetlenûl is - nem minden esetben valósítható meg a decimális törtek pontos bináris ábrázolása."

A példaprogram a következő eredményt adta az 0.1-re:
Kód:
Kerek egy tortet:
0.1
(1).100110011001100110011001100110011001100110011001 x 2 E -4
IEEE szabvany szerinti gepi abrazolas
S[0]E[01111111011]M[1001100110011001100110011001100110011001100110010000]

A szam pontos abrazolasahoz a dupla pontossagu lebegopontos formatum (double) SEM ELEGSEGES!


Hamarosan felrakom cikként a honlapomra.
Only a Sith Speaks in Absolutes
http://www.nyisztorkaroly.org | iPhone apps: http://apps.nyisztorkaroly.org
   
fpeti - Törzstag | 1295 hsz       Online status #92265   2008.07.11 13:14 GMT+1 óra  
Idézet
Carlos :
Amennyiben DDraw függőségeid vannak, és frissítetted a DirectX-et, akkor érthető, hogy nem működik. A DirectDraw nem támogatott a DirectX8 óta - itt történt egy szemléletváltás, és a 2D-t is 3D-ben valósítják meg (DDraw helyett etxtúrázott quad + ortografikus vetítés, ID3DXSprite stb.).



Mai napig megy a directdraw, nemrégen minigame-re DirectDraw2-vel csináltam kis gémet, csak nem fejlesztik, de ami megvan DD7-ig, működik... nem ott lesz a hiba, de egy sorból igen nehéz kitalálni, az biztos.
- tényleg jobb ogl-t, sdlt, flasht, akármit használni, azok menők, plusz vannak még hozzá tutorok, és sokkal többet tudnak.
   
Carlos - Törzstag | 497 hsz       Online status #92264   2008.07.11 12:58 GMT+1 óra  
Idézet
dvorgaz :
Lehet valahogy egy std::list-ból törölni (erase-elni) egy elemet, miközben épp végig iterálok rajta?
Ugye az a gond, hogy a törlés után az iterátor érvénytelenné válik, aztán már nem tudok továbblépkedni rajta, az meg fontos lenne, hogy csak egyszer kelljen végigmennem rajta, és közbe kiszórni a feleslegessé vált elemeket.
Próbálkoztam ilyen második iterátorral ami azelőző iterátort "jegyzi meg", meg azzal, hogy a frissen törölt elem iterátorát csökkentettem (iter--; ) de mindkettő vmilyen exceptiont dobott.


Ajánlom figyelmetekbe ezt a jó kis szakmai honlapot, valódi kincseket rejt!
Ja, és a válasz a kérdésre (de rég volt!):
http://nkari.uw.hu/forum/viewtopic.php?t=38
Only a Sith Speaks in Absolutes
http://www.nyisztorkaroly.org | iPhone apps: http://apps.nyisztorkaroly.org
   
Carlos - Törzstag | 497 hsz       Online status #92263   2008.07.11 12:48 GMT+1 óra  
Idézet
gaborlabor :
Frissen telepített visual studio 2008 professional ezt a hibát adja bármilyen project fordítása esetén:
Project : error PRJ0003 : Error spawning 'rc.exe'.

rc.exe-re rákerestem, nem is található a gépen, gondolom az a baja. Hogyan lehet ezt a hibát orvosolni? Az egész vs-t azért nem telepíteném újra, épp most végzett.


AVG vírusírtót használsz? Ha igen, akkor nézz be a karanténba (Virus Vault) jó eséllyel ott lesz a hiányolt rc.exe. Szabadítsd ki, és már jó is lesz minden! (Az AVG valamiért nem kedveli szegényt.)
Only a Sith Speaks in Absolutes
http://www.nyisztorkaroly.org | iPhone apps: http://apps.nyisztorkaroly.org
   
Carlos - Törzstag | 497 hsz       Online status #92262   2008.07.11 12:42 GMT+1 óra  
Idézet
Mystro :
A segédletek/programozás játékfejlesztés-ben a (C++) Foxi 2D-s programozás leckéi cikk alapján megcsináltam a directdraw 3-ig visual studio 2005-ban. Egy ideig minden normálisan ment de most fogta magát és a "directdraw nem oké" üzenettel leállt


Amennyiben DDraw függőségeid vannak, és frissítetted a DirectX-et, akkor érthető, hogy nem működik. A DirectDraw nem támogatott a DirectX8 óta - itt történt egy szemléletváltás, és a 2D-t is 3D-ben valósítják meg (DDraw helyett etxtúrázott quad + ortografikus vetítés, ID3DXSprite stb.).
Only a Sith Speaks in Absolutes
http://www.nyisztorkaroly.org | iPhone apps: http://apps.nyisztorkaroly.org
   
Carlos - Törzstag | 497 hsz       Online status #92260   2008.07.11 12:34 GMT+1 óra  
Idézet
dvorgaz :
Alkottam egy kezdetleges osztálydiagramot , csak a fontosabb dolgat írtam rá, jó pár tagváltozó/függvény lemaradt róla. A játék maga egy felülnézetes shotemup lenne, játékos repcsivel megy, jönnek fentről ellenfelek stb, meg a háttér lefele scrollozna.
...
Ez az egész persze bele lenne téve egy befoglaló osztályba, ami majd létrehozza, update-eli, ütközteti őket stb.


A létrehozást különválasztanám, és egyben összekötném egy szintérgráf vagy scenemanager feltöltéssel. Az update-et, és a render-t utóbbira bíznám.
Az ütközéskezelést szintúgy külön osztályba pakolnám, amely az egységek frissítésekor (update) kerülne képbe. Felülnézetes shoot'em'up-ról lévén szó valószínűleg felesleges térfelosztóval optimalizálni az ütközést, hiszen pár egység esetén nem számít, hogy az algoritmus O(n^2).

U.i.
Tipp: próbáltad a StarUML rendező szolgáltatását (Format->Layout diagram)? Csodákra képes!
Only a Sith Speaks in Absolutes
http://www.nyisztorkaroly.org | iPhone apps: http://apps.nyisztorkaroly.org
   
AmidaBucu - Tag | 281 hsz       Online status #92239   2008.07.11 04:14 GMT+1 óra  
Üdv! Nem tom mennyire illik ide vagy nem.
Azt szeretném tudni hogy van e valamien mód hogy egy (nem feltétlenül) x fájlból/ba hogy kell plusz saját material tagokat olvasni/irni? Lényegében csak annyi lenne hogy kéne még 2 textúraneve is. Igy mikor a blenderből kijön az n poligonu y materialu model, tuggyan hogy meik felülethez mien effekt vagy valami más kell.
Ami tönkremehet, az tönkre is megy!!!
   
Mystro - Tag | 60 hsz       Online status #92193   2008.07.10 10:44 GMT+1 óra  
A segédletek/programozás játékfejlesztés-ben a (C++) Foxi 2D-s programozás leckéi cikk alapján megcsináltam a directdraw 3-ig visual studio 2005-ban. Egy ideig minden normálisan ment de most fogta magát és a "directdraw nem oké" üzenettel leállt és a vs ezt a sort jelöli hibának a RAJZ::rajzol definiálásában:
Kód:
hr=mut->Blt(&c,kepek[fsurf].kep,&f,DDBLT_KEYSRC | DDBLT_WAIT,0);

de fogalmam sincs hogy mi a baja, csak másik képet töltöttem be és egy ideig normálisan ment és egyik debug-nál elkedte ezt csinálni.
Mi lehet a baja?
   
gaborlabor - Moderátor | 4449 hsz       Online status #92171   2008.07.10 05:53 GMT+1 óra  
Frissen telepített visual studio 2008 professional ezt a hibát adja bármilyen project fordítása esetén:
Project : error PRJ0003 : Error spawning 'rc.exe'.

rc.exe-re rákerestem, nem is található a gépen, gondolom az a baja. Hogyan lehet ezt a hibát orvosolni? Az egész vs-t azért nem telepíteném újra, épp most végzett.

   
Robsoft - Tag | 345 hsz       Online status #92062   2008.07.07 13:37 GMT+1 óra  
Alap tervnek szerintem jó. Később ha menet közben valami nem jön be, akkor az adott részt áttervezed és újra kódolás. Az a baj ezzel a star UML-el ez nehézkes, talán jobb lenne valami IDE-be integrálható UML eszköz, vagy a sima VC++ class designer.
 
Blog
 
   
TPG - Tag | 3402 hsz       Online status #92052   2008.07.07 11:29 GMT+1 óra  
Jaja, a diagramm alapján nekem úgy tűnt hogy az alapelvek szépen be vannak tartva, innentől kezdve már az a lényeg hogy mennyire kényelmes az egészet használni. Az meg használat közben derül ki, előre nem nagyon jósolható (és személyenként változik az hogy mi a kényelmes).
Reality is almost always wrong. - House

   
Matzi - Szerkesztő | 2525 hsz       Online status #92048   2008.07.07 11:06 GMT+1 óra  
Szerintem valósítsd meg, és majd kiderül, hogy működik e, vagy valamit kihagytál. A szeméyles tapasztalatot nehezebb átadni, mint megszerezni. Pláne ilyen kérdésben, ez túl átfogó, ahhoz, hogy egy röpke átnézéssel érdemi tanácsot lehessen adni. Szerintem.
If your game idea starts with the story it’s not a game idea.
Stories in games are optional.
   
dvorgaz - Törzstag | 576 hsz       Online status #92033   2008.07.07 09:58 GMT+1 óra  
Na semmi vélemény?
   
dvorgaz - Törzstag | 576 hsz       Online status #91951   2008.07.06 13:05 GMT+1 óra  
Alkottam egy kezdetleges osztálydiagramot , csak a fontosabb dolgat írtam rá, jó pár tagváltozó/függvény lemaradt róla. A játék maga egy felülnézetes shotemup lenne, játékos repcsivel megy, jönnek fentről ellenfelek stb, meg a háttér lefele scrollozna.
A képen látható modell meg úgy működne, hogy lennének entitások, ezekben van egy controller, ami mozgatja/forgatja őket, meg kezeli a fegyverzetüket. Ez teheti user input alapján (játékos), vagy vmi script alapján (ellenfelek). A collision modellt előbb bemutattam. A vehicle osztály valósítaná meg a játékos és az ellenfelek repülőit, ezekbe lenne egy vagy több weapon, ami annyit művel, hogy a bulletmanagernek szól, hogy ilyen-olyan lövedékeket hozzon létre, meg a fegyver egyéb tulajdonságait kezeli (előző lövés óta eltelt idő, lőszer stb). A stage osztály az csak a háttérben scrollozó pálya.

edit: Kifelejtettem a composite vehicle-t, ez egy olyan ellenfél aminek több alkatrésze is van, pl egy csatahajó, és az ő ágyútornyai amik külön életet élnek, saját controller scriptjük, fegyvereik, hitboxaik vannak.
Ez az egész persze bele lenne téve egy befoglaló osztályba, ami majd létrehozza, update-eli, ütközteti őket stb.

edit2:bocs a percenkénti szerkesztésért, együltembe nem tudtam megfogalmazni

Szóval kíváncsi lennék a véleményetekre erről a modellről.

Ezt a hozzászólást dvorgaz módosította (2008.07.06 13:22 GMT+1 óra, ---)
   
Matzi - Szerkesztő | 2525 hsz       Online status #91946   2008.07.06 12:55 GMT+1 óra  
Jah, ilyen pattern van is. Bár az entitásoknál talán valami öröklődés szerencsésebb lenne, mert akkor nem elhagyható, így meg ugye tök független. Bár cserélhető, csak körülméynes. Szerintem.
If your game idea starts with the story it’s not a game idea.
Stories in games are optional.
   
dvorgaz - Törzstag | 576 hsz       Online status #91945   2008.07.06 12:52 GMT+1 óra  
Na az az ötletem támadt, hogy a játékbeli entitásaimban (mondjuk IEntity osztály) lesz egy ICollisionModel tagváltozó, ami az entitás fizikai kiterjedését írná le (pl AABB, gömb, akármi méretei), és lenne valami singleton CollisionManager osztály aminek meg van egy collide függvénye. Na most ez azt csinálná, hogy két entitás CollisionModeljét elkéri, azt ő maga elvégzi az ütköztetést, így az egész ütközésvizsgálat megvalósítása függetlenné válna a modell többi részétől, akár ki is cserélhetném a CollisionManagert PhysiXről ODE-re vagy mittomén. Mi a véleményetek erről a megoldásról? Csak most kezdem kapisgálni az OOP lényegét, sz'al kíváncsi lennék jó úton haladok-e.
   
dvorgaz - Törzstag | 576 hsz       Online status #91920   2008.07.06 09:27 GMT+1 óra  
Köszi, lehet hogy akkor inkább PhysX-el számoltatom az ütközést, annyira úgy sem értek ehez.
   
TPG - Tag | 3402 hsz       Online status #91919   2008.07.06 09:14 GMT+1 óra  
A PhysX-ben külön meg van írva minden ütközése mindennel, nagyobb fizikai engine-eknél ezt sztem így szokás. Annyi a baj vele hogy már kevés számú testtípusnál is ronda mennyiségű vizsgálattípust kell megírni. Switch-elést sztem ki lehet kerülni, megírod az ütközésvizsgáló fv-ket úgy, hogy a visszatérési típus meg a paraméter lista is ugyanolyan legyen, így be tudod a függvények címeit vágni egy tömbbe. Ezután az ütközéstípusokhoz ID-ket rendelsz amivel az előző tömböt indexeled. Én spec 2D-s tömböt használnék, az egyik index az egyik ütköző test ID-je lenne a másik index a másiké, így lenne talán a legegyszerűbb és a leggyorsabb is.
Reality is almost always wrong. - House

   
Asylum - Törzstag | 5471 hsz       Online status #91916   2008.07.06 09:05 GMT+1 óra  
hát ütközésvizsgálatnál szerintem olyat nem szoktak hogy box egy kapszulával..el kell dönteni, hogy vagy minden box, vagy minden kapszula de kombinálni nem kéne.
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
dvorgaz - Törzstag | 576 hsz       Online status #91915   2008.07.06 08:59 GMT+1 óra  
Hogy szokás ütközésvizsgálatnál két tetszőleges test ütközését megvizsgálni? Mindenképp kell valami switch() elágazás? Mert ha több különböző módon megadott test van, az így elég sok kombináció lehet, azt meg így switchelni elég favágó módszernek tűnik.

(pl. egyik egy AABB a másik meg egy gömb, de akár lehetne egy kapszula is)
   
ShAdeVampirE - Törzstag | 1313 hsz       Online status #91062   2008.07.01 13:23 GMT+1 óra  
Azt sem lehet h törlés előtt elmented a következő iterátort? (mármint ami a következő elemre mutat) -> ez is exception-t dob?
   
Asylum - Törzstag | 5471 hsz       Online status #91025   2008.07.01 11:37 GMT+1 óra  
http://www.sgi.com/tech/stl/remove.html

sajnos a magam kárán jöttem rá én is.
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
gaborlabor - Moderátor | 4449 hsz       Online status #91018   2008.07.01 11:07 GMT+1 óra  
"ezzel a cimmel filmet lehetne csinálni"
Majd a HKB Studios

"az std::remove sajnos nem azt csinálja amit ti gondoltok"
Hát mit?

   
dvorgaz - Törzstag | 576 hsz       Online status #91017   2008.07.01 11:06 GMT+1 óra  
Felszabadításnál a szabad pointert tartalmazó elemek indexét kiraktam egy vektorba, úgyhogy nem kell hozzá keresés.
   
Asylum - Törzstag | 5471 hsz       Online status #91011   2008.07.01 10:58 GMT+1 óra  
az is egy megoldás csak fölösleges helyet foglal és a beszuráshoz egy lineáris keresést végez ami meg nem tul jo öltet, mert beszurás akár futási idöben is történhet. Konkrétan én ezt a két iteráciosat csak a vgésö felszabaditásnál alkalmazom (ezzel a cimmel filmet lehetne csinálni ) mert ott nem zavar vizet, mig ha csa egy-egy objektumot kell kivenni arra persze ott a

és most álljunk meg mert az std::remove sajnos nem azt csinálja amit ti gondoltok ^^
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
dvorgaz - Törzstag | 576 hsz       Online status #90975   2008.07.01 10:06 GMT+1 óra  
Kösz a válaszokat, végülis azt csináltam, hogy ugye pointerek vannak benne, ezért simán nullára állítottam a pointert, majd amikor új cuccot teszek be, először megnézem van-e "szabad" pointer a list-ben és azt átírom az új cumó pointerére (és úgy néz ki működik is, mondjuk a kód egyre gányabb lesz így).
   
Lazarus - Törzstag | 313 hsz       Online status #90970   2008.07.01 10:02 GMT+1 óra  
Lehet hülyeséget írok, de azért hadszóljon

Ha osztályok szerepelnek a list-edben akkor csinálhatsz nekik egy belső bool változót (pl.: torolheto) amit átállítasz ha többé nincs rá szükséged.

Létrehozol egy ilyen globál funkciót:

Kód:
bool remove_check(osztaly_neve value)
{
if (value.torolheto == true)
return true;
else
return false;
}


Aztán framenként meghívod ezt:
Kód:
list_neve.remove_if(remove_check);


Nálam jól műxik, de biztos van jobb megoldás is.
█▓▒░ All system gone, prepare for downcount! ➡ ➎➍➌❶ Offblast! ➔
   
Asylum - Törzstag | 5471 hsz       Online status #90933   2008.07.01 08:48 GMT+1 óra  
épp ezt a problémát ecseteltem a honlapomon, hogy ezt igy - legalábbis az én tudásom szerint - nem lehet megcsinálni csak két iterácioval.

Esetleg ha irsz egy saját list -et de szerintem nem ezen kéne spórolni mert nálam ez úgyis statikus idöben történik.
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
dvorgaz - Törzstag | 576 hsz       Online status #90927   2008.07.01 08:42 GMT+1 óra  
Lehet valahogy egy std::list-ból törölni (erase-elni) egy elemet, miközben épp végig iterálok rajta?
Ugye az a gond, hogy a törlés után az iterátor érvénytelenné válik, aztán már nem tudok továbblépkedni rajta, az meg fontos lenne, hogy csak egyszer kelljen végigmennem rajta, és közbe kiszórni a feleslegessé vált elemeket.
Próbálkoztam ilyen második iterátorral ami azelőző iterátort "jegyzi meg", meg azzal, hogy a frissen törölt elem iterátorát csökkentettem (iter--; ) de mindkettő vmilyen exceptiont dobott.
   
Asylum - Törzstag | 5471 hsz       Online status #88394   2008.05.30 10:25 GMT+1 óra  
váááh sikerült megcsinálni a zthread-et
szuper
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
Asylum - Törzstag | 5471 hsz       Online status #88256   2008.05.27 15:35 GMT+1 óra  
azt hiszem rájöttem a kerekitési hibák okára
csak ugy példaképpen a 0.5 binárisan igy néz ki: 0.1
normalizálva 1.0 * 2^-1

ebböl lesz egy elöjel bit, ami most 0 mert pozitiv,
egy exponens -1 + 127 = 126
és egy mantissza ami végig 0 (normalizált bináris fromában a törtrész).

na oké mi a helyzet az 1.1 el? nem is olyan trivi mi? probaképpen ki printeltem, a következö bináris formát kaptam:

Kód:
0|01111111|00011001100110011001101


tehát 23 bit van arra hogy valahogy kihozza a gép a 0.1 et ilyen törtek összegeként...ellenörizni nem tudtam hogy jó-e mert a számologépem kiakadt.

tehát valószínűleg nem pontosan 0.1 van a mantisszában, hasonloan egy csomo más tört elöállitásával is ilyen gondok lehetnek...
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
Asylum - Törzstag | 5471 hsz       Online status #88234   2008.05.27 09:39 GMT+1 óra  
utánanéztem hogy hogyan ábrázolja a gép a float-ot és most már van 5letem a konvertálásra de azért nem egészen trivi.
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
Lazarus - Törzstag | 313 hsz       Online status #88221   2008.05.27 08:25 GMT+1 óra  
Ogre beépített konverterével alakítom string-re.

vissza meg így:
Kód:
float toFloat(const std::string& s)
{
std::istringstream i(s);
float x = 0;
i >> x;
return x;
}


Közben rájöttem hogy egyszerű kerekítéssel elkerülhetőek ezek az apró pontatlanságok
█▓▒░ All system gone, prepare for downcount! ➡ ➎➍➌❶ Offblast! ➔
   
Asylum - Törzstag | 5471 hsz       Online status #88216   2008.05.27 07:19 GMT+1 óra  
nekem ötletem sincs arra hogy lehet float-ot stringbe konvertálni (integerre trivi) már csak azért sem mert floatot nem lehet shiftelni stb.
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
syam - Törzstag | 1491 hsz       Online status #88214   2008.05.27 06:05 GMT+1 óra  
nekem sokszor (szinte mindig) atof után nüansznyi eltérésék keletkeznek a számokban;
pl: "0.8" -> 0.79999967 ; "1.0" -> 0.9999998
alias aalberik
   
Lazarus - Törzstag | 313 hsz       Online status #88200   2008.05.27 03:23 GMT+1 óra  
Miért van az hogy 0.1-ből kivonok 0.1-et "1.49012e-008" lesz az eredmény? És hogy lehet elkerülni?

Nem tudom számít-e, de a kivonandó érték stringből lett float-ra alakítva
█▓▒░ All system gone, prepare for downcount! ➡ ➎➍➌❶ Offblast! ➔
   
feketehajnal - Tag | 17 hsz       Online status #88196   2008.05.27 01:54 GMT+1 óra  
okés
köszi
irok egyet ha jol le tudtam irni az e-mail cimet

El is küldtem.

   
glezmen - Törzstag | 381 hsz       Online status #88194   2008.05.27 01:44 GMT+1 óra  
akkor ha jol ertem, azt szeretned hogy valaki csinaljon neked ilyet
szerintem ezt inkabb a prog.hu-n kene feldobni, a JF.hu inkább magáról a fejlesztésről szól, a prog-on sokan járnak flash-esek közül is
mondanám hogy beszéljünk róla, de most baromira el vagyok havazva, a főállásom mellett két flashes projecten dolgozom éppen
azért ha gondolod, dobj egy mailt a bokorn kúkacc tvn pontty hú címre, hogy úgy nagyjából mire gondoltál
   
feketehajnal - Tag | 17 hsz       Online status #88192   2008.05.27 01:31 GMT+1 óra  
Tudom hogy nem ide való, de már mindenhol keresem-és remélem tud valaki segiteni.
Tippet hiába ad nem vagyok programozo, ha tudnál segiteni hogyan juthatnék hozzá, vagy ki válal ilyet, nagyon megköszöném.
És bocsi a téma offolásáért.
Üdv.

   
glezmen - Törzstag | 381 hsz       Online status #88187   2008.05.27 00:26 GMT+1 óra  
feketehajnal:
és miben kellene a segítség? írja meg valaki, adjon tippet, stb?
meg amúgy sem értem, mit keres ez a C++ topicban...
   
feketehajnal - Tag | 17 hsz       Online status #88185   2008.05.26 23:38 GMT+1 óra  
Sziasztok!
Remélem tudtok segiteni.
Kellene nekem egy flash vagy java applet egyszerű játék melyben többen is lehet játszani.
Weblapba kellene.
Elöre is köszönöm
Üdv:Hajnal

   
Lazarus - Törzstag | 313 hsz       Online status #88174   2008.05.26 15:09 GMT+1 óra  
beleraktam az összes std::map-et egy osztályba és mostmár hibátlanul működik... erre ment el 3 órám... mindjárt összesz**om magam.

Utólag is köszönöm mindenkinek az interpreteres tanácsokat, elég flexibilis lett, maximálisan elégedett vagyok vele
█▓▒░ All system gone, prepare for downcount! ➡ ➎➍➌❶ Offblast! ➔
   
Lazarus - Törzstag | 313 hsz       Online status #88166   2008.05.26 13:17 GMT+1 óra  
Nem fagy le egyből, hanem elkezd össze vissza szarakodni, mint amikor túlírok egy tömböt és szétborul az egész... nem is biztos hogy ezzel van baj... hogy én mennyire utálom ezeket a tipusu hibákat
█▓▒░ All system gone, prepare for downcount! ➡ ➎➍➌❶ Offblast! ➔
   
Asylum - Törzstag | 5471 hsz       Online status #88144   2008.05.26 12:05 GMT+1 óra  
dev-c++ al semmi gáz
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
Lazarus - Törzstag | 313 hsz       Online status #88143   2008.05.26 11:54 GMT+1 óra  
Na ilyenem még nem volt:

Kód:
typedef std::map<std::string, std::string*> map_str;
typedef std::pair<std::string, std::string*> pair_str;
map_str inter_str;


Ennek a kódnak a 3. sora fagyást okoz ha a variable neve inter_str, inter_string, i_str vagy i_string. Ha átnevezem "valami"-re vagy bármilyen random marhaságra akkor viszont nem fagy ... Tapasztalt már valaki hasonlót? Mitől lehet ez?

u.i: amúgy magával az inter_str-el nem csinálok semmit, csak létrehozom.
█▓▒░ All system gone, prepare for downcount! ➡ ➎➍➌❶ Offblast! ➔
   
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] [142]