Seuls les membres ayant 30 points peuvent parler sur le chat.

Forum Casio - Projets de programmation


Index du Forum » Projets de programmation » bibliotheque de fenetre
Dodormeur Hors ligne Ancien rédacteur Points: 3964 Défis: 82 Message

bibliotheque de fenetre

Posté le 25/11/2012 20:09

salut,

j'ai créer une bibliothèque d'affichage de fenêtre, que j'ai utilisée dans ma participation au concours (saviors of the future) et dans un futur jeu.
elle peut afficher diverses fenêtre (petite, grande, choix entre oui ou non, et menu) et aussi une fenêtre de dialogue (avec retour automatique a la ligne, effacement automatique et affichage caractère par caractère, un peu a la Pokemon).
le .h contient tous les commentaires nécessaire a la bonne compréhension .
donc voila, si vous voulez afficher de belles fenêtres, voila de quoi vous satisfaire

version 1.1
Cliquer pour enrouler

ben... j'ai rajouté ce que pierrotLL a conseillé quoi...
le wordwarp fonctionne, et la fonction menu prend un tableau de char comme argument


Fichier joint


Limachi Hors ligne Youtuber Points: 2798 Défis: 67 Message

Citer : Posté le 25/11/2012 23:25 | #


je vais voir si sa peut m'être utile, merci
Mes Programmes
Cliquer pour enrouler
-en basic: un programme nommé PICFMLIM convertissant une picture en code basic.
-en C:
-Un pong.
-Un projet en pause. Je compte le reprendre de temps en temps: Summer Cursed


-mon tuto sur les Str


Mes calto: G25+, G75
Mon minecraft en dévelopement


Projets et Programmes que je soutiens (sur une idée de Marmotti)
Cliquer pour enrouler
-Pokemon Jade de Dodormeur
-Portal2D de JavierXD
-CalCraft de Wime
-GeekBros du groupe GeekBrothers (Eiyeron,Siapran,KevKevVTT,Adbook,LIMachi)
Pierrotll Hors ligne Ancien administrateur Points: 5488 Défis: 41 Message

Citer : Posté le 26/11/2012 00:25 | #


Au lieu de :
ML_rectangle(0,63,50,0,1,ML_BLACK,ML_WHITE);
ML_rectangle(1,62,49,1,1,ML_BLACK,ML_WHITE);
ML_rectangle(3,60,47,3,1,ML_BLACK,ML_WHITE);

Il serait plus efficace de faire :
ML_rectangle(0,63,50,0,[b]2[/b],ML_BLACK,ML_WHITE);
ML_rectangle(3,60,47,3,1,ML_BLACK,[b]ML_TRANSPARENT[/b]);


Sinon je trouve bizarre que la fonction menu ne prenne pas le menu comme paramètre, si j'ai 2 menus dans mon programme j'aimerais pouvoir les afficher avec la même fonction. Et pourquoi le IsKeyDown dans cette fonction ?

En amélioration possible, la fonction dialog pourrait gérer le wordwrap.
Et la fonction choice pourrait prendre une question en paramètre. (et pourquoi encore du IsKeyDown ?)

Après tu pourrais n'avoir qu'une unique fonction de dessin de fenêtre (pour ne pas répéter le code) et qu'elle soit appelée par les autres.
Dodormeur Hors ligne Ancien rédacteur Points: 3964 Défis: 82 Message

Citer : Posté le 26/11/2012 16:22 | #


je savais pas que ML_rectangle pouvait avoir la taille de la bordure en paramètre, je pensait qu'il s'agissait juste d'un vrai/faux.

quand au menu en paramètre, c'est principalement qu'en général, je n'utilise qu'un menu, mais c'est vrai que ça pourrait être utile.
la fonction IsKeyDown, ça vient d'un bug bizarre que j'avais quand je l'utilisait dans saviors of the future, elle s'ouvrait mais se fermait automatiquement, alors c'est la methode que j'ai trouve pour qu'elle reste ouverte.

