Présentation :
Le drawstat est une application du mode statistiques de la calculatrice. Elle permet de tracer des lignes ou des points à une vitesse imcomparable face à F-Line et Plot ou PxlOn. Exemple :
Mettez ce code dans un programme casio ou téléchargez le fichier joint (en bas du sujet ) et transférez le à votre calculatrice. Regardez bien
ViewWindow 1,127,0,1,63,0
AxesOff
LabelOff
BG-None
FuncOff
S-WindMan
Cls
Text 1,1,''WAIT...''
Seq(X,X,1,127,1)List 1
127Dim List 2
For 1A To 127
Int 63Ran#List 2[A]
Next
Text 1,1,''PLOTON DEMO...''
For 1A To 127
PlotOn List 1[A],List 2[A]
Next
Cls
Text 1,1,''DRAWSTAT DEMO''
S-Gph1 DrawOn,Scatter,List1,List2,1,Dot
S-Gph2 DrawOff
S-Gph3 DrawOff
DrawStat
Comment ça marche :
Le drawstat dessine des points ou des lignes à partir des listes. il y a plusieurs modes de dessin et vous pouvez régler differents paramètres tels que l'apparence des points (croix, point, carré), dessin en points, ligne, histogramme.
Dans le contexte des jeux on utilise principalement l'affichage de points et de lignes.
Syntaxe :
Il faut d'abord régler la fenetre de dessin des statistiques de la calculatrice en mode manuel pour pouvoir utiliser le ViewWindow de notre choix pour ceci il faut aller dans le menu [SETUP] (SHIFT+MENU) à l'onglet S-WIN :
S-WindMan //mode manuel
S-WindAuto //mode automatique
On peut tracer 3 ensembles de points ou lignes en meme temps. Il faut donc paramétrer chacune de ces S-Graphs.
Pour ceci il faut aller dans le menu spécial programmation qui ne s'affiche que lorsque vous éditez un programme. Il s'agit de l'onglet à coté de [TOP] [BOT] etc..
Faites donc [Menu] puis [Stat], vous aurez alors plusieurs onglets : [Draw][Grph][List][Mark]
Pour avoir une explication précise de chaque fonction utilisez la réference des commandes du site : [ Lien ]
Voici comment paramétrer les graphs statistiques :
S-Gph1 <Activer/désactiver affichage>,<mode de dessin>,<liste des x>,<liste des y>,<fréquence>,<type de point>
S-Grph1, S-Grph2, S-Grph3 se trouvent dans l'onglet [Grph]
Voici quelques exemples :
S-Gph1 DrawOn,Scatter,List1,List2,1,Dot
La S-Grph 1sera affichée, en mode points, la liste 1 sera en abscisses, la liste 2 sera en ordonnées, la fréquence sera de 1, les points seront de simples pixels
S-Gph2 DrawOff,xyLine,List1,List2,1,Cross
La S-Grph 2 ne sera pas affichée, en mode Lignes, la liste 1 sera en abscisses, la liste 2 sera en ordonnées, la fréquence sera de 1, les points seront des croix
DrawOn/DrawOff se trouvent dans l'onglet [Draw]
Scatter/xyLine se trouvent dans l'onglet [Grph]
List1/List2 etc se trouvent dans l'onglet [List]
Dot/Cross/Square se trouvent dans l'onglet [Mark]
Il suffit de paramétrer les S-Grph une seule fois. Ensuite pour afficher les S-Grph on utilise la commande Drawstat qui se trouvent dans le menu [PRGM] à l'onglet puis [STAT].
Voila, utilisez cette technologie correctement et vous pourrez faire des jeux très rapides
en effet la picture prends la sauvegarde de tout l'écran mais l'astuce que tu peux utiliser set la suivante:
dans ta picture tu sauvegardes l'arrière plan, et avec ton drawstat tu dessines ton objet que tu veux faire évoluer:
en gros les étapes:
-dessiner un arrière plan
-l'enregistrer dans une picture
(début de la boucle)
-effacer l'écran
-rappeler l'image
-réafficher l'objet en drawstat aux nouvelles coordonnées
(fin de la boucle)
ceci te permettra de faire évoluer ton objet
Pylaterreur Hors ligne Statut: Membre
Niveau: Confirmé
Points: 1834
Défis: 8 Email | Message
Posté le 11/06/2007 09:31 |
Salut à tous,
Ayant rencontré quelques difficultés avec des programmes en DrawStat (Cf le plugin d'Eros premiere s made by Zefortiche) sur graph 85, j'ai découvert une "astuce".
Imaginez que votre programme ait une ViewWindow de 1,127,0,1,63,0 , et que vous ayiez mis un S-WindMan. Si vous voulez afficher deux droites horizontales parallèles en utilisant un seul Draw-Stat, il suffit de faire, par exemple :
Sur graph 35/65, aucun problème (enfin, normalement)
Sur gaph 85, le point 0,0 est pris en compte : deux droites de plus ont été dessinnées.
Quelle est le moyen d'empêcher l'affichage de ces lignes ?
Réponse : en mettant une valeur supérieure strictement à 127 pour les coordonnées du point séparant les deux lignes. Voici le bon code :
128X
{5,55,X,5,55}List 1
{22,22,X,55,55}List 2
Draw-Stat
Et là, pas de problèmes ! Par contre, je vous déconseille l'utilisation de la variable X si vous utilisez, en plus de votre Draw-Stat, des Plot, donc préférez une autre variable, ou même tapez à chaque fois "128", même si cela est plus lourd et plus répétitif.
J'ai opté pour le DrawStat avec la variable X de valeur 128 pour Vect
En train d'écrire gencode en C++ (avec la librairie Qt et xCode sous Mac, c'est du bonheur), en mode graphique, toujours avec du XML (vive Dom, je suis pas dépaysé ).
Pour l'instant, j'ai écrit mes classes Cours, Partie et Symbole et toutes leurs méthodes ou presque, il ne me reste plus que la GUI et l'algo pour faire du Basic. Si possible, je génèrerai un .g1r, en attendant ce sera du .txt
Pylaterreur Hors ligne Statut: Membre
Niveau: Confirmé
Points: 1834
Défis: 8 Email | Message
Posté le 11/06/2007 13:09 |
Ca revient au même
C'est juste que je ne sais pas si ça marche bien sur graph 35/65. Si ça ne marche pas, c'est plus simple de le faire avec une variable, dont on modifie la valeur (on lui attribuera la valeur 0).
Ne faites pas d'opérations sur vos Lists si vous utilisez une "séparation" égale à 128. Imaginez que vous fassiez :
List 1-10List 1
List 2-10List 2
DrawStat
Alors vous auriez à nouveau le bug d'affichage, car la "séparation" passe de 128 à 118. C'est pour cela que l'utilisation de variable pour "séparation" est un choix judicieux.
En train d'écrire gencode en C++ (avec la librairie Qt et xCode sous Mac, c'est du bonheur), en mode graphique, toujours avec du XML (vive Dom, je suis pas dépaysé ).
Pour l'instant, j'ai écrit mes classes Cours, Partie et Symbole et toutes leurs méthodes ou presque, il ne me reste plus que la GUI et l'algo pour faire du Basic. Si possible, je génèrerai un .g1r, en attendant ce sera du .txt
Lenainnoir Hors ligne Statut: Super admin
Niveau: Elite
Points: 5166
Défis: 24 Email | Message
Posté le 11/06/2007 14:10 |
C'est une astuce très bonne pour les images fixes. Pour les sprites, c'est à exclure en revanche.
En train d'écrire gencode en C++ (avec la librairie Qt et xCode sous Mac, c'est du bonheur), en mode graphique, toujours avec du XML (vive Dom, je suis pas dépaysé ).
Pour l'instant, j'ai écrit mes classes Cours, Partie et Symbole et toutes leurs méthodes ou presque, il ne me reste plus que la GUI et l'algo pour faire du Basic. Si possible, je génèrerai un .g1r, en attendant ce sera du .txt
Lenainnoir Hors ligne Statut: Super admin
Niveau: Elite
Points: 5166
Défis: 24 Email | Message
Posté le 11/06/2007 17:06 |
Une petite image que tu manipules dans un programme en la faisant bouger, tourner, enfin voila quoi, c'est un groupe de pixels.
Pylaterreur Hors ligne Statut: Membre
Niveau: Confirmé
Points: 1834
Défis: 8 Email | Message
Posté le 11/06/2007 17:10 |
Merci pour ta définition, qui est plus claire que sur google : Un sprite (terme anglais signifiant lutin) désigne, en général dans un jeu vidéo, un graphique qui peut être déplacé par rapport au fond de l'écran.
Elément graphique en 2D de taille variable : 16x16 pixels, 32x32 pixels ou 64x64 pixels, etc. Par exemple, le personnage de Mario dans "Super Mario Bros." sur NES est un sprite de 32x32 pixels.
Et pourquoi ne peut-on pas utiliser cette astuce pour les sprites ? Si c'est parce qu'on fait des opérations sur les Lists, ne pourrait-on pas changer la variable de départ, et lui attribuer une valeur très grande (genre 10^10) ?
En train d'écrire gencode en C++ (avec la librairie Qt et xCode sous Mac, c'est du bonheur), en mode graphique, toujours avec du XML (vive Dom, je suis pas dépaysé ).
Pour l'instant, j'ai écrit mes classes Cours, Partie et Symbole et toutes leurs méthodes ou presque, il ne me reste plus que la GUI et l'algo pour faire du Basic. Si possible, je génèrerai un .g1r, en attendant ce sera du .txt
Haha, c'est moi qui a écrit la définition wikipédia [/hs]
----------------------------------
Calculatrice : Graph 35+
Pylaterreur Hors ligne Statut: Membre
Niveau: Confirmé
Points: 1834
Défis: 8 Email | Message
Posté le 13/06/2007 08:01 |
Le D'Alembert des temps modernes
Quelqu'un a-t-il eu le temps de tester sur graph 35 ou 65 ? Si oui, quel est le résultat ? Est-ce aussi rapide avec '128' qu'avec '0' ? (ça, c'est pas trop grave, il suffit de changer, pour les graph 35/65 la valeur de la variable de début)
En train d'écrire gencode en C++ (avec la librairie Qt et xCode sous Mac, c'est du bonheur), en mode graphique, toujours avec du XML (vive Dom, je suis pas dépaysé ).
Pour l'instant, j'ai écrit mes classes Cours, Partie et Symbole et toutes leurs méthodes ou presque, il ne me reste plus que la GUI et l'algo pour faire du Basic. Si possible, je génèrerai un .g1r, en attendant ce sera du .txt
Pylaterreur Hors ligne Statut: Membre
Niveau: Confirmé
Points: 1834
Défis: 8 Email | Message
Posté le 17/10/2007 13:53 |
Quelqu'un pourrait-il confirmer sur g35/65?
J'ai essayé sur graph 35+, le 0 suffit comme séparation, et ça marche aussi avec valeur>127.
J'ai testé sur 100+, ça marche avec valeur>127. M'enfin, le DrawStat sur 100+, c'est du suicide tellement c'est lent
Si ça vous intéresse, j'ai posté un mini-tuto sur le DrawStat (attention, je n'ai pas fais de plagiat de celui-ci ) : le lien sur Top-progcasio
En train d'écrire gencode en C++ (avec la librairie Qt et xCode sous Mac, c'est du bonheur), en mode graphique, toujours avec du XML (vive Dom, je suis pas dépaysé ).
Pour l'instant, j'ai écrit mes classes Cours, Partie et Symbole et toutes leurs méthodes ou presque, il ne me reste plus que la GUI et l'algo pour faire du Basic. Si possible, je génèrerai un .g1r, en attendant ce sera du .txt
Pylaterreur Hors ligne Statut: Membre
Niveau: Confirmé
Points: 1834
Défis: 8 Email | Message
En train d'écrire gencode en C++ (avec la librairie Qt et xCode sous Mac, c'est du bonheur), en mode graphique, toujours avec du XML (vive Dom, je suis pas dépaysé ).
Pour l'instant, j'ai écrit mes classes Cours, Partie et Symbole et toutes leurs méthodes ou presque, il ne me reste plus que la GUI et l'algo pour faire du Basic. Si possible, je génèrerai un .g1r, en attendant ce sera du .txt