Salut tout le monde!
Ca fait maintenant plus de 3 ans que je développe quasi exclusivement en C++ et je trouve que c'est un langage très performant mais trop souvent contraignant dans son utilisation...
Aussi, lorsque j'ai découvert la puissance de python avec des librairies comme wxPython et python-ogre, j'en suis tombé amoureux!!
Pour info, je suis étudiant en programmation de jeu vidéo et on a un projet de 6 mois à faire en fin d'année, je pense utiliser les librairies cité ci dessus pour leur flexibilité et leur simplicité d'utilisation.
Mais voici mon problème : je ne sais pas coder en python!!! Ok, tout le monde va me dire que c'est 10 fois plus simple que le C++ et que je n'aurai pas de mal a m'y mettre etc. Mais justement, c'est TROP simple!! Le fait de ne pas avoir de type de donnée, de ne pas déclarer ses variables etc. Je m'y perd.
Il y'a certes les cours de python disponibles sur ce site, mais je les trouvent un peu gros. Je me demandais s'il n'existait pas une sorte de "guide" pour passer du C++ à Python.
Je vais bientôt avoir un bouquin sur python mais en attendant je voulais m'y mettre un peu, le prob c'est que je ne sais pas comment faire certaines choses.
Par exemple, comment faire des "template" en python? Doit-on faire des accesseurs en python? Pleins de questions comme ça qui font que je n'arrive pas a transposer du code C++ en python.
Je sais qu'il faut que j'enlève des choses mais ça me fait bizarre.
Voici un code type que je n'arrive pas a transposer en Python (c'est l'entite d'une architecture entite/composant) :
Ca doit vous paraître un peu bizarre comme message mais j'avoue être dans cette simplicité.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51 #ifndef _ENTITY_H #define _ENTITY_H #include<string> #include<vector> #include "DataTypeGeneric.h" #include "Component.h" class CComponent; class CFactory; class CTreeNode; class CEntity { protected: std::vector<CComponent*> m_vComponents; std::string m_name; protected: CEntity() {} public: CEntity(std::string); virtual ~CEntity(); void setName(std::string _name) { m_name = _name;} inline const char* getName() const { return m_name.c_str(); } template<typename T> T* getComponent(); inline void addComponent(CComponent *_component) { m_vComponents.push_back(_component); } void update(int); static inline CEntity *create() { return new CEntity; } }; template<typename T> T* CEntity::getComponent() { CDataType<T>* ctype = new CDataType<T>(); std::vector<CComponent*>::iterator i; for(i= m_vComponents.begin(); i < m_vComponents.end(); ++i) return static_cast<T*>(*i); else std::cout << "Pas de composant" << std::endl; } return NULL; } #endifModifier des petits script ou ecrire des programmes simples, ça va, mais faire de l'objet avec des concepts assez pousser, j'ai du mal!
Si une âme charitable voulait bien prendre le temps de m'expliquer certains concepts de bases ou simplement me guider vers un tutorial de qualité je vous en serait très reconnaissant.
Sinon, je pense qu'avec du temps et de la lecture j'y arriverai un jour, mais c'était juste pour gagner un peu de temps.
Merci de m'avoir lu,
Bonne soirée,
Andréas
Partager