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

Forum Casio - Autres questions


Index du Forum » Autres questions » Pxl test ?
BlerainHors ligneMembrePoints: 64 Défis: 0 Message

Pxl test ?

Posté le 11/04/2012 19:41

Voilà,
Je ne comprends pas pourquoi mon Pxl ne peut pas aller sur la partie droite de l'écran :/

300ãªÙ
ClrTextÙ
ClrGraphÙ
ViewWindow 1,127,0,1,63,0Ù
S-Gph1 DrawOn,xyLine,List 6,List 7,1,DotÙ
S-Gph2 DrawOffÙ
S-Gph3 DrawOffÙ
{1}ãList 6Ù
{1}ãList 7Ù
DrawStatÙ
32ãAÙ
11ãBÙ
DoÙ
GetkeyÙ
Ans=28×A-1ãAÙ
Ans=37×A+1ãAÙ
Ans=38×B-1ãBÙ
Ans=27×B+1ãBÙ
A<1×1ãAÙ
A>127×127ãAÙ
B<1×1ãBÙ
B>64×64ãBÙ
PxlTest(A,B)ãDÙ
If D=1Ù
Then Ù
Ans=28×A+1ãAÙ
Ans=37×A-1ãAÙ
Ans=38×B+1ãBÙ
Ans=27×B-1ãBÙ
IfEndÙ
PxlOn A,BÙ
Ans=27×PxlOff A,B-1Ù
Ans=38×PxlOff A,B+1Ù
Ans=28×PxlOff A+1,BÙ
Ans=37×PxlOff A-1,BÙ
LpWhile 0=0Ù


Merci =)

Fichier joint


Pages : 1, 2Suivante
BlerainHors ligneMembrePoints: 64 Défis: 0 Message

Citer : Posté le 11/04/2012 19:43 | #


Oups,
Comment mettre les lignes de commande en mode " Normal"
Chez moi il pleut 2 fois par an.
Une fois pendant 4 mois.
Une autre pendant 6 mois.
PierrotllHors ligneAncien administrateurPoints: 5488 Défis: 41 Message

Citer : Posté le 11/04/2012 19:55 | #


PxlTest, comme toutes les fonctions Pxl, est indépendante du ViewWindow (elle demande des coordonnées en pixel) et demande l'ordonnée avant l'abscisse.
BlerainHors ligneMembrePoints: 64 Défis: 0 Message

Citer : Posté le 11/04/2012 20:02 | #


...
Je ne comprends pas trop la réponse
Je débute en Basic Casio :/
Chez moi il pleut 2 fois par an.
Une fois pendant 4 mois.
Une autre pendant 6 mois.
SmashmasterHors ligneAncien modérateurPoints: 4559 Défis: 253 Message

Citer : Posté le 11/04/2012 20:37 | #


Syntaxe de la fonction PxlTest : PxlTest(<ordonnée>,<abscisse>).

L'origine du repère se trouve en haut à gauche de l'écran, donc si tu mets par exemple PxlTest(0,0), alors ça teste le pixel qui se trouve en haut à gauche de l'écran
PxlTest(63,0) teste le pixel en bas à gauche de l'écran
PxlTest(63,127) teste le pixel en bas à droite de l'écran
PxlTest(0,127) teste le pixel en haut à droite de l'écran
etc
L'origine du repère de la fonction PxlTest ne dépend pas du ViewWindow choisi.

BlerainHors ligneMembrePoints: 64 Défis: 0 Message

Citer : Posté le 11/04/2012 20:54 | #


Oui,
Je comprends, par contre je ne vois toujours pas où est mon erreur
Chez moi il pleut 2 fois par an.
Une fois pendant 4 mois.
Une autre pendant 6 mois.
TotoyoHors ligneMembre d'honneurPoints: 15942 Défis: 101 Message
BlerainHors ligneMembrePoints: 64 Défis: 0 Message

Citer : Posté le 11/04/2012 21:14 | #


Ok,
j'ai trouvé,
B>64×64ãBÙ
Faut mettre 127 au lieu de 64

Maintenant j'arrive à aller sur la partie droite de l'écran !

Chez moi il pleut 2 fois par an.
Une fois pendant 4 mois.
Une autre pendant 6 mois.
TotoyoHors ligneMembre d'honneurPoints: 15942 Défis: 101 Message

Citer : Posté le 11/04/2012 21:17 | #


