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]
Parallax - Tag | 603 hsz       Online status #205600   2014.11.24 03:41 GMT+1 óra  
Matzi++;

Haladni kell a korral, különben egész egyszerűen kikopik a nyelv a többi mellől. Így modernebb is és gyorsabb is nem csak a program, hanem a fejlesztése is. VS15-ben az újabb C++ al eggyütt jön az Android cross-platform natív fejlesztgettyű is emulátorral, mindennel.

   
Matzi - Szerkesztő | 2525 hsz       Online status #205597   2014.11.23 21:39 GMT+1 óra  
Nem értek egyet. Szerintem az, hogy újra raknak új elemeket a nyelvbe, és kicsit korszerűsítik nagyon is kedvező. Nyilván nem szabad átesni a ló túloldalára, de arra eddig is volt bőven lehetőség, lásd mondjuk operátor overload vagy a template-ek. Ez még nem ügy arra, hogy maradi legyen a nyelv.

És egy lambdás crasht sem sokkal nehezebb kinyomozni, mint egy template-eset, főleg ami az std névtér alól jön. És bár nem a lambda a leghasznosabb benne, de szerintem az is hasznos. Sokkal jobb, mint függvény objektumokkal hadonászni, elég ha a fordító szórakozik ilyenekkel a háttérben.
If your game idea starts with the story it’s not a game idea.
Stories in games are optional.
   
Instalok - Tag | 577 hsz       Online status #205593   2014.11.23 00:04 GMT+1 óra  
A legtöbb funkcióját én sem használnám, talán ez az override volt, ami tetszett, meg a delete. Persze mindkettő nélkül lehet élni, valószínűleg nem is fogok küzdeni vele csak ezért.

   
Asylum - Törzstag | 5471 hsz       Online status #205592   2014.11.22 21:40 GMT+1 óra  
VS2010 részben tudja már. De nekem feláll a szőr a hátamon a c++11 től, főleg amikor egy olyan crash-t kell kinyomoznom ami egy lambda kif-ben szállt el -.- A C++ az a C++98. Pont.
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
LBandy - Tag | 271 hsz       Online status #205562   2014.11.20 17:18 GMT+1 óra  
Én c++11-et csak vs2013-mal és mingw-vel használtam, nem tudom/hiszem, hogy be lehet tolni 2008 alá.
   
Instalok - Tag | 577 hsz       Online status #205560   2014.11.20 12:04 GMT+1 óra  
Próbált már valaki 2008-as visual studioval c++11 compilert használni? Ahogy néztem vcc compilerem nem lesz alá, ahhoz vs13 kellene. Esetleg gcc-t valahogy belőni alá?

   
Instalok - Tag | 577 hsz       Online status #204497   2014.08.11 16:24 GMT+1 óra  
Ezeket a prefix dolgokat nem annyira szeretem, főleg nem a "My" szót. Szóval egyelőre lett belőle Rect, aztán, ha nem leszek lusta valamilyen regexet írni, akkor az egész projektet berakom egy namespace-be, és ezzel megoldódik a kevés ilyen probléma.

   
Asylum - Törzstag | 5471 hsz       Online status #204496   2014.08.11 13:45 GMT+1 óra  
Megolás (amit évmilliók óta használnak a programozók): prefix.

Kód:
struct MyRectangle;


Én annyira pro vagyok, hogy még namespacebe is rakom a prefixelt osztálynevet, hogy biztosan ne ütközzön XDDD
C++ fordítóval és macival alszom
http://darthasylum.blog.hu/
   
Instalok - Tag | 577 hsz       Online status #204464   2014.08.07 15:38 GMT+1 óra  
Ebben is van valami. Ráadásul a namespace sem egy rossz dolog, csak néha igencsak meg tudja növelni egy változó típusának hosszát, ha nem használok using namespace-t, vagy éppen szimbólumütközés van, és egyértelműsíteni kell.

   
Matzi - Szerkesztő | 2525 hsz       Online status #204463   2014.08.07 14:56 GMT+1 óra  
Csak akkor tehetnél bármilyen nevű osztályt a globális névtérbe, ha nem lenne ott alapból semmi. De akkor jobb lenne, ha te sem tehetnél oda, és kötelező lenne mindig névtereket használni, mint a C#ban. Ami nem lenne rossz ötlet, csak a visszafelé kompatibilitási okokból kivitelezhetetlen.
If your game idea starts with the story it’s not a game idea.
Stories in games are optional.
   
