Salut !
Récemment j'ai découvert que j'avais que très peu de connaissance en C/C++...
En effet, j'ai juste appris sur le site du zéro et avec le livre "C++ pour le nul" et il me manque des choses qui me paraissent indispensables comme l'utilisation/création de DLL, ou des fonctions qui serait utile...
Enfin, je ne sais pas comment le dire mais j'ai un manque de méthode dû au manque de base en C, qui a pour résultat un programme lourd, ou je me perd :s
Ma question est avez vous des tutoriaux/livres/... que vous me conseillerez ?
a+
w
EDIT : tient, par exemple avoir des notions de bases sur les matrices (même si je ne comprend pas tout)
Dernière modification par Willikus (21-06-2007 18:50:22)
Hors ligne
Pour les DLL, je voudrais pas dire de bêtises vu que j'en ai jamais fait, mais il me semble que c'est juste une bibliothèque de fonctions : t'écris ton programme comme d'habitude, sauf que t'as pas de main, et tu indiques a ton compilateur que tu veux compiler une dll (ca dépend des IDE). Corrigez moi si je me trompe surtout, cette question m'intéresse aussi.
Sinon, pour les matrices, c'est pas vraiment un prolème avec le C ou le C++, mais plutôt avec les maths. Sur le site du zero, y a ca : http://www.siteduzero.com/tuto-3-7456-1 … rices.html
Je pense que c'est suffisant si tu veux comprendre les bases des "maths 3D", mais si tu veux aller plus loin, y a de très bons articles sur wikipédia (forcément, ca devient tout de suite moins drôle ).
Hors ligne
D'un autre côté, tu peux toujours jeter un oeil sur les autres langages...
Qui a dit c# ???
Hors ligne
Merci de vos reponse. (je suis en train de regarder le truc des matrices)
Pour le C# (.NET, ...) j'ai l'impression que c'est surtout religieux : j'aimerais bien connaitre les avantages/inconvénients sachant que je suis quelqu'un pas très bon en général mais maniaque voir acharné : donc la simplicité ne m'est pas utile ;)
En fait ce qui me pose problème c'est que mon code fait ses 1500 lignes (retirons en 500 qui sont juste la pour les coms ou les tests)
Bref 1000 ligne que je n'arrive pas a diviser en plusieurs fichiers (même le receiver je n'arrive pas a le séparer en un header) car il me manque les bases (le site du zero ayant un chapitre peu satisfaisent : que je n'arrive pas a adapté à une fonction "complex")
Bref, comme je le disais, ce qu'il me manque c'est de la méthode et des bases.
(Ensuite je me demandais également si il était possible de fait un truc du genre :
Fichier : Partie1.cpp
#include <irrlicht.h> using namespace irr; using namespace core; using namespace scene; using namespace video; using namespace io; using namespace gui; #pragma comment(lib, "Irrlicht.lib") int main() { IrrlichtDevice *device = createDevice( video::EDT_SOFTWARE2, dimension2d<s32>(640, 480), 16, false, false, false, 0); device->setWindowCaption(L"Hello World! - Irrlicht Engine Demo"); IVideoDriver* driver = device->getVideoDriver(); ISceneManager* smgr = device->getSceneManager(); IGUIEnvironment* guienv = device->getGUIEnvironment(); guienv->addStaticText(L"Hello World! This is the Irrlicht Software renderer!", rect<int>(10,10,260,22), true); IAnimatedMesh* mesh = smgr->getMesh("../../media/sydney.md2"); IAnimatedMeshSceneNode* node = smgr->addAnimatedMeshSceneNode( mesh ); if (node) { node->setMaterialFlag(EMF_LIGHTING, false); node->setMD2Animation ( scene::EMAT_STAND ); node->setMaterialTexture( 0, driver->getTexture("../../media/sydney.bmp") ); }
Fichier : Partie2.cpp
smgr->addCameraSceneNode(0, vector3df(0,30,-40), vector3df(0,5,0));
while(device->run())
{
driver->beginScene(true, true, SColor(255,100,101,140));
smgr->drawAll();
guienv->drawAll();
driver->endScene();
}
device->drop();
return 0;
}
Fichier : Main.cpp
#include"Partie1.cpp"; #include"Partie2.cpp";
Mais juste dans ce genre, avec un découpage servant qu'a la clarté)
a+
w
Hors ligne
euh ca paraît un peu merdique ta façon de découper là
Un projet ça se découpe en général plus en classes. Une "engine" assez générique, avec le sceneMgr & co, et les différents gestionnaires à côté, tout dépend du ton type de projet.
Ca te fait un main.cpp assez petit, un engine.h, engine.cpp, truc.h, truc.cpp
Je sais pas si c'est ça que tu voulais comme réponse mais en tout cas on s'y retrouve très bien comme ça. Et pas besoin d'utiliser de globales.
Vu que tu parlais du site du zero, le tuto sur la poo avec l'exemple du rpg est pas si mal fait si je me souviens bien
plouf
Hors ligne
Je pense pas que le fait de changer de langage soit une bonne solution, ici c'est plutôt un problème de méthode. Heureusement que tu es acharné, parce que autant le dire tout de suite, ça s'apprend pas en 5 minutes .
Encore une fois, je te conseilles d'aller voir sur wikipedia, et plus précisément le portail informatique. Y a pas vraiment d'exemple pratique, mais je pense qu'il est intéressant de se pencher un peu sur la théorie.
Pour le découpage des programmes, cherche des infos sur "les motifs de conception" ("design pattern" en anglais ) : ce sont des sortes de "solutions" pour résoudre des problèmes courants.
http://fr.wikipedia.org/wiki/Mod%C3%A8les_de_conception
Essaie de comprendre leur fonctionnement, ca te donnera une idée de la manière de découper ton programme en classes. Nhésite pas non plus à regarder les diagrammes d'héritage dans la doc d'irrlicht. Le reste n'est qu'une question d'expérience : ca viendra au fur et à mesure
Hors ligne
#include"Partie1.cpp";
#include"Partie2.cpp";
oO au que c'est pas beau ca !
Sinon, il y a cet exellent tuto pour l'architecture d'un jeux video :
http://khayyam.developpez.com/articles/ … hitecture/
Hors ligne
Je vais regardé ça de plus près... en faite, je ne m'imaginait pas ça de cette façon.
Maitenant il faut que je comprenne ! ^^
(le dernier site qui prend Irrlicht m'es utile car ça me permet de voir un cas particulier, chose que l'on ne voit pas sur le site du zero)
Bref, je vais comprendre ça.
(Désolé si mon exemple à choquer/traumatisé des anciens )
a+
w
Hors ligne
Options | Liens officiels | Caractéristiques | Statistiques | Communauté |
---|---|---|---|---|
Corrections |
|
xhtml 1.0 css 2.1 Propulsé par FluxBB Traduit par FluxBB.fr |
882 membres 1429 sujets 11119 messages |
Dernier membre inscrit: LiseBuisson96 20 invités en ligne Aucun membre connecté RSS Feed |