Programmation C++

Plus d'informations
il y a 2 ans 3 mois - il y a 2 ans 3 mois #1 par gondulzac
gondulzac a créé le sujet :
Salut Jay ;) ,

Il faut quand-même que je te donne quelques nouvelles même si je suis pas mal occupé ;) . Comme je te l'ai dit, je suis en plein dans l'approfondissement de mon C++. La matière est très vaste, et avant de préparer les tutos sur la POO, il y a aussi de nombreuses choses à expliquer aux lecteurs :P

En effet, pas de POO sans expliquer les notions de classe et de surcharge (de constructeurs, de fonctions, des opérateurs unaires et binaires), sans compter les tableaux, pointeurs et références, les structures... (j'en passe et des meilleures... :lol: ). Il me faudra pas mal de temps pour préparer une telle matière (surtout si ce sera pour l'orienter rpg) mais y a pas le feu et je trouve chaque jour tout cela très enrichissant :cheer: .

Je ne suis pas encore décidé sur la plateforme à utiliser ( SDL 2 ou SFML... :sick: ) . Mais chaque chose en son temps, au départ j'utiliserai la console pour les programmes de démonstration du langage ;) .

A propôt, Sherkan a eu une fameuse idée de nous parler de C++ Primer 5th. Cette version est une mine de renseignements super utiles, cela apporte beaucoup à ma propre doc B) .

J'espère qu'il y aura du monde intéressé par tes nouveaux forums. En tout cas, le site s'étoffe et c'est génial B) .

@+

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 2 ans 3 mois - il y a 2 ans 3 mois #2 par Sherkan
Sherkan a répondu au sujet : Re: Programmation C++
Salut,

Tant mieux si Le c++ primer 5th peut aider ;)
Les bases de la POO n'avaient-elles pas été expliquées dans le tuto C#/XNA? (Honte à moi je ne l'ai pas lu). Auquel cas une simple conversion en C++ devrait faire l'affaire, non?
Bonne chance en tous cas, je me ferai un plaisir de t'aider dans la mesure de mes moyen si tu en as besoin.

Sherkan

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 2 ans 3 mois - il y a 2 ans 3 mois #3 par gondulzac
gondulzac a répondu au sujet : Re: Programmation C++
Salut Sherkan ;) ,

Oui, merçi pour l'info sur C++ Primer 5, ce livre est une mine de renseignements.

Pour ce qui est du tuto C#/Xna, si j'ai bien entendu travaillé avec des classes, je n'ai pas eu besoin d'utiliser l'héritage pour le jeu "Aron et les Aliens" et donc tous ces concepts de classes héritées et de fonctions virtuelles n'ont pas été expliquées dans ce tuto.

C'est pourquoi je voudrais me lancer dans l'écriture d'un big tuto C++ quelque peu conséquent. Le tout, orienté rpg devrait avoir plus d'audience auprès des lecteurs du site mais cela prendra quand-même pas mal de temps :cheer: .

En tout cas merci de me proposer ton aide en cas de besoin. J'indiquerai en temps utile un premier ordre de chapitres qui seront intégrés dans ce big tuto.

@+

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 2 ans 3 mois - il y a 2 ans 3 mois #4 par Sherkan
Sherkan a répondu au sujet : Re: Programmation C++
J'ai pu feuilleter le précieux sésame en version papier aujourd'hui, ça donne presque envie de l'acheter (c'est plus agréable qu'en version PDF) mais quand même 40$ sur Amazon :unsure: Ça attendra noël prochain :lol:

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 2 ans 3 mois - il y a 2 ans 3 mois #5 par jay81
jay81 a répondu au sujet : Re: Programmation C++
Salut à vous deux, ;)

Oui, en effet, j'ai aussi trouvé le fameux livre en pdf (sur un site légal, il me semble ? :huh: ) et c'est une vraie mine d'or, très complète ! :cheer:

@Gondulzak ] Oui, j'imagine bien qu'il y a de quoi s'occuper avec tout ça, surtout que cela peut vite devenir complexe. :sick:

Et rédiger un tuto là-dessus, relativement exhaustif, est déjà ambitieux, alors quand on y rajoute les bases d'un RPG, ça se complique encore ! :lol:

Mais ce serait réellement passionnant. ;) Surtout, que, comme c'est compliqué à programmer, on ne trouve aucun tuto expliquant comment écrire un RPG, avec tout ce que cela comporte ( même s'il y a l'excellente démo de Microsoft en C# / XNA , faite par des pros, qui peut mériter le coup d'oeil, je pense ;) ).

Sinon entre la SDL2 et la SFML2, le choix est relativement épineux... :sick: Les deux sont sympas et ont leurs propres avantages, mais la SFML2 serait nativement en C++, ce qui s'intégrerait peut-être mieux dans une architecture en POO ? :unsure:

Bon courage en tout cas, et tiens-moi au courant de tes avancées. ;)

@ bientôt. :cheer:

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 2 ans 3 mois - il y a 2 ans 3 mois #6 par gondulzac
gondulzac a répondu au sujet : Re: Programmation C++
Salut Jay ;) ,

Merci pour le lien mais je l'avais déjà téléchargé depuis longtemps celui-là et je m'y était attardé quelque peu :cheer: . C'est vrai qu'il y a une montagne d'idées à en tirer. Je vais y rejeter un coup d'œil un peu plus tard quand j'aurai préparé les tutos sur la théorie C++. Celle-ci sera expliquée de façon ludique, rien de tel pour y intéresser le lecteur B) .

Merci, bon courage avec Android et @+

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 2 ans 2 mois - il y a 2 ans 2 mois #7 par Crystal Noir
Crystal Noir a répondu au sujet : Re: Programmation C++
Bonjour,

Je post, car j'ai envie de donner mon avis, sur le sujet, si ca peut intéresser mais bon ce n'est que mon avis et mon expérience.

Concernant la POO, je pense que le meilleur moyen de l'apprendre est de la dissocier d'un langage. En effet, la POO que ce soit du C++, du Java, du C#, le principe POO reste le même. Ce qui fait la différence des langages c'est après des détails (l'implémentation plus exactement, qui peut être différente). Mais le concept en lui même est identique. D'ailleurs, même si certes apprendre la POO par la pratique avec un langage peut être moins barbant, la dissocier et l'apprendre en faisant de l'UML est très bénéfique. Le concept même de la POO s'appuie sur un principe essentiel : le paradigme objet qui finalement n'a pas de rapport direct avec un langage en particulier.

Pour résumer, dissocier la POO d'un langage permet d'en apprendre ses principes, en apprenant essentiellement à analyser et à réfléchir ses projets, avant même de pisser une ligne de code (pourquoi je crée cette classe ? est elle cohérente ? répond t'elle à un problème métier posé ? etc...).

Concernant les lib SDL et SFML, que je connais assez peu (tout comme le C++ d'ailleurs, je connais plus Java), même si SFML s'appuie déjà sur de l'objet (contrairement à la SDL), une lib codée en procédural, peut très bien être utilisée dans un langage POO de manière correcte. Les objets reposeront vraiment sur l'aspect métier du projet (classe Player par ex, classe Game, ou classe Input) et non pour la gestion de l'affichage (par ex), les commandes SDL étant seront utilisées simplement comme une instruction de langage uniquement.

La question que moi je me pose sur la SFML et la SDL c'est de savoir laquelle des deux est plus simple quant à l'implémentation d'un système de batching de sprite ^^

A bientôt les amis ;)

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 2 ans 2 mois - il y a 2 ans 2 mois #8 par jay81
jay81 a répondu au sujet : Re: Programmation C++
Salut, :cheer:

Effectivement, la SDL tout comme la SFML peuvent être intégrées dans une architecture en POO, puisqu'en fait, on ne fait appel à elle que dans quelques fonctions balisées. Cela dit, l'initialisation et la gestion de la mémoire en SDL sont beaucoup plus archaïques et bas niveau qu'en SFML. Cela a des avantages comme des inconvénients. :P

Concernant la POO, je pense que le meilleur moyen de l'apprendre est de la dissocier d'un langage.


Effectivement, un tuto pur apprentissage de la POO serait intéressant ;) , car pour l'instant, on propose surtout des tutos pour apprendre à créer l'architecture d'un jeu. Mais qui s'y colle ? :lol:

La question que moi je me pose sur la SFML et la SDL c'est de savoir laquelle des deux est plus simple quant à l'implémentation d'un système de batching de sprite


Qu'est-ce que tu comptes faire concrètement ? Créer des tonnes de sprites à afficher, traiter ? :huh:

Franchement, au niveau de la gestion des sprites, les deux me semblent aussi compétentes. Après, les petites choses que j'ai pu noter, c'est :
- la disparition du Flip (horizontal et vertical) en SFML 2.2, mais remplaçable par une technique guère plus longue,
- le fait qu'en SFML, on a deux objets : une texture et un sprite qui pointe sur une texture : concrètement cela signifie qu'on peut créer plusieurs sprites pour une même texture, et donc prédécouper une feuille de sprites à l'avance, même si, vu la simplicité des calculs, c'est moins lourd de créer un seul sprite et de refaire le découpage à chaque fois... :P
- en SDL 2, le chargement de l'image et sa transformation en sprite est un peu plus fastidieux qu'en SDL 1.2, mais c'est parce qu'elle est optimisée pour les cartes 3D et crée donc en fait un cube aplati, sur lequel elle colle la texture choisie pour en faire un sprite. La SFML procède sûrement de la même façon, mais elle gère cela toute seule.

Après, c'est surtout une question de feeling, sachant que la SFML forme un package unique quand la SDL 2 comprend plusieurs libs, et qu'elle ajoute aussi des fonctions sympas comme le coloriage de sprites ou la gestion de shaders (Skrool va nous en présenter un exemple dans la suite de son annexe au Big tuto SFML 2, à paraître dès que j'aurais eu le temps de me plonger dedans ;) ).

Je ne sais pas si je réponds à ta question. ;)

@ bientôt. ;)

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 2 ans 2 mois - il y a 2 ans 2 mois #9 par gondulzac
gondulzac a répondu au sujet : Re: Programmation C++
@ Crystal noir ;) ,

La POO peut en effet s'apprendre en la dissociant de tout langage mais cela va rester très vague. Il est certain que les différents langages présentent des approches différentes de la POO. Le C++ permet l'héritage multiple tandis que des langages comme Java ou C# s'en passent car certaines parties de code peuvent se révéler relativement difficiles à implémenter :sick: .

Le site de Méruvia présente jusqu'à présent des tutoriels C et Xna. J'ai pensé qu'un big tuto C++ ne pourrait qu'enrichir la qualité du site et c'est pourquoi j'avais décidé de m'y "coller" et ce tuto est actuellemnt en préparation B) .

Pour résumer, dissocier la POO d'un langage permet d'en apprendre ses principes, en apprenant essentiellement à analyser et à réfléchir ses projets, avant même de pisser une ligne de code (pourquoi je crée cette classe ? est elle cohérente ? répond t'elle à un problème métier posé ? etc...).

Là je suis tout-à fait d'accord avec toi et si Quelqu'un veut créer un jeu utilisant la POO, c'est exactement je genre de questions qu'il doit se poser :huh: .

Je dirai pour terminer que l'apprentissage du langage doit se faire indépendamment d'un support quelconque, que cela soit la SDL ou la SFML, mais à un moment donné il faut bien utiliser un support graphique pour la création d'un jeu.

@ jay

Je viens de revoir les concepts avancés d'héritage, c'est vrai qu'i y a du boulot mais comme je te l'avais déjà dit, j'ai vraiment à cœur l'écriture de ce tuto :cheer: . Mais pour écrire un tuto quelque peu conséquent il faudra du temps et je ne pense pas que le premier chapitre verra le jour avant les vacances de Juillet, je désire y travailler très sérieusement B) .

@+

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 2 ans 2 mois - il y a 2 ans 2 mois #10 par jay81
jay81 a répondu au sujet : Re: Programmation C++
Salut Gondulzak,

Je viens de revoir les concepts avancés d'héritage, c'est vrai qu'i y a du boulot mais comme je te l'avais déjà dit, j'ai vraiment à cœur l'écriture de ce tuto :cheer: . Mais pour écrire un tuto quelque peu conséquent il faudra du temps et je ne pense pas que le premier chapitre verra le jour avant les vacances de Juillet, je désire y travailler très sérieusement


C'est cool, ça. ;) Pas de souci pour le délai, de toute façon, en ce moment, je suis tellement débordé par le boulot que je ne vois plus le jour (et j'ai toujours pas eu le temps de me mettre à mon projet perso sous Android... :P ).

Bon courage, car je sais qu'il y a pas mal de boulot là-dessus ! ;)

Connexion ou Créer un compte pour participer à la conversation.