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 » [BETA] Gint++
Tuper4 Hors ligne Membre Points: 832 Défis: 19 Message

[BETA] Gint++

Posté le 09/02/2024 15:22


Projet de Schengen

voila le Lien du projet
voila le Dépot Gitea

Je suis actuellement en train de travailler sur un projet que j'appelle(avec l'accord de Lephenixnoir) gint++.

Le projet sera un fichier python qui offrira plus de fonctionnalité de graphismes pour gint. Les fonctions sont juste en réalité plusieurs fonctions de gint pour faire une image.
Pour l'utiliser, tu n'as qu'a faire
from gintpp import *
au début de ton code .
Ce projet est inutilisable sans PythonExtra puisqu'il utilise gint.
Les fonctions que j'ai en tête:
- dmenu(titre,option)  #dessine un menu ()  
- dlocate(x,y,string) #comme celui de Casio Basic
- dsline(x1,y1,x2,y2,couleur,type)  #dessine une ligne
Cette dernière fonction a comme type ces possibilités: "pp" pour petit pointillés, "gp" pour grands pointillés et "lp" pour long pointillés.

Je mettra les sources et des images pour les gens intéressés .

Je suis ouvert aux questions et si vous avez des autres idées, mettez les en commentaires s'il vous plaît .
Fonction fini:
Cliquer pour enrouler
dlimage(x,y,list,couleur)
Cliquer pour enrouler
dlimage sera sous cette forme:
dlimage(x,y,list,couleur)
. Voici a quoi servent tous ces paramètres:
  • x et ysont les coordonnées du coin de l'image en haut a droite.
  • la list doit ressembler a ça:
    img = [
    "#   #",
    "#####"
    ]
    Cette image sera une sorte de but et ressemblera a ça: |___|.
  • taillex et tailley dans le cas du but sera alors:
    taillex = 5
    tailley = 2
    car il y a 5 caractères par lignes et il y a 2 caractères par colonnes.
    la fonction trouve la taille toute seule maintenant .
  • couleur1 est la couleur des 0 et couleur2 est la couleur des #il n'y a plus qu'une seule couleur a mettre et ce sera la couleur du #, tu dois juste mettre un espace au lieu d'un 0 et sa couleur sera du blanc