Instalok - Tag | 577 hsz       Online status #204462   2014.08.07 14:47 GMT+1 óra  
Igen, végül átnevezés lett, de ez azért szerintem egy igen csúnya dolog, hogy nem csinálhatok a global namespace-be bármilyen nevű osztályt.

   
syam - Törzstag | 1491 hsz       Online status #204460   2014.08.07 14:32 GMT+1 óra  
A Rectangle osztályod Vagy átnevezed vagy saját namespace rakod.
alias aalberik
   
Instalok - Tag | 577 hsz       Online status #204456   2014.08.07 12:36 GMT+1 óra  
A global namespace-be szeretnék egy Rectangle structot csinálni, azonban, ha használni szeretném, összeakad a Winapis Rectangle függvénnyel. Sajnos nem igazán értem, hogy miért, hiszen az alábbi kód sem fordul le:
Kód:
struct Rectangle;

class Graphics
{
public:
    void drawRectangle(const Rectangle& rect);
};

Hiba:
Kód:
missing type specifier - int assumed. Note: C++ does not support default-int.

Amit ugye akkor szokott generálni, ha ismeretlen számára a típus. Ha Rectangle helyett Foo-t írok, akkor működik a dolog. Undef sajnos nem segített.

   
Seeting - Törzstag | 2306 hsz       Online status #202024   2014.03.16 17:31 GMT+1 óra  
Idézet
Pretender :
Az eredetileg egy warning egyébként, és arra figyelmeztet, hogy inicializálatlan változót adsz át.



Kösz, még mindig tudok olvasni .

Idézet
Pretender :
Mellesleg átállítottam a projektet, hogy "treat warnings as errors"



Akkor azért történik egyre több furcsaság
   
Pretender - Törzstag | 2498 hsz       Online status #202022   2014.03.16 16:13 GMT+1 óra  
Az eredetileg egy warning egyébként, és arra figyelmeztet, hogy inicializálatlan változót adsz át. De egyébként igen, jó lesz, ha az ref. Vagy char*** és &words
Mellesleg átállítottam a projektet, hogy "treat warnings as errors"

   
Seeting - Törzstag | 2306 hsz       Online status #202021   2014.03.16 15:29 GMT+1 óra  
Kód:
char **words;
    int count = strSplit(data, words, ".");
    for (int i = 0; i < count; i++) {
        printf("%s\n", words[i]);
    }


Az strSplit() allokálja a words-t, mivel csak ő tudja, hogy mennyi helyre van szükség. Amit kapok:

error C4700: unitialized local variable 'words' used

Amit csinálok, gcc-ben 100% legális. A VC++ compiler meg panaszkodik. Miért?

Edit: Nevermind, elrontottam. A megoldás:

Módosítani ezt:
Kód:
int strSplit(const char* source, char ** out, char* delimeters)


Erre:

Kód:
int strSplit(const char* source, char **& out, char* delimeters)


Ugyanis másképpen nem módosulna a címérték.

Ezt a hozzászólást Seeting módosította (2014.03.16 15:39 GMT+1 óra, ---)
   
glezmen - Törzstag | 381 hsz       Online status #201920   2014.03.10 11:05 GMT+1 óra  
Idézet
M4 :
Én wxWidgets-et használtam. Szerintem egyszerű.
https://www.wxwidgets.org/



En is wxwidgets-szel kezdtem a GUIs fejlesztest, de mar az elejen sem igazan tetszett, aztan amikor egy verziovaltasnal lenyegeben lehetett kidobni az elozo kodot, akkor mondtam azt hogy eleg volt...
   
M4 - Tag | 187 hsz       Online status #201919   2014.03.10 10:44 GMT+1 óra  
Én wxWidgets-et használtam. Szerintem egyszerű.
https://www.wxwidgets.org/

   
glezmen - Törzstag | 381 hsz       Online status #201917   2014.03.10 10:38 GMT+1 óra  
Idézet
Eldor :
Qt: easy to use, hard to learn.



azert annyira nem hard, csak meg kell erteni a logikajat
   
