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.
La référence Basic Casio
Nom : PxlTest
Localisation :
[ Sketch ] [ PIXL ] +
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.
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.
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
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
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