Version Française English Version

Planète Casio - Programmes, jeux et cours pour calculatrices Casio

Bookmark and Share
Bienvenue sur Planète Casio, n'hésitez pas à poser vos questions sur le forum, et pensez à rejoindre Planète-Casio sur Facebook !
Spaceraider
Forums Casio - News du site

Index du Forum | News du site | Une nouvelle astuce pour les list
Nitrosax
Hors ligne
Rédacteur
Niveau: Confirmé
Points: 773
Défis: 17
Email | Message
Posté le 11/02/2012 13:08

Une nouvelle astuce pour les list:

Grâce à BTL, la communauté vient d'apprendre une nouvelle astuce pour la programmation en basic sur les calculatrices munies de l'OS2 (graph 35+ usb/75/85/95 et Fx-CG 10/20).

En effet, la plupart de nos jeux utilisent des système d'enregistrement des scores grâce aux list : une suite de variables visibles dans les menu "stats".
Cependant, un problème majeur animait la communauté depuis plusieurs années. Comment savoir si une list existe, afin d'éviter les ''syntax error'' ?
Plusieurs solutions alternatives ont été trouvées, comme de proposer au joueur d'installer lui même le jeu ou d'utiliser certaines variables en espérant que personne d'autre n'est fait de même.
Cependant, l'astuce découverte par BTL est autrement plus ingénieuse et demeure beaucoup plus fiable. En voici la syntaxe, elle permet ici de tester la longueur de la list 1, mais pourrait s'appliquer à n'importe quelle list :

''''->List 1 //deux guillemets
Dim List 1 //On récupère la valeur depuis la variable Ans

En fait, la case [0] d'une liste peut contenir une chaîne de caractères.

Vous ne comprenez pas tout car vos connaissances en basic ne vous le permettent pas ?
Alors n'hésitez pas à allez voir les les tutoriels du sites !

Gravity Guy est sorti !!!
smiley




Totoyo
Hors ligne
Super admin
Niveau: Elite
Points: 8819
Défis: 66
Email | Message
Citer : Posté le 11/02/2012 13:24 |
Cette astuce marche aussi sur les Fx-CG 10/20. Après l'OS2, précise "Graph 75/85/95 et Fx-CG 10/20, tout le monde ne connait pas cette ''abréviation''

Faites aussi attention, on écrit List et non liste. On parle de la fonction List.

Si on veut optimiser le code au maximum, on fait ça :
''''->List 1[0 //deux guillemets
Dim List 1 //On récupère la valeur depuis la variable Ans
----------------------------------
PRGM 2 // Tout savoir sur sa Casio // Les meilleurs tutoriels // 48h CPC

Reprise du projet StarCraft 2 sur Graph 35+USB/75/85/95 (SD) !!

Je ne réponds PAS aux messages privés concernant des problèmes avec la calculatrice. Merci de poser vos questions sur le forum !
Javierxd
Hors ligne
Membre
Niveau: Confirmé
Points: 1231
Défis: 8
Email | Message
Citer : Posté le 11/02/2012 13:28 |
Alors en testant la valeur de L (ou de Ans comme dit Totoyo) on peut savoir si la liste existe. C'est ça?
----------------------------------
Calculatrices: g35+usb modifiée, PRIZM
Espagnol

Programmes
Totoyo
Hors ligne
Super admin
Niveau: Elite
Points: 8819
Défis: 66
Email | Message
Citer : Posté le 11/02/2012 14:11 |
Si List 1[1]=0 et L=1, alors la liste n'existe pas.
Donc si List 1[1] != 0 ou L!=1, alors la liste existe.
----------------------------------
PRGM 2 // Tout savoir sur sa Casio // Les meilleurs tutoriels // 48h CPC

Reprise du projet StarCraft 2 sur Graph 35+USB/75/85/95 (SD) !!

Je ne réponds PAS aux messages privés concernant des problèmes avec la calculatrice. Merci de poser vos questions sur le forum !
Javierxd
Hors ligne
Membre
Niveau: Confirmé
Points: 1231
Défis: 8
Email | Message
Citer : Posté le 11/02/2012 14:20 |
Ok, merci
----------------------------------
Calculatrices: g35+usb modifiée, PRIZM
Espagnol

Programmes
Totoyo
Hors ligne
Super admin
Niveau: Elite
Points: 8819
Défis: 66
Email | Message
Citer : Posté le 11/02/2012 14:36 |
Avec plaisir
----------------------------------
PRGM 2 // Tout savoir sur sa Casio // Les meilleurs tutoriels // 48h CPC

Reprise du projet StarCraft 2 sur Graph 35+USB/75/85/95 (SD) !!