Eldor - Tag | 163 hsz       Online status #201914   2014.03.09 23:13 GMT+1 óra  
Qt: easy to use, hard to learn.

   
Elodin - Tag | 181 hsz       Online status #201913   2014.03.09 23:09 GMT+1 óra  
Tudtok ajánlani valami easy to use lib-et, amivel lehet könnyen csili-vili GUI-t lehet elővarázsolni a semmiből Linux-ra, Windows-ra és Mac-re egyaránt?

   
Pretender - Törzstag | 2498 hsz       Online status #201867   2014.03.07 20:59 GMT+1 óra  
Én úgy tudom, hogy ilyen esetekben nem fog inlineosítani. Legalábbis a vc++ biztosan nem. De a többitől is logikátlanság lenne egy ilyen függvényt inlineosítani.
Tudom, ezzel nem segítettem túl sokat, nekem minden esetre vc++ alatt még nem volt ilyesmivel gondom.
Egyébként c++ban van többszörös öröklődés. Miért nem csinálsz egy olyan base classt, ami az eddigi(ek)nek is, meg a különleges típusnak is az őse? És akkor nem kell template quadtree.

   
Dookle - Tag | 478 hsz       Online status #201859   2014.03.07 19:29 GMT+1 óra  
Hi ! Írtam egy szép quadtree class-t.Nagyonszépen működik... Az egyetlen szépséghiba hogy bejött a képbe még egy "különleges tipus" ami nem ugyanabból az osztályból ered mint a többi elem a játékban. Ezért kénytelen leszek megcsinálni a quadtree-t templates-re , egy két template specializáció és a kód szép áttekinhető lesz.. A kérdés az hogy szerintetek mennyire megbízhatóak a rekurzív inline metódusok ?? Persze a compiler nem minden esetben fog inlineolni , de arra még sem lehet építeni hogy talán jó lesz talán nem... Ráadásul a kód crossplatform szóval minden c++ fordítón fordulnia kell...
STEVIE RAY VAUGHAN FOREVER !!!!!

http://pinkcatgames.ucoz.com/
   
Pretender - Törzstag | 2498 hsz       Online status #201498   2014.02.21 23:52 GMT+1 óra  
Az is ezt csinálja, csak figyelembe veszi a negatív értékeket is. Azt hiszem. Minden esetre teljesen jól működik, meg minden, csak hát akkor is... na!

@glezmen:
Ja, nem voltam elég pontos. De érted, hogy hogy értem...
Static_cast meg azért, hogy a fordító ne dobjon warningot. Merthogy warning treated as error. C-s castot meg ugyebár nem használunk c++ban

   
glezmen - Törzstag | 381 hsz       Online status #201497   2014.02.21 23:52 GMT+1 óra  
Idézet
Pretender :
Igen, én is rájöttem, hogy levágja. De pont ez-az. Ugye van néhány szám, amit nem tud ábrázolni, és valami olyasmi lesz az eredmény, amit versio írt. Így aztán egy intre vágás után 149 lesz belőle. Nyilván az egyszerű megoldás annyi, hogy cast előtt + 0.5f (nyilván pozitívakra, de én jelen esetben azzal dolgozok)



ez nem pontossag, hanem a kettes szamrendszerbeli szamabrazolas eredmenye.
Rakj bele olyan floatot amit kettes szamrendszerben pontosan lehet abrazolni, es meglesz az

amugy meg minek a static_cast?
   
