Informations générales | Communiquer | Activité sur le site | En savoir plus | Signature | Biographie
Informations générales
Megaz est hors ligne
|
|
Activité sur le site
Nombre de messages : 54
|
Profil
|
Signature
Megaz, un Zér0 du Nord du Nord de la francophonie européenne
![]() Mes tutos :
|
|
Biographie
Bonjour,
il est évident qu'ici je n'écrirai pas de biographie sentimentale ou autre mais bien de mon apprentissage à la programmation (cela va de soi, sur le siteDuZero..) et je trouve intéressant d'en parler car je n'ai -il me semble- pas appris de manière classique. En effet, voyez par vous-mêmes : ![]() Depuis toujours, j'ai toujours aimé créé des jeux de société, inventer des règles etc. Vers la deuxième humanité (8ème année donc depuis la première primaire : CP), j'ai commencé à créer des petits jeux vidéos via un programme fait pour ça. Celui-ci datait bien de 1992 je pense. ![]() Celui-ci permmetait de créer des petits jeux graphiques en incluant certaines instructions sous forme de tableaux, celles-ci étaient choisies avec la souris comme par exemple entre deux objets "Personnage" et "Bombe" inclure l'instruction "Si ils se touchent, donner deux points au J1 et supprimer la bombe". Ces instructions étaient donc en quelques sorte des outils que l'on pouvait utiliser pour donner vie au jeu. ensuite j'ai fait un peu de HTML avec un vieux tutoriel d'un vieux suite. Sympa car on écrivait du code qui donnait un résultat ! Ainsi, pas de code présent directement. Cependant ceci m'avait déjà un peu forgé à la manière de penser d'un programmeur. ![]() J'avais déjà envie d'écrire toutes ces interactions sur le clavier et non plus sélectionner des cases dans une grille. En troisème, un cours de création de jeux vidéos était proposé à l'école (extra-scolaire bien entendu). Ceci était en fait un cours de création de jeux vidéos en Flash. Et c'est là que je trouve que je n'ai pas appris de manière classique. Le cours commençait par le dessin en flash, et ensuite on nous proposait quelques lignes de codes permettant de donner un peu de vie à notre animation. Par exemple Citation : Le prof de Flash : Damien W. Là tu écris stop(); avec bien deux parenthèses et un point virgule et ça arrêtera l'animation à cette image là, ou encore tu peux écrire gotoAndStop(5) ou encore gotoAndPlay(5) pour changer d'image. À cette époque, je ne savais pas que c'était une fonction! ![]() Donc on nous fournissait quelques outils assez propres à Flash (Actionscript 2, le 3 étant beaucoup plus formel). Et ces outils me permettaient d'avancer dans de petits jeux J'ai donc appris en pratiquant et dans le besoin. ![]() Cela veut dire que j'ai toujours été dans la pratique, je n'ai pas suivi un tutoriel et ensuite pratiqué, mais pratiquer et quand je suis bloqué, on m'apprend un nouvel élément pour que je puisses continuer. ![]() Voici quelques exemples frappant pour quiconque ayant fait de la programmation :
Et plein d'autres, et plein d'autres... Je tiens à signaler que apprendre par tuto, apprendre puis pratiquer, est une très bonne manière de faire, car avec la manière dont j'ai appris, je partais beaucoup de fois dans des directions compliquées alors qu'avec un peu de théorie en plus j'aurais fait cela bien plus facilement. L'avantege d'apprendre par la pratique est qu'on voit tout de suite l'utilité des éléments appris, mais ça prend du temps, il peut arriver beaucoup de temps avant qu'on se dise "Oh, j'aurais bien besoin de *nouvel élément*" (voire on n'aurait pas pu l'inventer soi-même ).D'ailleurs, je trouve que le cours de C de M@teo21 fait un bon mélange entre "apprendre et puis pratiquer" et "pratiquer et ensuite apprendre dans le besoin". La première pédagogie est quand même la plus utilisée, c'est normal, c'est un cours ![]() Un exemple de l'autre pédagogie, au chapitre où les superZéros ne sont plus motivés à apprendre le C : les pointeurs, l'auteur commence par "Hum, mais comment ferait-on pour renvoyer plusieurs valeurs à une fonction ?" Mais, à partir d'un moment, on peut déjà "tout faire" avec les outils que l'on a appris, alors on n'apprend plus dans le besoin mais pour structurer le code, optimiser les performances,écrire plus rapidement et s'y retrouver dans son code etc. Et c'est là que j'ai voulu apprendre d'autres langages, j'ai donc dévoré rapidement le cours de C, en faisant comme TP un petit jeux d'échec en console (haha avec du graphisme sisi !) dans lequel ben j'ai dû relire tous les chapitres du tuto ! Ensuite C++ de M@teo21 et bien entendu la suite avec le celui de Nanoc. Un petit TP, le jeu "Carcassonne" en console (que j'ai commencé à faire en graphique mais j'ai arrêté). Là, même chose, j'ai dû relire tous le tutoriel théorique de M@teo21 et de Nanoc (car sans celui-là je pense qu'il me manquerait quelques choses). En effet, héritages, classes abstraites, polymorphisme, il y avait de tout dans mon petit jeux. Pour un TP sur les templates, j'ai écrit une classe Matrice. ![]() Rapidement car en fait, dans le besoin, en faisant des petits jeux en flash, j'avais vu la majeure partie du cours. Alors ce n'était plus qu'une formalité de voir ça en un autre langage. ![]() Dans mon jeu Carcassonne j'avais besoin par exemple de faire un tableau associatif (j'en faisais depuis toujours en flash sans savoir leur nom), il n'y avait pas ça sur le SDZ, dommage, recherches sur Internet... std::map ! Ensuite, après avoir bien manipulé cet objet, j'ai trouvé que je pouvais en faire un tuto , et puisque il n'y en avait pas un qui traitait du sujet, j'en ai écrit un vite fait ! ![]() (Ensuite j'ai vu que c'était prévu dans le tutoriel de Nanoc et qu'on en parlait... Mais bon, au pire j'aurais perdu 4-5 jours d'écrit du tuto) En effet, le sujet est maintenant traité dans le tutoriel principal mais je ne trouve pas mon tutoriel obsolète pour autant. ![]() Vous verrez à la manière dont j'ai écrit ce tutoriel que l'on retrouve des éléments de mon apprentissage ![]() Par exemple, l'erreur que je montre dans le tutoriel est une erreur qui m'est arrivée! Alors que si on m'avait appris "normalement" le sujet, j'aurais déjà su que ceci aurait provoqué une erreur. ![]() Sinon, pour info, j'ai écrit un autre tutoriel qui parle de Coordonnées hexagonales en utilisant des vecteurs. Il est en validation. ![]() C'était Megaz, un Zéro du Nord du Nord de la francophonie européenne ![]() PS : Mon pseudo a été créé en 2005, il signifie "Mega-biZarre" ![]() PS #2 : Il y a beaucoup de smileys.. Et alors ? ![]() |
|