Cette fonction est la version améliorée de dimage() (désolé Lephe' ^^"). Maintenant regardons les pour et les contres:
plus facile a éditer
plus facile a comprendre
ne peux que faire deux couleurs (pour l'instant )
ne peux pas être très bien bien utilisé pour Graph 90+E a cause de ses plus petits pixels que les monochromes


Le module python s'appelle gintpp et est en fichier joint .

Voilà
Tuper

@RDP

Fichier joint


1, 2 Suivante
Tuper4 Hors ligne Membre Points: 832 Défis: 19 Message

Citer : Posté le 10/02/2024 12:10 | #


Je suis actuellement en train de travailler sur une fonction plus utile que ceux de au dessus. Elle sera sous cette forme:
dlimage(x,y,list,taillex,tailley,couleur1,couleur2)
. Voici a quoi servent tous ces paramètres:
  • x et ysont les coordonnées du coin de l'image en haut a droite.
  • la list doit ressembler a ça:
    img = [
    "#","0","0","0","#",
    "#","#","#","#","#"
    ]
    Cette image sera une sorte de but et ressemblera a ça: |___|.
  • taillex et tailley dans le cas du but sera alors:
    taillex = 5
    tailley = 2
    car il y a 5 caractères par lignes et il y a 2 caractères par colonnes.
  • couleur1 est la couleur des 0 et couleur2 est la couleur des #

Cette fonction est la version améliorée de dimage() (désolé Lephe' ^^"). Maintenant regardons les pour et les contres:
plus facile a éditer
plus facile a comprendre
ne peux que faire deux couleurs (pour l'instant )
ne peux pas être très bien bien utilisé pour Graph 90+E a cause de ses plus petits pixels que les monochromes

Donc je vous propose cette fonction, donnez moi vos avis et des manières pour l'améliorer dans les commentaires

Voilà
Tuper
Ne vous arrêtez pas quand vous êtes fatigé(e), arrêtez vous quand vous avez terminez.
Lephenixnoir Hors ligne Administrateur Points: 24236 Défis: 170 Message

Citer : Posté le 10/02/2024 12:13 | #


C'est une bonne idée ! Les images de gint sont difficiles à éditer par comparaison.

Par contre, le format est très lourd ! Entre la liste et les allocations des chaînes individuelles ça va épuiser la mémoire si tu veux des images un peu plus grandes. Tu ne voudrais pas juste fusionner les chaînes sur chaque ligne ?

img = [
  "#000#",
  "#####",
]

Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Tuper4 Hors ligne Membre Points: 832 Défis: 19 Message

Citer : Posté le 10/02/2024 12:16 | #


Je n'ai pas pensé cette façon . Je me demande comment le faire par contre . J'essaierai tout de même et je te tiendrai au courant par contre, t'as raison, la place de stockage que ça prendrait de ma manière .

Merci beaucoup
Tuper
Ne vous arrêtez pas quand vous êtes fatigé(e), arrêtez vous quand vous avez terminez.
Tuper4 Hors ligne Membre Points: 832 Défis: 19 Message

Citer : Posté le 10/02/2024 12:42 | #


Changement de plan... les # sont utilisés pour faire des commentaires donc ça ne marche pas . Donc il faudra la faire a l'ancienne, avec des 1 et des 0 .
1 = allume
0 = éteint
Pour les couleurs, on verra quand le moteur de gris sera sorti avec PE (pas de pression Lephe' ).

Je ferrai des photos et je vous les montrerai. Je supprimerai le message d'en haut
Ne vous arrêtez pas quand vous êtes fatigé(e), arrêtez vous quand vous avez terminez.
Slyvtt Hors ligne Maître du Puzzle Points: 2309 Défis: 17 Message

Citer : Posté le 10/02/2024 12:51 | #


Y’a pas de problème avec #
Si tu le mets entre des guillemets python comprend bien que c’est pas un commentaire.
There are only 10 types of people in the world: Those who understand binary, and those who don't ...
Slyvtt Hors ligne Maître du Puzzle Points: 2309 Défis: 17 Message

Citer : Posté le 10/02/2024 12:55 | #


Autre remarque, en général on supprime pas les messages une fois qu’ils sont écrits.
L’erreur est humaine donc on peut corriger éventuellement avec un autre message mais effacer fait perdre le fil.
Accessoirement tu peux aussi éviter de te précipiter à écrire avant de tester et devoir ensuite revenir dessus.
Si tu fais, testes puis écrits ce sera plus logique.
There are only 10 types of people in the world: Those who understand binary, and those who don't ...
Tuper4 Hors ligne Membre Points: 832 Défis: 19 Message

Citer : Posté le 10/02/2024 12:59 | #


Merci pour tes conseils Slyvtt! Je croyais que ça allait poser problème avec les # . Je teste et je te dirait .

Pour l'instant, mes résultats ne sont pas ce que j'attends :/ . Je ne comprend pas où est le problème .

Merci beaucoup
Tuper
(ce n'est pas une insulte, il faut le lire en une fois et pas Tu per... )
Ne vous arrêtez pas quand vous êtes fatigé(e), arrêtez vous quand vous avez terminez.
Tuper4 Hors ligne Membre Points: 832 Défis: 19 Message

Citer : Posté le 10/02/2024 19:37 | #


Alors, dlimage est fini! Il reste des ajustements pour le rendre plus confortable mais globalement, ça marche! Voici deux vidéo (posté sur Youtube, et oui Sly, je t'écoute ) https://youtube.com/shorts/Ti4fr3-dQe4?si=_qBncj-krd1Vq9KA
https://youtube.com/shorts/DGTBFhHgItQ?si=JIydvwk18GHZh0D7
Prochaine mission, faire un éditeur d'image qui te renvoie la liste (comme SuperDrawStat mais version gint++)

Voilà
Tuper
Ne vous arrêtez pas quand vous êtes fatigé(e), arrêtez vous quand vous avez terminez.
Slyvtt Hors ligne Maître du Puzzle Points: 2309 Défis: 17 Message

Citer : Posté le 10/02/2024 19:42 | #


oui je vois par contre ce qui est pénible (et tu y es pour rien) c'est que comme tu filmes avec ton téléphone, Youtube t'as créé un short et c'est pas compatible avec le site donc on verra pas la preview dans ton post.

Je te conseille donc de changer les balises [video] .. [/video] en [url] .. [/url]par exemple.
There are only 10 types of people in the world: Those who understand binary, and those who don't ...
Tuper4 Hors ligne Membre Points: 832 Défis: 19 Message

Citer : Posté le 10/02/2024 19:44 | #


Ahh ok, je me demandais pourquoi ils ne s'affichait pas et je croyais par ce que je les avez mis en privé alors que non... Merci encore une fois

Sinon, t'en pense quoi de dlimage?

EDIT: réglé le problème
Ne vous arrêtez pas quand vous êtes fatigé(e), arrêtez vous quand vous avez terminez.
Slyvtt Hors ligne Maître du Puzzle Points: 2309 Défis: 17 Message

Citer : Posté le 10/02/2024 19:52 | #


C'est pas mal, mais tu devrais passer par des chaines de caractères au lieu d'une liste de caractère individuel. Ce serait beaucoup mieux pour la RAM dispo, surtout sur G35+EII qui en manque cruellement.
There are only 10 types of people in the world: Those who understand binary, and those who don't ...
Tuper4 Hors ligne Membre Points: 832 Défis: 19 Message

Citer : Posté le 10/02/2024 19:59 | #


Ok je vais essayer de le faire . Bon, je reviens dans 1h, ciao!
Ne vous arrêtez pas quand vous êtes fatigé(e), arrêtez vous quand vous avez terminez.
Tuper4 Hors ligne Membre Points: 832 Défis: 19 Message

Citer : Posté le 10/02/2024 21:57 | #


Alors, j'ai essayé de travaillé dessus mais j'ai des "string out of index error". Je sais ça signifie quoi, mais il faut savoir le résoudre . Bon a demain, et je vous tiendrai au courant .
Ne vous arrêtez pas quand vous êtes fatigé(e), arrêtez vous quand vous avez terminez.
Lephenixnoir Hors ligne Administrateur Points: 24236 Défis: 170 Message

Citer : Posté le 10/02/2024 22:17 | #


Tu accèdes à des caractères au-delà des bornes d'une chaîne de caractères (string = chaîne de caractères).
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Tuper4 Hors ligne Membre Points: 832 Défis: 19 Message

Citer : Posté le 10/02/2024 22:26 | #


Lephenixnoir a écrit :
Tu accèdes à des caractères au-delà des bornes d'une chaîne de caractères (string = chaîne de caractères).
Merci pour pour ta réponse mais j'ai écrit que je savais ça signifiait quoi . Et le problème est que je ne comprend pas pourquoi elle se passe cette erreur, ce n'était pas : c'est quoi cette erreur? Désolé si j'ai mal écrit et qu'il y avait plusieurs interprétations.

Tuper
Ne vous arrêtez pas quand vous êtes fatigé(e), arrêtez vous quand vous avez terminez.
Lephenixnoir Hors ligne Administrateur Points: 24236 Défis: 170 Message

Citer : Posté le 11/02/2024 09:38 | #


Une chaîne de caractères c'est un peu comme une liste dont les éléments sont des caractères :

>>> x = "abcd"
>>> x[0]
"a"
>>> x[1]
"b"
>>> x[-1]
"d"

Si tu essaies d'accéder à un indice en-dehors de la chaîne (i.e. plus grand que la longueur de la chaîne), tu as cette erreur.

>>>> x = "abcd"
>>> x[3]
"d"
>>> x[4]
IndexError: string index out of range

Il faut donc comprendre pourquoi ton programme essaie de lire des éléments qui n'existent pas, et corriger ce comportement.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Tuper4 Hors ligne Membre Points: 832 Défis: 19 Message

Citer : Posté le 11/02/2024 09:55 | #


Merci beaucoup pour ta réponse je vais essayer de comprendre pourquoi
Ne vous arrêtez pas quand vous êtes fatigé(e), arrêtez vous quand vous avez terminez.
Ptitjoz Hors ligne Membre Points: 222 Défis: 10 Message

Citer : Posté le 11/02/2024 10:07 | #


C'est comme les listes, l'index de la première valeur est à 0 et non 1.
La dernière valeur est n-1.
Un peu poète, un peu geek, un peu rêveur, un peu écolo.

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

Citer : Posté le 11/02/2024 10:10 | #


Merci Ptitjoz il y a beaucoup de fois où j'oubliais et je disais que 1 était la premiere valeur

PS: je mettrait le code python dès que possible
Ne vous arrêtez pas quand vous êtes fatigé(e), arrêtez vous quand vous avez terminez.
Tuper4 Hors ligne Membre Points: 832 Défis: 19 Message

Citer : Posté le 11/02/2024 11:43 | #


C'est bon! La nouvelle version de dlimage est sortie tu peux maintenant remplacer ça:
img = [
"#","#","#","#","#",
"#","0","0","0","#"]
en ça !
img = [
"#####",
"#   #"]
oui, les 0 sont remplacés par des espaces et il n'y a qu'une seule couleur. De cette façon, c'est plus facile a faire ton image . Prochaine mission: faire un éditeur d'image qui te renvoie la liste . Très dur, mais possible!
2 vidéos de démo:

https://youtube.com/shorts/3ZkvTjT4xmE?si=7152U7Lx91Nw4kOS
https://youtube.com/shorts/8fqwjVF-L04?si=bsrGPlyogESx5pXZ

Voilà
Tuper
Ne vous arrêtez pas quand vous êtes fatigé(e), arrêtez vous quand vous avez terminez.
1, 2 Suivante

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