ddbwo - Tag | 1654 hsz       Online status #201496   2014.02.21 23:51 GMT+1 óra  
Kód:
floor();
round();
A Half-Life 2: Deathmatch promóció megszűnt! [B¤°
Kezdetben volék az üresség. Ám akkor a Struktúrfüggöny megteremté az Urat.
DrunkenDragon* Blackwolf
   
Pretender - Törzstag | 2498 hsz       Online status #201495   2014.02.21 22:50 GMT+1 óra  
Igen, én is rájöttem, hogy levágja. De pont ez-az. Ugye van néhány szám, amit nem tud ábrázolni, és valami olyasmi lesz az eredmény, amit versio írt. Így aztán egy intre vágás után 149 lesz belőle. Nyilván az egyszerű megoldás annyi, hogy cast előtt + 0.5f (nyilván pozitívakra, de én jelen esetben azzal dolgozok)

   
LugaidVandroiy - Törzstag | 504 hsz       Online status #201494   2014.02.21 22:46 GMT+1 óra  
Mivel semmi fele kerekites nem tortenik, levagja a tort reszt. Nincs itt baj a float pontossagaval.

   
versio - Tag | 673 hsz       Online status #201493   2014.02.21 22:39 GMT+1 óra  
szerintem levagja, mert a float azert ennyire nem rossz
149.9999999999999 lehet az eredmeny
   
Pretender - Törzstag | 2498 hsz       Online status #201492   2014.02.21 22:28 GMT+1 óra  
Hehe, imádom azért a float-pontosságot...
Kód:
uint32 base = 100;
uint32 percent = 150;
uint32 result = static_cast<uint32>(base * percent * 0.01f);

Eredmény: result = 149

   
Geri - Törzstag | 2194 hsz       Online status #201235   2014.02.15 22:13 GMT+1 óra  
key[(unsigned char)'Ű']=0;

   
M4 - Tag | 187 hsz       Online status #200944   2014.02.10 08:35 GMT+1 óra  
Javában csak fordításkor ellenőrzi, hogy a generikus típusokkal helyes-e a kód (ha nem helyes, nem fordul). Aztán törlődnek a típus paraméterek (type erasure). Futáskor pl. nem List<Srting> van, hanem csak List. Tehát a generikus osztályból csak egy (paraméternélküli) változat kell futáskor.

   
Pretender - Törzstag | 2498 hsz       Online status #200898   2014.02.08 15:44 GMT+1 óra  
Persze, teljesen máshogy működik a kettő. c++ban nem runtime, hanem compile time tudni kell a típusokat, és a templatet igazából csak "kifejti" az adott típusra (vagy valami ilyesmi )
Java esetén meg valóban runtime dől el a típus, és az adott függvényből egy létezik csak. Persze ez így nem pontos egyik sem, de valami ilyesmi. És így belegondolva, teljesen érthető, hogy a lenti kódrészlet miért működik úgy, ahogy.

   
__z - Tag | 71 hsz       Online status #200897   2014.02.08 14:58 GMT+1 óra  
Én még régebben olvastam valahol néhány cikket, hogy a hasonló szintaktika ellenére elvi különbségek vannak a c++ "template" és a c#/java "generics" között...

   
Pretender - Törzstag | 2498 hsz       Online status #200896   2014.02.08 14:19 GMT+1 óra  
Ja, annyi lehet a hátterében, hogy fordításidőben tényleg tudnia kell, hogy milyen függvényt fog meghívni. Javaban ez fejlettebb, ott ugye nem egy fordításidőben elkészített függvényt fog meghívni, mint a c++ template fgvek esetén. Így viszont teljesen jogos, hogy mindnenképpen a "legkisebb közös többszörös" elvét követi.

   
zeller - Törzstag | 486 hsz       Online status #200894   2014.02.08 11:37 GMT+1 óra  
esetleges extra alternativak winre:
http://stackoverflow.com/questions/413477/is-there-a-good-valgrind-substitute-for-windows

amugy ami a template-es kerdest illeti, sztem a reason behind the stuff is that template types are non polymorphic. Javaban van KOlbasz<? extends Gyulai> meg Roberto<? super Giorgo> de c++-ban nem lattam meg ilyet.

   
Pretender - Törzstag | 2498 hsz       Online status #200888   2014.02.08 08:50 GMT+1 óra  
Valgrind az linux-only szerintem, ez meg windowsos cucc. A valgrind egyébként jó lenne, a cégnél használtuk, vannak hozzá jópofa pluginek is.
Most ezt az AMD CodeAnalystet használom, ez sem olyan rossz, csak érteni kellene assembly nyelven is.

   
zeller - Törzstag | 486 hsz       Online status #200887   2014.02.08 08:07 GMT+1 óra  
A feladatkezelo altal szolgaltatott informacio teljesen invalid. valgrinddel nem tudod megnezni?

ha auto deklaracioval adsz tipust a ternaris operator kimenetenek, az mi lessz? ezt kerdeztem. de ha korabbi deklaracio, akkor ertelmetlen kerdes.

   
Pretender - Törzstag | 2498 hsz       Online status #200880   2014.02.07 16:44 GMT+1 óra  
@zeller: mi?

Tud valaki egy easy to use profilert? Főleg memóriára lennék most kíváncsi. A windowsos feladatkezelő azt mondja, hogy 80 megát eszik a cucc, de ezt nem tudom elhinni. Főleg, hogy 9-ről 20-ra ugrik néhány kb-nyi adat betöltése után. Meg szeretném mérni, hogy ténylegesen mennyi, mikor változik, stb.

   
zeller - Törzstag | 486 hsz       Online status #200873   2014.02.07 07:19 GMT+1 óra  
suscks. autoval mi lesz? compile error?

   
Pretender - Törzstag | 2498 hsz       Online status #200872   2014.02.07 00:46 GMT+1 óra  
Teljesen jogos egyébként, de nem gond, ifekkel kivédhető, csak így mennyivel szebb lett volna már...

   
Wolfee - Törzstag | 1337 hsz       Online status #200871   2014.02.06 23:29 GMT+1 óra  
Idézet
__z :
Pretender :
Asszem ez a ternáris operátor ("a.empty() ? b : a" ) miatt van, ahol a-nak és b-nek azonos típusúnak kell lennie, mivel a kifejezés egy bizonyos típusú értéket ad vissza, és pl.: függvényben sincs olyan, aminek egy feltételtől függően más típusú a visszatérési értéke (vagy ilyesmi)...


szo tru, kozos tipusra fogja kasztolni a felteteles kifejezes parametereit.
FZoli jóváhagyásával XD

   
__z - Tag | 71 hsz       Online status #200870   2014.02.06 23:10 GMT+1 óra  
Pretender :
Asszem ez a ternáris operátor ("a.empty() ? b : a" ) miatt van, ahol a-nak és b-nek azonos típusúnak kell lennie, mivel a kifejezés egy bizonyos típusú értéket ad vissza, és pl.: függvényben sincs olyan, aminek egy feltételtől függően más típusú a visszatérési értéke (vagy ilyesmi)...

Ezt a hozzászólást __z módosította (2014.02.06 23:19 GMT+1 óra, ---)

   
Pretender - Törzstag | 2498 hsz       Online status #200866   2014.02.06 21:03 GMT+1 óra  
Találtam egy furcsaságot, még nem teljesen értem, hogy miért is van így.
Kód:
struct A
{
};
struct B : public A
{
};
class C
{
public:
    template <typename T>
    void foo(const Array<T>& bigyo)
    {
    }
};

void alma()
{
    Array<A> a;
    Array<B> b;

    foo(a.empty() ? b : a);
}

Valahogy minden esetben a T típus A lesz, hiába üres a, és végül b-t adok át neki.

   
Eldor - Tag | 163 hsz       Online status #200706   2014.02.02 09:07 GMT+1 óra  
Lehet, itt nem az a probléma, de azért leírom hátha segít. Nem próbáltam ki.

A windows által használt fájlrendszerekben a kis- és nagybetűk között nincs különbség. Régebben jártam úgy, hogy létrehoztam egy Math.h headert, amit includeoltam ( #include "Math.h" ) és mégis a C könyvtárba beépített math.h headert találta meg. Lehet, hogy itt is ez a probléma.

Ha kizárható, akkor bocsi. Mélyebben nem jártam utána a dolognak, csak gondoltam leírtam, hátha segít.

Ezt a hozzászólást Eldor módosította (2014.02.02 10:36 GMT+1 óra, ---)

   
Elodin - Tag | 181 hsz       Online status #200705   2014.02.02 08:37 GMT+1 óra  
Egyszerűen nem bírom működésbe hozni.
Cseréltem az inculde-ok sorrendjét, hogy a Math.h legyen előbb, most már Undefined reference-eket dob a kódban.

Lehet a végén dobom a Code::Blocks/MinGW párost, és átváltok mégis Visual Studio-ra. A glew-el is sokkal többet szívtam, mint szerettem volna, mire működésre bírtam. Nem létezik, hogy minden egyes lib, amibe belefutok, ennyi szívást jelentsen.

   
__z - Tag | 71 hsz       Online status #200700   2014.02.02 01:27 GMT+1 óra  
Esetleg változtatni az include-ok sorrendjén?
Illetve előfordulhat, hogy mindkettőben define-olnak egy ugyanolyat, nekem a Boost meg az Allegro akadt össze ilyen módon (ha jól emlékszem).

   
Pretender - Törzstag | 2498 hsz       Online status #200689   2014.02.01 18:57 GMT+1 óra  
Próbálj meg egy preprocesszált filet megnézni. Akkor ugye feloldja a defineokat, stb. Simán lehet, hogy nem talál egy headert, csak nem arra panaszkodik, hanem érvénytelen behelyettesítés történik, ezáltal szintaktikai hibás lesz a header.

   
Elodin - Tag | 181 hsz       Online status #200688   2014.02.01 18:48 GMT+1 óra  
Bénáztam vele még egy kört, még mindig nem jó. El nem tudom képzelni, hogy miért a Math.h száll el.

   
ddbwo - Tag | 1654 hsz       Online status #200687   2014.02.01 18:20 GMT+1 óra  
az unix/mingw verziót letöltöttem megnézni, ami tökéletesen működik Code:Blocks MingW változat alatt, így nem tudom...
math.h val/nélkül, előtt, után, bármit csinálok, működik. windows alatt opengl mellett.

így is...
Kód:
#include <windows.h>
#include <stdio.h>
#include <gl/gl.h>
#include <gl/glu.h>
#include <math.h>
#include "Magick++.h"
#include <math.h>
A Half-Life 2: Deathmatch promóció megszűnt! [B¤°
Kezdetben volék az üresség. Ám akkor a Struktúrfüggöny megteremté az Urat.
DrunkenDragon* Blackwolf
   
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]