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 - Projets de programmation


Index du Forum » Projets de programmation » PyGint
Tuper4 Hors ligne Membre Points: 889 Défis: 19 Message

PyGint

Posté le 31/05/2024 22:20

Salut a tous et a toutes,

je suis heureux de vous annoncer mon nouveau projet PyGint . Un peu de contexte...
Je travail en ce moment sur Gint++ et ce qui me dérange, est que je suis obligé de developper sur ma calculatrice car j'utilise le module gint. Et si je voulais coder sur l'ordinateur, je serai obligé de transférer le fichier sur la calculatrice pour essayer, ce qui est long.

Je suis alors en train de travailler sur un autre projet appelé PyGint qui permet d'éxécuter des programmes gint sur ton ordinateur! Avec une seul commande depuis ton terminal,
pip install pygame

tout est pret a utiliser .
Evidemment, le projet n'est pas encore fini et il manque pas mal de fonctions mais les bases sont la (a voir sur la TODO list)
La taille de la fenetre est customable sur le script gint.py en modifiant la variable size.

Lien git: PyGint

j'espere que ce serait utile pour des autres personnes
Tuper


Tuper4 Hors ligne Membre Points: 889 Défis: 19 Message

Citer : Posté le 31/05/2024 22:23 | #


Et du coup, j'ai une question. La gestion des touches (via getkey().key) est faite mais que conseillerez vous sur quelles touches représenteront les touches du clavier? Les fleches directionelle et le entré (KEY_EXE) sont fais mais je n'ai pas d'idées pour les autres ^^".

Merci d'avance
When the doorbell rings at three in the morning, it’s never good news. -Anthony Horowitz
Ptitjoz Hors ligne Membre Points: 274 Défis: 10 Message

Citer : Posté le 01/06/2024 11:23 | #


Bonjour
bravo beau début.
size =2


size=3


quelques bugs si tu changes size:
* les textes sont toujours de la même taille (peut etre jouer sur le paramètre font = pygame.font.SysFont('Arial', 15) avec un coeff ? mais il faudrait peut être avoir ta propre police "Casio" pour correspondre à la machine. De plus les positionnements x,y ne semblent pas corrects
* dline() tu as oublié le size dans les paramètres de ta fonction.
* dpixel() je n'ai pas testé mais ça doit être pareil

voici mon code de test:
dclear(C_WHITE)
drect(1,1,20,20,C_BLACK)
drect(4,4,16,16,C_WHITE)
dtext(20,60,C_BLACK,"Bonjour Tuper4 !")
dline(0,80,63,90,C_BLACK)
dline(64,90,127,80,C_BLACK)
drect(0,50,50,60,C_BLACK)
dtext(20,100,C_WHITE,"Bravo !")
dtext(0,0,C_BLACK,"*")
dtext(127,0,C_BLACK,"*")
dtext(0,63,C_BLACK,"*")
dtext(127,63,C_BLACK,"*")
dupdate()
getkey()


Sinon pour les touches clavier je n'ai pas d'avis particulier, tu verras plus tard

PS. tu as plus avancé que moi avec tkinter.
Un peu poète, un peu geek, un peu rêveur, un peu écolo.

Tuper4 Hors ligne Membre Points: 889 Défis: 19 Message

Citer : Posté le 01/06/2024 12:21 | #


Coucou,

merci beaucoup pour ton retour . J'ai completement oublié de mettre un coefficient avec dtext et dpixel ce qui est maintenant réglé.
Pour la police conforme a celle de la machine, je compte le faire dès que possible.

Merci énormement,
Tuper
When the doorbell rings at three in the morning, it’s never good news. -Anthony Horowitz
Ptitjoz Hors ligne Membre Points: 274 Défis: 10 Message

Citer : Posté le 01/06/2024 14:21 | #


tu as multiplié la taille de la police en multipliant par size.... ce n'est pas la bonne méthode à mon humble avis
font = pygame.font.SysFont('Arial', 15*size)

Edit : ça fonctionne mais un peu approximatif et arial n'est pas une police proportionnelle ?
Un peu poète, un peu geek, un peu rêveur, un peu écolo.

Ptitjoz Hors ligne Membre Points: 274 Défis: 10 Message

Citer : Posté le 03/06/2024 18:01 | #


Bonsoir,

Le souci avec les fonctions de tracés de courbes ou de lignes obliques de (canvas de tkinter , pygame) c'est que ça ne correspond pas tout à fait à ce que trace la calculatrice si tu les reprends en l'état.
Idem pour l'affichage des textes.

Donc pour tracer des line, circle, polygones, etc., il ne faudrait pas prendre les fonctions toutes faites comme
pygame.draw.line(screen, col, start, end, size)
car à mon avis on n'a qu'une approximation ; des décalages et le zoom n'est pas idéal.

Il faudrait reprendre le code de Lephe ou Slyvtt (je ne sais pas où se situe le code) ; et adapter ton projet; il faudrait étudier et reprendre les fonctions de PythonExtra.

Concernant les calculs mathématiques, trigonométriques, entre Micropython et Python de l'ordi je ne sais pas si il y a la même précision.

Pour dire les choses plus simplement, je pense qu'un jeu fait avec ce projet ne fonctionnerait peut-être pas correctement si on le transférait sur une machine et l’inverse également. (mais je me trompe peut-être)

Je ne sais pas ce qu'en pense la communauté de personnes averties.

Bien à toi et bon courage.
Un peu poète, un peu geek, un peu rêveur, un peu écolo.

Tuper4 Hors ligne Membre Points: 889 Défis: 19 Message

Citer : Posté le 03/06/2024 18:57 | #


Merci pour ta réponse . Je comprends totalement ce que tu veux dire et tu a en effet peut être raison (je n'ai pas encore essayé).
Je vais alors regarder de plus prêt pour savoir si les tracés sont les même que sur la calculatrice.
Si c'est les mêmes, il n'y a rien a modifié :).
Mais dans le cas inverse, je regarderai comment ils ont fais avec PythonExtra et de tenter de faire comme eux (comme ce que tu m'as dit).

Merci pour l'avertissement que je n'avais pas du tout remarqué et merci pour ta contribution
When the doorbell rings at three in the morning, it’s never good news. -Anthony Horowitz
Tuper4 Hors ligne Membre Points: 889 Défis: 19 Message

Citer : Posté le 30/06/2024 23:47 | #


Alors, j'ai fais un test sur mon jeu (pas du tout optimisé) Flappy Bird et les résultats prouve que tu as raison...
> Lien de la vidéo <
Les texts et pixels ne sont pas du tout comme ceux de la calculatrice. J'essaerai de trouver un autre coéficient pour les texts et pixels et si ce n'est pas possible, je vais changer de bibliotheques (désormais pygame).

Merci beaucoup pour ta participation
When the doorbell rings at three in the morning, it’s never good news. -Anthony Horowitz

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 97 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