Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La référence Basic Casio

Nom : PxlTest

Localisation :

[ Sketch ] [ PIXL ]
[ SHIFT ] + [ F4 ]

Syntaxe de la fonction :

PxlTest Y,X

PxlTest Y,X
AnsÞA
//Stocke la valeur renvoyée dans A


[red] Attention :[/red] Sur graph 85, la syntaxe est
PxlTest(Y,X
Ne refermez pas la parenthèse,
celà entraine une incompatibilité sur graph 35/65
et n'affecte pas le programme g85 pour autant.

Description de la fonction :

Test l'état du pixel d'abscisse X et d'ordonnée Y

Renvoie 1 si le pixel est allumé, 0 si le pixel est éteint. La valeur renvoyée est stcokée dans Ans.

Cette fonction ne peut être utilisée que si la mémoire graphique est initialisée. Il semble nécessaire d'afficher quelque chose (un simple Cls ne suffit pas), quitte à l'effacer ensuite. Une erreur mémoire est générée si cette initialisation n'est pas faite.

Compatibilité :

  • Graph 20/25(+)
  • Graph 35/65/80(+)
  • Graph 100(+)
  • Graph 25+ PRO
  • Graph 85 (SD) OS 1.xx
  • Graph 85 (SD) OS 2.xx
  • Graph 35+ USB/75/95 SD
  • Graph OS 2.04
  • Fx-CG 10/20 OS 1.xx
  • Fx-CG 10/20 OS 2.xx


<<< Retourner à la liste des fonctions

Pages: Précédente | 1, 2

Ne0tuxEn ligneMembre d'honneurPoints: 3493 Défis: 265 Message
Posté le 12-03-2016 à 13:49 | #
Oui c'est étrange le code devrait fonctionner...

Place au débogage ! Commence par afficher C en temps réel pour t'assurer que ça ne vient pas de ça. Si C n'est pas en cause, c'est probablement la fonction PixelTest !

Essaie la fonction en dehors du jeu, pour des valeurs précises qui correspondent à des scénarios possibles de ton jeu. Si tu n'as toujours de problème, vérifie que ce n'est pas la condition "=1" qui fait planter. As-tu essayé "1=PxlTest(43,6C-3" (sans parenthèse à la fin) ?

Petit détail insignifiant mais dans ton message précédent, 6*1+3 ça ne vaut pas 3.
Gab.cHors ligneMembrePoints: 449 Défis: 0 Message
Posté le 12-03-2016 à 16:04 | #
Le problème était vraiment bizarre mais j'ai finie par trouver une solution
Merci beaucoup
SiennaMuffin
Statut : Invité
Posté le 25-10-2016 à 22:54 | #
J'ai déjà eu une erreur similaire une fois, où un PxlTest avec des arguments valides (1 < X < 127 et 1 < Y < 63) m'affichait une erreur mémoire, et j'ai réussi à comprendre (au bout d'une vingtaine de minutes ) que c'était parce que ma DrawMemory était pas initialisée
En fait, pour fonctionner (apparemment) le PxlTest a besoin que l'écran graphique (en Text, pas Locate) soit initialisé, que quelque chose ai été affiché par exemple (et ensuite effacé, si besoin)

Du coup, si on utilise un PxlTest au début d'un programme, ou avant qu'une autre fonction graphique ne soit utilisée, ça risque de faire une erreur
LephenixnoirEn ligneAdministrateurPoints: 21005 Défis: 143 Message
Posté le 25-10-2016 à 22:58 | #
Bien joué, cette interprétation fonctionne bien
J'ai modifié la description de la fonction.
TotoyoHors ligneMembre d'honneurPoints: 16040 Défis: 102 Message
Posté le 26-10-2016 à 20:04 | #
En effet, j'avais également fait ce constat, mais ai omis de le préciser.
Merci d'avoir rectifier cet oubli
GdubolHors ligneMembrePoints: 160 Défis: 2 Message
Posté le 22-08-2018 à 20:57 | #
J'ai une erreur similaire lors d'un test:
while PixelTest(65-N, 1+M)=1

j'ai vérifié, mes valeurs sont bien dans la plage [1,127] et [1,63] mais j'ai tout de même une erreur mémoire, alors que la mémoire graphique doit être initialisée puisque plusieurs dessins sont a l'écran.
Si quelqu'un aurait une solution ou une piste cela me serait d'une grande aide

Très bien erreur trouvée, visiblement la fonction renvoie une erreur mémoire si elle est utilisée directement après un Cls
iooiuyt
Statut : Invité
Posté le 21-09-2019 à 20:09 | #
J'ai toujours un Mem error quand j'execute cette fonction, j'ai 20000 octets de libre, merci
iooiuyt
Statut : Invité
Posté le 21-09-2019 à 20:14 | #
ok j'ai compris

Pages: Précédente | 1, 2

Retour liste des commandes

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