pour le wordwrap, c'est une bonne idée, je vais faire ça de suite.
quand a la fonction choice, l'utilisateur doit faire lui-meme sa question, car il pourrait faire differentes choses : l'afficher dans une petite fenetre, ou la mettre dans un long dialogue (un peu comme dans saviorsd of the future), ou bien encore ecrire sur la deuxieme ligne de la fenetre pour avoir deux questions consecutives.(et du IsKeyDown pour les memes raisons que precedemment.

Pour l'unique fonction de dessin, c'est vrai qu'il faudrait que je fasse ca.

en tout cas, merci de ces remarques pertinantes et de ces nombreuses idées d'amelioration

Ajouté le 26/11/2012 à 18:02 :
et une petite question; comment obtenir la taille d\'un tableau passé en argument? car sizeof me renvoie toujours la meme valeur , quelque soit le tableau... je supose qu\'il y a moyen de le faire, car sinon comment PrintMini connait la taille du tableau?

Ajouté le 26/11/2012 à 18:18 :
c\'est bon, j\'ai trouvé.

je pense pouvoir mettre en ligne une nouvelle version demain ou apres-demain
Pokemon !!!!!! => pokemon stadium/battle

mes meilleurs jeux
Cliquer pour enrouler
un jeu avec des niveaux de gris mais compatible SH4 (mais en monochrome pour les SH4) => bomberman
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2

projets
Cliquer pour enrouler

pokemon
Cliquer pour enrouler



encodage des données de combat (sprite, attaques et nom)
   100%

systeme de combat
   100%

encodage des données de pokemon (niveau d'apprentisage et evolution)
   100%


moteur de la carte
   50%

level design
   1%

finition de pokemon jade
   42%

merci a tout le monde pour son soutien


projets que je soutiens
Cliquer pour enrouler
minecraft de limachi
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm (dont je connais le nom, mais pas vous ) Arcuz !
Limachi Hors ligne Youtuber Points: 2798 Défis: 67 Message

Citer : Posté le 26/11/2012 18:23 | #


PrintMini ne connait pas la taille du tableau, mais un tableau initialisé comme suit comporte non pas 4 mais cinq valeurs (le 0 représentant la fin de ligne):
unsigned char test[]="test";

ce qui correspond a:
unsigned char test[]={'t','e','s','t',0};
. Quand la fonction PrintMini lis le tableau, elle va automatiquement s’arrêter en arrivant sur le 0. (cette astuce n'est appliquée qu'aux str normalement)
Mes Programmes
Cliquer pour enrouler
-en basic: un programme nommé PICFMLIM convertissant une picture en code basic.
-en C:
-Un pong.
-Un projet en pause. Je compte le reprendre de temps en temps: Summer Cursed


-mon tuto sur les Str


Mes calto: G25+, G75
Mon minecraft en dévelopement


Projets et Programmes que je soutiens (sur une idée de Marmotti)
Cliquer pour enrouler
-Pokemon Jade de Dodormeur
-Portal2D de JavierXD
-CalCraft de Wime
-GeekBros du groupe GeekBrothers (Eiyeron,Siapran,KevKevVTT,Adbook,LIMachi)
Dodormeur Hors ligne Ancien rédacteur Points: 3964 Défis: 82 Message

Citer : Posté le 26/11/2012 19:16 | #


oui, j’avais trouvé après avoir fait quelques test.
merci quand meme
Pokemon !!!!!! => pokemon stadium/battle

mes meilleurs jeux
Cliquer pour enrouler
un jeu avec des niveaux de gris mais compatible SH4 (mais en monochrome pour les SH4) => bomberman
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2

projets
Cliquer pour enrouler

pokemon
Cliquer pour enrouler



encodage des données de combat (sprite, attaques et nom)
   100%

systeme de combat
   100%

encodage des données de pokemon (niveau d'apprentisage et evolution)
   100%


moteur de la carte
   50%

level design
   1%

finition de pokemon jade
   42%

merci a tout le monde pour son soutien


projets que je soutiens
Cliquer pour enrouler
minecraft de limachi
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm (dont je connais le nom, mais pas vous ) Arcuz !

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
Pour coloriser votre code, cliquez ici.
Sinon cliquez sur le bouton ci-dessous.
: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 v42 © créé par Neuronix et Muelsaco 2004 - 2020 | Il y a 83 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