Je ne réponds PAS aux messages privés concernant des problèmes avec la calculatrice. Merci de poser vos questions sur le forum !
Nitrosax
Hors ligne
Rédacteur
Niveau: Confirmé
Points: 773
Défis: 17
Email | Message
Citer : Posté le 11/02/2012 15:07 |
La varible L ou ans revoie également la longueur de la liste.
----------------------------------
Gravity Guy est sorti !!!
smiley
Ne0tux
Hors ligne
Membre
Niveau: Vétéran
Points: 1300
Défis: 92
Email | Message
Citer : Posté le 11/02/2012 15:41 |
Juste pour info, la chaine de caractère insérable dans la case 0 de la liste ne peut pas excéder 8 caractères...

Pas forcément utile mais bon à savoir !

Tiens, je viens de remarquer que si vous remplissez cette case 0 et qu'ensuite vous tentez de remplir avec une chaine vide, la calto affiche une erreur "existe déjà"...

De plus, je ne sais pas si vous avez ce soucis mais personnellement, le bout de code proposé me renvoie toujours 11 comme valeur...


----------------------------------
Deviens le roi de la banquise avec Ice Slider !

Prêt pour un bain de soleil sur l'asphalte brûlante ? Alors tente de sortir entier du Canyon !

Une logique sans faille et une intelligence hors normes ? Prouve-le en jouant au Master Mind !
Nitrosax
Hors ligne
Rédacteur
Niveau: Confirmé
Points: 773
Défis: 17
Email | Message
Citer : Posté le 11/02/2012 15:48 |
De plus, je ne sais pas si vous avez ce soucis mais personnellement, le bout de code proposé me renvoie toujours 11 comme valeur...


Ca marche parfaitement sur ma 35+ modifiée.
----------------------------------
Gravity Guy est sorti !!!
smiley
Ne0tux
Hors ligne
Membre
Niveau: Vétéran
Points: 1300
Défis: 92
Email | Message
Citer : Posté le 11/02/2012 15:54 |

C'est bon, j'ai trouvé ce qui coinçait !

Et au sujet du "existe déjà" en fait, c'est que deux listes ne peuvent pas avoir le même nom !

Sinon, je conseille aux "maniaques" d'ajouter un "ClearList" après le bout de code si la valeur vaut 1...
----------------------------------
Deviens le roi de la banquise avec Ice Slider !

Prêt pour un bain de soleil sur l'asphalte brûlante ? Alors tente de sortir entier du Canyon !

Une logique sans faille et une intelligence hors normes ? Prouve-le en jouant au Master Mind !
Btl
En ligne
Membre
Niveau: Confirmé
Points: 1211
Défis: 21
Email | Message
Citer : Posté le 11/02/2012 16:07 |
oui je l'avais déjà indiquer dans mon post
Attention, si une autre liste s'appelle ''BTL'' il va y avoir une erreur donc je vous conseille de nettoyer les noms des listes avant de faire la manip !

