La Revue des Projets — 147
Posté le 12/05/2019 18:00
Bonjour à tous !
Ce soir une Revue des Projets… sérieuse (mais si mais si) avec à l'affiche Kikoodx et Shadow15510 qui vont nous parler de leurs projets respectifs en Python et en C.Basic. Bonne soirée avec la Revue des Projets !
Commençons avec
Kikoodx et son dernier programme
Locate en Python. En effet,
Kikoodx avait déjà mis au point un premier programme qui, à l'instar, de la fonction homonyme en BASIC, permet d'afficher du texte en Python à un endroit spécifié de l'écran. Oui alors comme ça peut paraître anodin, mais le Python de Casio est tellement bien que pouvoir afficher du texte à un endroit désiré est un premier pas énorme dans la gestion de l'écran donc possiblement pour un futur jeu un peu plus évolué que le
plus ou moins… Je m'arrête là pour la petite histoire et je laisse la parole à notre invité qui va vous expliquer pourquoi il a fait une seconde version de son programme :
KikooDX a écrit :Un article sur mon dernier programme,
Locate.py 2.
J'ai beaucoup de mal à présenter mes projets, et ce dernier était quelque peu raté niveau explication.
Locate.py est un projet permettant d'afficher du texte a des emplacements de l'écran, tel que
curses ou la commande
Locate du Basic Casio (d'où le nom).
J'ai posté
Locate.py 2 en tant que nouveau programme, et non comme une mise à jour de
Locate.py (peut-être à tort) notamment car :
- les codes écrits avec une des versions n'est pas compatible avec l'autre ;
- le premier est beaucoup moins souple, utilisable, propre dans l'écriture que le second ;
- le second présente une documentation (en anglais) et utilise la partie orienté objet de Python.
Il y a d'autres changements intrasèques à la réécriture du code, tel que le pauffinage et l'ajout de fonctions, une indentation correcte, etc.
Voici un code exemple avec la première version de Locate.py :
import locate
locate.setup(".") # Remplis l'écran de points
locate.refresh(1) # Affiche l'écran et attend
locate.locate(5, 3, "Bonjour") # Écrit "Bonjour" aux coordonnées (5, 3)
locate.refresh(0) # Affiche l'écran et termine le programme
Avec la seconde :
import locate2
help("locate2") # Affiche la documentation de Locate.py 2
# Crée un objet écran de dimension 21x6 (défaut) rempli de points
scr = locate2.Screen(patern=".")
scr.refresh(ask_for_input=True) # Affiche l'objet et attend
scr.locate(5, 3, "Bonjour") # Écrit "Bonjour" aux coordonnées (5, 3) de l'objet
scr.refresh() # Affiche l'objet et continue
# Crée un nouvel objet écran
scr_2 = locate2.Screen()
scr_2.refresh(ask_for_input=True) # Affiche l'objet scr_2 et attend
scr_2.locat(5, 3, "Salut") # Écrit "Salut" aux coordonnées (5, 3) de l'objet
scr_2.refresh(ask_for_input=True) # Affiche l'objet scr_2 et attend
scr.refresh() # Affiche l'objet scr et termine le programme
J'espère que cela aura éclairci certains
(sinon je suis ouvert aux questions).
Aux administrateurs, si le fait que j'ai créé un nouveau programme pour ça vous semble trop, vous pouvez le supprimer je reposterai dans le premier.
De même, si l'article est inutile ou surfait, supprimez le honnêtement je m'en fiche
Mais non, tu nous donnes un article, on ne le supprime pas ! Enfin, c'est pas une dictature hein ? Bon ok, certaines RdP étaient pas très soigneuse avec les articles… Pour revenir à ce Locate en Python c'est véritablement
le truc qui nous manquait ! Grâce à cela, les premiers jeux de rôle en graphismes avec des caractères ASCII vont enfin pouvoir voir le jour ! Bref une avancée intéressante qui permet de nombreuses choses !
On passe sans attendre plus longtemps à notre petit rigolo :
Shadow15510 qui a décider d'arrêter les blagues vaseuses pour parler de ses projets ! Récemment, notre invité s'est mis en tête de faire un simulateur de vol avec sa calculatrice. Une grosse blague ? Eh bien non !! Il y arrive. La preuve en image :
Shadow15510 a écrit :Hey !
Vous avez peut-être entendu parler de mon dernier projet : faire un simulateur de vol pour la Graph 90+E !
*rires dans l'assistance*
Nan, mais c'est pas une blague…
Après quelques jours de développement j'arrive déjà a des graphismes simples sans rien d'autre que la terre et le ciel… pas fantastique, mais pour l'instant je peaufine l'intérieur de l'avion : instruments, donnée,… etc
Bref, quelques petites images pour vous prouver que ceci n'est pas une blague énorme :
Ici on peut voir la vue de base : l'avion en l'air (vue du cockpit) avec tous les instruments au neutre. J'en profite pour vous décrire leurs utilisations :
- le premier cercle à gauche est la maquette (symboliquement, l'avion vu de dos), elle permet au pilote de connaitre son inclinaison droite/gauche. C'est très utile en cas de mauvais temps, elle ne vous servira pas à grand choses ici, mais elle est là et est fonctionnelle. (rectification dans le paramètre de vol de nuit c'est un outil pratique
)
- le second cercle est le variomètre : cet instrument permet de connaitre le nombre de mètre par minutes que l'avion monte ou descend. Là aussi pour atterrir sans visibilité, c'est pratique de voir où l'on en est en terme de descente ou montée.
- L'anémomètre indique la vitesse, les arcs de couleurs (comme dans les vrais avions
) ont des significations
Ici, j'ai fait au plus simple : l'arc blanc est associé au décrochage : l'avion ne va pas assez vite et tombe (genre, il pique vraiment du nez dans le jeu), l'arc vert est la vitesse normale. L'arc jaune correspond en réalité à une vitesse élevée mais pas dangereuse, ici elle est associé à une survitesse.
- Le cercle suivant est l'altimètre, la grosse aiguille donne les centaines de mètres et la petite les milliers.
- Le dernier cercle est la boussole, l'aiguille rouge indiquant le nord.
- Le voyant en haut est le témoin d'allumage de l'éclairage du cockpit.
- Le voyant en dessous est le témoin d'alarme de vitesse (décrochage et survitesse)
- Le voyant tout en bas est le témoin des volets. En réalité comme ici, ils permettent de voler à faible vitesse sans décrocher !
le voyant est jaune lorsque les volets sont sortis et passe au rouge lorsque la vitesse est trop importante pour eux.
- la jauge bleu correspond au gaz
Différentes situation de l'appareil :
Et une photo avec l'éclairage du cockpit (sorte de mode nuit ou mauvais temps) :
Toujours de mauvais temps mais sans l'éclairage du tableau de bord :
Et voila j'ai tout balancé !
Si vous avez des questions (concernant le jeu ou les instruments) hésitez pas !
On peut atterrir avec une gestion du crash !
Si l'on va trop haut aussi, on a des problèmes. Je pourrais vous inventer une histoire compliquée de moteurs non turbo compressée, la réalité c'est que plus on va haut, plus l'horizon nous paraît basse, donc j'ai une variable qui est décrémentée de manière à simuler cela. La suite du problème est que cet effet n'est pas linéaire alors que ma variable si…
J'ai eu la flemme !
Mais, vous noterez que c'est logique puisque la petite aiguille peut faire un tour complet de l'altimètre avant que votre avion n'explose, soit environ 10 000 mètres
Concrètement le problème se traduit par une disparition pure et simple de l'horizon !
Mais cela n'arrivera pas, votre avion explosera avant !
Un projet qui a de la gueule ! On me demande de préciser que non ce n'est pas un troll et que suite à une optimisation de l'affichage, le design du cockpit serait revu. Il est donc possible que le contour des témoins allumés soit blanc et non plus gris.
Le vote du Jeu du Mois se termine pour la première fois… sans vainqueur !
Disperseur et son jeu Géo Graph gagnent donc un mois supplémentaire en page d'accueil !
Voila ! C'est tout pour cette semaine !
Durant cette semaine 3 programmes ont été postés
Second degré de
Fabcvlr qui est l'adaption pour graph 90+E d'un programme du même auteur ! Tenez vous bien, Fabcvlr signe ainsi son 66 programmes ce qui l'amène à plus 91 000 téléchargements !!
Locate.py 2 de
Kikoodx est un programme dont vous avez eu une description complète par son auteur !
Jumpy de
Badger est un jeu de sport dans lequel vous devez rejoindre la fin du niveau en évitant les piques.
On se retrouve la semaine prochaine !
Lire la RdP précédente :
La Revue des Projets – 146
Vous aussi participez à la Revue des Projets !
Besoin d'aide ? Une idée ? Un projet ?
Un article !
Citer : Posté le 12/05/2019 18:04 | #
Eh bien, sympa ce simulateur ! Je suis toujours impressionné parce que tu en balances plus que ce que tu as révélé dans ton topic.
En tous cas, bravo ! J'attends avec impatience le dessin des objets et de voir ou tester une version animée.
Citer : Posté le 12/05/2019 18:16 | #
Kikoodx: Ton programme locate affiche vraiment du texte à un endroit donné de l'écran, pas dans le Shell..!? Parce que j'ai moi même créé une fonction identique mais qui affiche aux coordonnées spécifiées par rapport à la derniere ligne du Shell
-Planétarium 2
Citer : Posté le 12/05/2019 18:23 | #
Oui hein ?
J'adore le mode nuit perso on a vraiment une sensation d'éclairage de l'intérieur grâce à une variable J'ai réussi à conserver le tour des voyants en gris et non en blanc tout en enregistrant le cockpit dans une matrice, le problème est le blanc qui n'est pas transparent ! Bref pour l'instant c'est plus rapide mais les triangle blanc sont atroces… donc bon affaire à suivre…
Le simulateur là tout de suite, pourrait être jouable, mais on ne peut pas faire grand choses, et sans repère impossible de voir un hypothétique mouvement… c'est pas très intéressant.
Citer : Posté le 12/05/2019 20:16 | #
C'est super bien comme rendu Shadow !
Pour le mode nuit, tu pourrais faire un ciel noir !
Dijkstra - The Witcher
Citer : Posté le 13/05/2019 06:57 | #
Merci
Pour ciel noir, c’est pas bête mais cela implique que je fasse deux commande, alors que pour l’instant les deux modes afficher par une seule et même ligne !
En fait j’utilise une couleur HSV et j’en modifie V grâce à une variable
Citer : Posté le 13/05/2019 08:05 | #
Kikoodx: Ton programme locate affiche vraiment du texte à un endroit donné de l'écran, pas dans le Shell..!? Parce que j'ai moi même créé une fonction identique mais qui affiche aux coordonnées spécifiées par rapport à la derniere ligne du Shell
Je ne comprend pas vraiment à vrai dire.
Ça fonctionne exactement ou presque comme le Locate de Basic Casio, j'affiche à partir du coin haut-gauche de l'écran.
Citer : Posté le 13/05/2019 14:48 | #
J'ai mis un mode nuit plus sombre sur le ciel, c'est pas noir mais bleu très sombre
J'ai revu le design intérieur de l'avion, j'ai mis le toit du cockpit en haut et j'ai essayé de mettre la barre de la verrière au milieu, le rendu est pas mal du tout ! Grâce à Sentaro, j'ai réussi à virer le blanc de la matrice, du coup le rendu est plus rapide, moins gourmand en ressource, et plus joli !
Citer : Posté le 13/05/2019 14:55 | #
Où sont les photos de ça ?
Citer : Posté le 13/05/2019 14:55 | #
Je suis au bahut, je vais essayer de prendre des photos ce soir