Je te rajoute un code optimisé ET commenté
300ãª
ClrText
ClrGraph
ViewWindow 1,127,0,1,63,0
S-Gph1 DrawOn,xyLine,List 6,List 7,1,Dot
S-Gph2 DrawOff
S-Gph3 DrawOff
{1->List 6 [green]// On peut supprimer toutes les parenthèses, accolades et crochets à fermer à la fin d'une ligne ou du symbole ->[/green]
{1->List 7
DrawStat
32->A
11->B
Do
Do
Getkey
LpWhile Ans [green]//La boucle tourne tant qu'aucune touche n'est appuyée[/green]
A->C
B->D [green]//On stocke les anciennes coordonnées dans C et D[/green]
Ans=28=>A>1=>Dsz A
Ans=37=>A<127=>Isz A
Ans=38=>B>1=>Dsz B
Ans=27=>B<63=>Isz B [green]//Inutile d'ajouter ou de diminuer une coordonnée si ce n'est pas possible, on économise des ressources (vitesse+mémoire)[/green]
If PxlTest(A,B [green]//Si le pixel est allumé, alors ça vaut 1, sinon 0)[/green]
Then C->A:D->B [green]//Je suppose que ça empêche ton pixel d'avancer si l'autre pixel déjà allumé[/green]
IfEnd
A!=C Or B!=D=>PxlOn A,B [green]//PxlOn étant une fonction assez lente, rajouter une petite condition devrait augmenter légèrement les performances du code[/green]
LpWhile 1 [green]//Cela revient au même que 0=0 et c'est plus propre[/green]

BlerainHors ligneMembrePoints: 64 Défis: 0 Message

Citer : Posté le 11/04/2012 21:24 | #


Merci Beaucoup !!
Cela me permet de m'améliorer
Vu que comme je l'ai dis je débute et c'est mon 1er "vrai" programme (avant c'était pgcd/ppcm division euclidienne ...)

Les fonctions Isz et Dsz augmentent-elles les performances ?

Chez moi il pleut 2 fois par an.
Une fois pendant 4 mois.
Une autre pendant 6 mois.
TotoyoHors ligneMembre d'honneurPoints: 15942 Défis: 101 Message

Citer : Posté le 11/04/2012 21:30 | #


Je ne sais plus, il faut regarde ce topic.

Attention, les fonctions Isz et Dsz ont une fonctionnalité cachée : si la valeur vaut 0 (après incrémentation/décrémentation), alors la ligne suivante est ignorée.
BlerainHors ligneMembrePoints: 64 Défis: 0 Message

Citer : Posté le 11/04/2012 22:07 | #


Je n avais pas eus le temps de tester
J ai une erreur syntaxe
If PxlTest(A,BLpWhile 1
Je prévois de mettre ma carte dans liste 6 et 7
Au lieu de 1 et 1

Merci !
Chez moi il pleut 2 fois par an.
Une fois pendant 4 mois.
Une autre pendant 6 mois.
PurobazHors ligneMembre d'honneurPoints: 2690 Défis: 110 Message

Citer : Posté le 12/04/2012 07:59 | #


If PxlTest(A,BLpWhile 1

Normal, il faut refermer les boucles et les conditions dans le même ordre que tu les as ouverts.
Dans ton cas à mon avis il faut mettre :

LpWhile 1
If PxlTest(A,B

I'll be back !
pour plus de fun
mes programmes fun
de technique
mes projets
et de Swag
les projets que je soutiens
TotoyoHors ligneMembre d'honneurPoints: 15942 Défis: 101 Message

Citer : Posté le 12/04/2012 18:33 | #


Petite faute d'inattention de ma part, il faut supprimer le LpWhile 1 qu'on retrouve à la fin du code.
BlerainHors ligneMembrePoints: 64 Défis: 0 Message

Citer : Posté le 12/04/2012 22:01 | #


Ok merci sa marche à merveille !
Mais parfois les anciens graphismes ne s effacent pas et les nouveaux viennent s ajouter par dessus.
Apparamment la fonction Cls ne règle pas cela.
Quelle est la fonction a utiliser ?
Chez moi il pleut 2 fois par an.
Une fois pendant 4 mois.
Une autre pendant 6 mois.
NitrosaxHors ligneAncien rédacteurPoints: 1061 Défis: 17 Message

Citer : Posté le 13/04/2012 07:55 | #


Après un Cls, il faut utiliser une fonction graphique pour rafraîchir l'écran.

Exemple
Cls
Pxloff 1,1

LoulouxHors ligneAncien administrateurPoints: 7035 Défis: 61 Message

Citer : Posté le 13/04/2012 14:24 | #


Totoyo a écrit :

Je te rajoute un code optimisé ET commenté

Les commentaires en Basic se font avec un apostrophe en début de ligne
TotoyoHors ligneMembre d'honneurPoints: 15942 Défis: 101 Message
BlerainHors ligneMembrePoints: 64 Défis: 0 Message

Citer : Posté le 15/04/2012 16:58 | #


Merci,

J'ai un autre problème avec ce fichu Pxl Test,
J'ai 58924 Octets Libres mais dès que je lance mon programme il affiche "Erreur mémoire" et il est bloqué au Pxl Test.
Sur la 35+ quand j'avais ce problème, je faisais le ménage puis reset.
Mais là en plus j'ai pas trouvé "reset".
Chez moi il pleut 2 fois par an.
Une fois pendant 4 mois.
Une autre pendant 6 mois.
JavierxdHors ligneMembrePoints: 1899 Défis: 13 Message

Citer : Posté le 15/04/2012 17:53 | #


Efface tes programmes, listes, matrices, etc dont tu n'as pas besoin
Calculatrices: g35+usb modifiée, PRIZM

My program is not working, I have no idea why.
My program is working, I have no idea why.

Programmes
Cliquer pour enrouler
PurobazHors ligneMembre d'honneurPoints: 2690 Défis: 110 Message

Citer : Posté le 15/04/2012 18:03 | #


Nitrosax a écrit :

Après un Cls, il faut utiliser une fonction graphique pour rafraîchir l'écran.

Exemple
Cls
Pxloff 1,1

I'll be back !
pour plus de fun
mes programmes fun
de technique
mes projets
et de Swag
les projets que je soutiens
Pages : 1, 2Suivante

Planète Casio v42 © créé par Neuronix et Muelsaco 2004 - 2019 | Il y a 191 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