For 1->A To 26
""->list A[0
Next
avec ça il n'y a plus de risque
----------------------------------
BTL-production

le meilleur jeux de football en basic pour toutes calculatrices FIFA 2012
êtes vous capable de battre mon IA du jeu othello ? othello

smiley
Siapran
Hors ligne
Membre
Niveau: Confirmé
Points: 2659
Défis: 17
Email | Message
Citer : Posté le 12/02/2012 11:28 |

oui je l'avais déjà indiquer dans mon post
Attention, si une autre liste s'appelle ''BTL'' il va y avoir une erreur donc je vous conseille de nettoyer les noms des listes avant de faire la manip !

For 1->A To 26
""->list A[0
Next
avec ça il n'y a plus de risque


heu si
pk toutes les listes s'appellent ""
donc ça va planter tout de suite
----------------------------------
smiley smiley
Totoyo
Hors ligne
Super admin
Niveau: Elite
Points: 8819
Défis: 66
Email | Message
Citer : Posté le 12/02/2012 12:55 |
Bien vu Siapran !!

Voici donc la solution pour contourner le problème :

For 1->A To 26
StrMid(''ABCDEFGHIJKLMNOPQRSTUVWXYZ'',A,1)->List 1[0
Dim List A
Next
----------------------------------
PRGM 2 // Tout savoir sur sa Casio // Les meilleurs tutoriels // 48h CPC

Reprise du projet StarCraft 2 sur Graph 35+USB/75/85/95 (SD) !!

Je ne réponds PAS aux messages privés concernant des problèmes avec la calculatrice. Merci de poser vos questions sur le forum !
Purobaz
Hors ligne
Membre
Niveau: Aucun
Points: 2141
Défis: 108
Email | Message
Citer : Posté le 12/02/2012 14:06 |
Il faut nettoyer les noms des listes avec "".
Pour tester celle qu'on veut avec une autre chaîne de caractères.
----------------------------------
smiley
smiley

Cliquer pour dérouler
Cliquer pour enrouler

graph 35+ USB

jeux :
Solitr

cours :
Solution


graph 35+ USB / 75 / 85 /95

jeux basic :
Escape prison
London 12 puro
Plumber
Yetisport ic
Platstre
M-niais
Akinator
Solitr
Robots

jeux addin :
Snowball

jeux lua :
Where am i
Mario

utilitaires basic :
Bitmap PRGM2
QR code
Boussole
Nombre en or
Calendr

utilitaires addin :
PRGM2
picture 1024

utilitaires Lua :
Pi en Lua

cours :
Solution


Prizm

jeux :
Free wheel
Yetisport puro
Rush hour color
Plumber
Prizm pack
Flight cg20

utilitaires :
Sprite maker cg
Paint 20
Menu cg20


Tutorials
PRGM2
Chaines de caractères et tableaux 2D


Projets

Ultimate solution
   73%


OBELIB
   28%


Un RPG en basic qui envoie du lourd !
   38%

Mario pour Prizm
   46%

Fight pour Prizm
   56%

addin PacMan
   90%



La programmation est pour moi la chose la plus sacrée !... c'est pour ça que j'y touche pas !
Totoyo
Hors ligne
Super admin
Niveau: Elite
Points: 8819
Défis: 66
Email | Message
Citer : Posté le 12/02/2012 14:13 |
"" Ne nettoie pas le nom des listes.
J'ai une erreur "Existe déjà".
----------------------------------
PRGM 2 // Tout savoir sur sa Casio // Les meilleurs tutoriels // 48h CPC

Reprise du projet StarCraft 2 sur Graph 35+USB/75/85/95 (SD) !!

Je ne réponds PAS aux messages privés concernant des problèmes avec la calculatrice. Merci de poser vos questions sur le forum !
Eiyeron
Hors ligne
Modérateur
Niveau: Confirmé
Points: 3925
Défis: 37
Email | Message
Citer : Posté le 12/02/2012 18:14 |
Je tiens à noter que les list[0 peuvent servir de strings temporaires.

Ensuite, cela force la création d'une liste de 48 octets.

Simplifiable en ""->List 1

Ajouté le 12/02/2012 à 18:30 :
Dois-je noter que la case 0 est la case sub?
----------------------------------
smileysmileysmiley
smileysmiley
Nitrosax
Hors ligne
Rédacteur
Niveau: Confirmé
Points: 773
Défis: 17
Email | Message
Citer : Posté le 13/02/2012 19:32 |
MAJ
----------------------------------
Gravity Guy est sorti !!!
smiley
Vdragon.b
Hors ligne
Membre
Niveau: Confirmé
Points: 1141
Défis: 0
Email | Message
Citer : Posté le 13/02/2012 19:51 |
cette astuce tombe pile au moment ou j'en ai besoin.
Merci!
----------------------------------
there are many incredible things in the world...So,believe in yours dreams!
I own a graph 3575+.
smiley
smiley
Btl
En ligne
Membre
Niveau: Confirmé
Points: 1211
Défis: 21
Email | Message
Citer : Posté le 13/02/2012 21:49 |
Avec plaisir
----------------------------------
BTL-production

le meilleur jeux de football en basic pour toutes calculatrices FIFA 2012
êtes vous capable de battre mon IA du jeu othello ? othello

smiley


Index du Forum | News du site | Une nouvelle astuce pour les list
Pseudo :
Adresse email :
Réponse :
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :?:  :arrow:  :!:  :here:
Ajouter fichier joint :


Me prévenir par mail lorsqu'une réponse est postée.

Un petit test (entrez le résultat en chiffres):
Combien font sept moins six ?

Recherche :
Publicité et partenaires

Omnimaga
Casio Education
Casio Éducation
Casio Scene
Casio Scene

TI-Planet
CasioFan, la communauté ClassPad
CasioFan
Space-Raider
Space-Raider
GameMaster
GameMasters.fr

Jeux Casio - www.planet-casio.com v3.0 © créé par Neuronix et Muelsaco 2004-2012 | Il y a 56 connectés | Nous contacter | Recherches effectuées
Rugby Manager | Jeu de handball | Jeu de foot | Jeu de rugby | Jeu de tennis | Space raider | Sublinet | Top-cinema, films, cinéma, séries | Pension pour chats

Planète-Casio est un site communautaire indépendant et n'est donc pas affilié à Casio | Toute reproduction de Planète-Casio, même partielle, est interdite
Les fichiers, programmes et publications postés sur Planète-Casio restent la propriété de leurs auteurs respectifs et peuvent être soumis à des copyrights
Merci de respecter le travail des autres ! | CASIO est une marque déposée par CASIO Computer Co., Ltd