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

Donnez une autre dimension à vos logs avec Vector

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

Avoir des informations précises et détaillées sur ce qu’il se passe dans une infrastructure, et sur les applications qu'elle héberge est un enjeu critique pour votre business. Cependant, ça demande du temps, temps qu'on préfère parfois se réserver pour d'autres tâches jugées plus prioritaires. Mais qu'un système plante, qu'une application perde les pédales ou qu'une faille de sécurité soit découverte et c'est la panique à bord ! Alors je vous le demande, qui voudrait rester aveugle quand l'observabilité a tout à vous offrir ?

Du graphisme dans un terminal ? Oui, avec sixel

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

On le voit de plus en plus, les outils en ligne de commandes s'étoffent peu à peu d'éléments graphiques sous la forme d'émojis UTF8. Plus qu'une simple décoration, cette pointe de « graphisme » dans un monde de texte apporte réellement un plus en termes d'expérience utilisateur et véhicule, de façon condensée, des informations utiles. Pour autant, cette façon de sortir du cadre purement textuel d'un terminal n'est en rien une nouveauté. Pour preuve, fin des années 80 DEC introduisait le VT340 supportant des graphismes en couleurs, et cette compatibilité existe toujours...

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.

Body