Controls: D-Pad: [Arrows / WASD] - A: [J] - B: [K] - Menu: [U] - Home: [I]
Enjoy games at full speed with sound and lights on the Gamebuino META!
Emulator by aoneill
I propose here a very complete tutorial based on a small mathematical recreation, instead of a real game in the classical sense of the term, for the Gamebuino META: the famous Game of Life, designed by John Conway in the 1970s. You will see that this is a great little exercise, which will allow us to discuss many programming concepts and techniques. The main idea that guided me throughout the writing of this tutorial was to propose an exercise that was both simple and rich in possibilities, that we would be able to treat in a different way, through a gradual approach in the complexity of the programming, to achieve a finalized application with a controlled architecture.
I apologize to the English-speakers, my tutorial is written in French ... but you can get the English version here with Google Translate.
However, the French version of tutorial is available here. And you'll need it, because unfortunately Google Translate breaks the layout of code snippets and doesn't correctly show the YouTube videos...
What you will learn in this tutorial :
Feel free to send me your comments, or ask me for clarification on things you didn't understand correctly.
I would like to point out that this application is my first programming experience in C++... and yes ;-) I'm learning like you! My code is most likely to be perfectible, so I rely on the experienced coders in the community to let me know about possible (or necessary!) improvements. I will try to integrate them as soon as possible... because I still have a job in real life... and I can't spend all the time I want to have fun with this great little console!
Help steph and say why!
You must be logged in in order to post a message on the forum
NEW 1 week ago
Perso, quand je sais ce que j'aurais dans ma variable, je préfère utiliser les notation type int8_t ou uint8_t que je trouve plus parlante et même un bon vieux char quand c'est un caractère. On peut faire autrement et size_t peut avoir son utilité notamment par ce qu'il transporte une idée de taille et que dans une fonction, comme le disait Steph si on met se type pour dimensionner un index de tableau, on est certain d'avoir le plus grand tableau possible. De plus comme il est non signé, il permet de 'bloquer' un accès à un emplacement négatif suite à une anomalie dans le code qui provoquerait une erreur. Pour moi, c'est bien dans des librairies que l'on veut réutiliser car on ne connait pas forcément la taille des tableaux que l'on utilisera lors de la réutilisation mais en règle générale, je code pour moi (même si je partage) et du coup, je ne l'utilise pas.
NEW 1 week ago
Ok merci !
si t'es un maniaque de l'occupation mémoire
Je pense que je m'en préoccupais pas tant que ça avant, mais ton tuto propose une belle sensibilisation sur le sujet ! C'est assez chouette de découvrir qu'en poussant un peu les meubles, même une petite machine comme la META a des vraies possibilités de calcul. J'adore cet environnement minimaliste^^. (ça change par rapport aux monstres d'ordi qu'on a l'habitude d'utiliser aujourd'hui)
NEW 1 week ago
Question logique :-) ... si t'es un maniaque de l'occupation mémoire, tu utiliseras un itérateur codé sur le nombre de bits suffisants (dans le cas que tu proposes, un uint8_t
suffira amplement)... sinon tu te dis que, pour une variable volatile (qui sera détruite à la sortie de ta fonction), réserver 1 ou 4 octets... y a pas de quoi s'alarmer ;-)
Codnpix
1 week ago
Ok merci !
si t'es un maniaque de l'occupation mémoire
Je pense que je m'en préoccupais pas tant que ça avant, mais ton tuto propose une belle sensibilisation sur le sujet ! C'est assez chouette de découvrir qu'en poussant un peu les meubles, même une petite machine comme la META a des vraies possibilités de calcul. J'adore cet environnement minimaliste^^. (ça change par rapport aux monstres d'ordi qu'on a l'habitude d'utiliser aujourd'hui)