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 - Autres questions


Index du Forum » Autres questions » Pxl test ?
Blerain Hors ligne Membre Points: 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


Purobaz Hors ligne Membre d'honneur Points: 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


Invité

Citer : Posté le 24/02/2013 13:33 | #


J'peux posé ma question aussi.

J'ai un programme comment dire... qui plante :

Cls
50->C
50->T
PxlOn C+10,T-10
Lbl 1
Teste T,C,"A"
PxlTest (C+10,T-10)=>C+1->C
Goto 1

Vous aurez compris que le A devrait aller vers la droite.
Alors, je ne sais pas si la fonction text à la même origine que pxl, mais je crois que ça ne change rien. En plus, même si j'inverse mon PxlOn, ça ne marche pas (par contre, quand j'inverse, le A fait 1 pas à droite).
Et ne me dites pas d'enlever le PxlTest qui est inutil svp, parce que je fais ça pour comprendre, et non pas pour programmer

Merci !

Ajouté le 24/02/2013 à 13:43 :
Désolé, j\'ai copié 2 fois suite à une incompréhension du site (et je trouve pas comment effacer).

[EDIT : Double post supprimé par un admin]
Totoyo Hors ligne Membre d'honneur Points: 16102 Défis: 102 Message

Citer : Posté le 24/02/2013 14:00 | #


Seuls les membres peuvent éditer leur message

As-tu regardé dans liste des fonctions basic ? Les fonctions graphiques n'ont pas toutes le même point d'origine (0;0)...
Dark storm Hors ligne Labélisateur Points: 11641 Défis: 176 Message

Citer : Posté le 24/02/2013 14:47 | #


Aussi, utilise une boucle While 1=1 ... WhileEnd plutôt que des label
Ceux-ci font un code sale, et sont bien moins rapide qu'une boucle traditionnelle. Pour la boucle, While 1 équivaut à While 1=1: le test 1=1 renvoie 1 si c'est vrai, 0 si c'est faux, et la boucle While continue tant que la valeur est de 1 (c'est le principe des conditions)

Comme l'a dit Totoyo, va voir dans la liste des fonctions Basic, il y a des fonction qui demandent des coordonnées du genre:

-> Fct X,Y
-> Fct Y,X

avec Fct 0,0:

-> en haut à gauche
-> à l'origine du ViewWindow

Conclusion: les fonctions graphiques sont vraiment mal faites, et peu claires, d'où l'utilité d'aller voir leurs caracteristiques
Finir est souvent bien plus difficile que commencer. — Jack Beauregard


Armanapa Invité

Citer : Posté le 05/03/2013 18:36 | #


Merci tout le monde (et désolé du retard).
C'est vrai qu'ils devraient essayer de faire des trucs plus régulier pour moins nous casser la tête =).

Et pour le programme que je vous ai présenté, le problème ne venait pas de là. En fait, je me servais de la même variable pour le pxltest et pour le texte. Le problème c'est que je modifiais la variable pour déplacer le texte, et le pxltest ne vérifiait donc plus le même pixel. L'une des solutions est de créer une autre variable (par exemple A) qui prend la valeur 10 au début. Je l'incrémente ensuite à chaque boucle, et au lieu de faire pxltest (C+10, T-10) je fais PxlTest( C+A,T-10) : ça comblerait l'écart. Cependant je n'avais pas commis la même erreur dans mon vrai programme. Bon je vais vous en copier un bout vu que je suis nul ...

50->E
50->T
50->F
PxlOn 55,50 // ça c'est pour voir si ça marche mais de toute façon le pixel est déjà allumé (normalement)
Do
If PxlTest (F+5,T)
Then Do
// La y'a plein de truc qui concerne autre chose et qui ne devrait rien changer (ça concerne tout le bas de l'écran)
Text F,T,"o"
Text F,T," "
F-1->F
LpWhile Not PxlTest (F-3,T)
If End

If PxlTest (F-3,T)
Then Do
// Exactement la même chose que tout à l'heure
Text F,T,"o"
Text F,T," "
F+1->F
LpWhile Not PxlTest (F+5,T)
LpWhile 1=1

Bon mon problème c'est que mon o trace tout droit. On pourrait m'expliquer comment ça se fait s'il vous plait ? Et me proposer des solutions aussi =).

Et pour vous aider, j'ai lancé le programme, arrêter en route, puis relancé sans effacer l'écran. Le o restait donc en plein milieu ; sur le chemin du nouveau o. Et bien le nouveau o, quand il croisait l'ancien, il retournait bien en arriere, et une fois qu'il croisait quelque chose en bas, il remontait de nouveau ! Mais ça ne marche que quand il y a un o en plein milieu ...

Merci de m'aider (et désolé du pavé)

Ajouté le 05/03/2013 à 18:40 :
Roh ça m\'énèrve ... j\'ai oublié un IfEnd à l\'avant dernière ligne (n\'allez pas me dire que le programme plante à cause de ça ).

Ajouté le 05/03/2013 à 18:57 :
Mon dieu... faut vraiment que je m\'inscrive. Je pense avoir mal expliquer mon problème. En plus du fait que je n\'avais moi même pas compris mon programme (oui ça fait un moment que j\'ai du le laisser).

Le PxlOn 55,50 sert à lancer le programme directement dans la 1ere boucle ( avec le plxtest F+5,T). Il y a surement un pixel allumé là bas (j\'ai mis un text 55,50,\"=\") mais ça marche pas donc bon. C\'est un problème secondaire.

Ensuite, il y a un autre problème, c\'est que mon o traverse des briques (ouaip en fait je fais un casse-brique). C\'est un gros tat de pixel allumé ; là ça me semblerait bizarre qu\'il en est vérifié un ou il n\'y avait rien.

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