Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Actualités


Index du Forum » Actualités » La Revue des Projets — 147
Shadow15510 Hors ligne Administrateur Points: 5504 Défis: 18 Message

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 !


Lephenixnoir En ligne Administrateur Points: 24697 Défis: 170 Message

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.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Disperseur Hors ligne Membre Points: 1830 Défis: 1 Message

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
Shadow15510 Hors ligne Administrateur Points: 5504 Défis: 18 Message

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.
"Ce n'est pas parce que les chose sont dures que nous ne les faisons pas, c'est parce que nous ne les faisons pas qu'elles sont dures." Sénèque

Lightmare Hors ligne Membre de CreativeCalc Points: 690 Défis: 0 Message

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 !
"Quand je dis à la cour : "Sautez ! ", tout le monde me demande "jusqu'où ?" "
Dijkstra - The Witcher
Shadow15510 Hors ligne Administrateur Points: 5504 Défis: 18 Message

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
"Ce n'est pas parce que les chose sont dures que nous ne les faisons pas, c'est parce que nous ne les faisons pas qu'elles sont dures." Sénèque

Kikoodx Hors ligne Ancien labélisateur Points: 3039 Défis: 11 Message

Citer : Posté le 13/05/2019 08:05 | #


Disperseur a écrit :
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.
ouais ouais
Shadow15510 Hors ligne Administrateur Points: 5504 Défis: 18 Message

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 !
"Ce n'est pas parce que les chose sont dures que nous ne les faisons pas, c'est parce que nous ne les faisons pas qu'elles sont dures." Sénèque

Lephenixnoir En ligne Administrateur Points: 24697 Défis: 170 Message

Citer : Posté le 13/05/2019 14:55 | #


Où sont les photos de ça ?
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Shadow15510 Hors ligne Administrateur Points: 5504 Défis: 18 Message

Citer : Posté le 13/05/2019 14:55 | #


Je suis au bahut, je vais essayer de prendre des photos ce soir
"Ce n'est pas parce que les chose sont dures que nous ne les faisons pas, c'est parce que nous ne les faisons pas qu'elles sont dures." Sénèque


LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 84 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd