GNU/Linux Magazine Hors-série N°
Numéro
71

Je programme

Temporalité
Mars/Avril 2014
Image v3
Je programme
Article mis en avant

Résumé

Vous voulez apprendre à programmer, mais vous ne savez pas vraiment comment vous y prendre pour que cela soit à la fois instructif et amusant ? Nous avons réalisé ce hors-série pour vous !

Tout au long des pages de ce magazine, vous découvrirez de nouvelles notions qui vous seront expliquées simplement et de manière ludique avant d'être mises en pratique dans la réalisation d'un petit jeu. Nous utiliserons pour cela le « petit langage qui monte », Python, qui suivant les classements, apparaît en troisième ou quatrième position des langages les plus utilisés. Autre avantage : ce langage est particulièrement adapté pour l'initiation à la programmation avec une écriture assez simple et structurée.

Dans ce numéro...


Avant de construire une maison, il faut creuser des fondations. De ces fondations va dépendre la solidité et la longévité de la construction. En informatique, il en va de même. Nous allons installer nos outils et apprivoiser notre environnement de travail pour disposer d'une base suffisamment stable pour ne pas être source d'erreurs.
Pour notre jeu, nous allons commencer par afficher la bordure du labyrinthe sous la forme de caractères. Cette tâche est simple, mais elle va faire surgir de nombreux problèmes que nous résoudrons en faisant intervenir des notions de programmation particulières.
Le personnage doit pouvoir être déplacé dans le labyrinthe. Pour cela, le joueur appuiera sur des touches qui permettront de commander les déplacements... Mais comment récupérer l'information transmise par l'utilisateur ?
Une fois que l'utilisateur a saisi un déplacement, il faut le répercuter à l'écran. Et que se passe-t-il si le joueur désire déplacer son personnage dans un mur ? Il va falloir que nous mettions en place des tests pour nous assurer que le déplacement est autorisé.
Nous pouvons déplacer un personnage dans un grand cadre vide. Il est temps d'ajouter des niveaux à notre jeu !
Les bases de notre jeu sont posées et tout semble fonctionner correctement. Mais il reste bien sûr encore des choses à améliorer d'un point de vue technique et du point de vue du jeu, car trouver seulement la sortie d'un labyrinthe manque cruellement de piquant...
Notre jeu est terminé, mais la saisie des déplacements est plutôt laborieuse : chaque saisie doit être validée par un appui sur la touche [Return]. Nous allons donc modifier notre programme pour obtenir une interface plus fluide.
Notre jeu est terminé, mais il s'exécute dans une console et il n'est pas vraiment joli. Nous allons donc créer pour lui une interface graphique... Ce qui va complètement modifier notre code !
Vous retrouverez ici des explications et exemples sur les différentes instructions utilisées pour réaliser notre jeu.
Vous retrouverez ici une définition des différentes notions abordées tout au long de la construction de notre jeu.

Magazines précédents

Langage C
GNU/Linux-Magazine Hors-série N°70
Langage C
Exploiter au mieux votre projet open source
GNU/Linux-Magazine Hors-série N°69
Exploiter au mieux votre projet open source
MySQL et Bases de données
GNU/Linux-Magazine Hors-série N°67
MySQL et bases de données
Apache, le guide complet
GNU/Linux-Magazine Hors-série N°66
Apache, le guide complet
Python avancé
GNU/Linux-Magazine Hors-série N°65
Python avancé

Les derniers articles Premiums

Les derniers articles Premium

Cryptographie : débuter par la pratique grâce à picoCTF

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

L’apprentissage de la cryptographie n’est pas toujours évident lorsqu’on souhaite le faire par la pratique. Lorsque l’on débute, il existe cependant des challenges accessibles qui permettent de découvrir ce monde passionnant sans avoir de connaissances mathématiques approfondies en la matière. C’est le cas de picoCTF, qui propose une série d’épreuves en cryptographie avec une difficulté progressive et à destination des débutants !

Game & Watch : utilisons judicieusement la mémoire

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Au terme de l'article précédent [1] concernant la transformation de la console Nintendo Game & Watch en plateforme de développement, nous nous sommes heurtés à un problème : les 128 Ko de flash intégrés au microcontrôleur STM32 sont une ressource précieuse, car en quantité réduite. Mais heureusement pour nous, le STM32H7B0 dispose d'une mémoire vive de taille conséquente (~ 1,2 Mo) et se trouve être connecté à une flash externe QSPI offrant autant d'espace. Pour pouvoir développer des codes plus étoffés, nous devons apprendre à utiliser ces deux ressources.

Raspberry Pi Pico : PIO, DMA et mémoire flash

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Le microcontrôleur RP2040 équipant la Pico est une petite merveille et malgré l'absence de connectivité wifi ou Bluetooth, l'étendue des fonctionnalités intégrées reste très impressionnante. Nous avons abordé le sujet du sous-système PIO dans un précédent article [1], mais celui-ci n'était qu'une découverte de la fonctionnalité. Il est temps à présent de pousser plus loin nos expérimentations en mêlant plusieurs ressources à notre disposition : PIO, DMA et accès à la flash QSPI.

Body