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 - Vos tutoriels et astuces


Index du Forum » Vos tutoriels et astuces » Avoir 40 Str supplémentaires
Remiweb Hors ligne Membre de CreativeCalc Points: 1040 Défis: 32 Message

Avoir 40 Str supplémentaires

Posté le 15/10/2013 16:34

Voilà une astuce que je viens de découvrir par hasard aujourd'hui mais qu’apparemment certains connaissent déjà


Introduction :
Il est possible d'entrer des fonctions dans la calculette (depuis GRAPH ou TABLE par exemple).
Celles-ci peuvent contenir n'importe quels caractères et sont donc utilisables comme des Str.
Elles fonctionnent de la même manière et on donc une longueur maximale qui varie entre 127 est de 255 caractères (tout dépend si on utilise des caractères spéciaux qui pèsent 2 octets au lieu d'un ou non).

Utilisation :
Il existe deux possibilités, chacune donnant accès à 20 Str
- Pour la première il faut utiliser ce signe :
(VARS -> GRPH -> F1)
Pour enregistrer une chaine de caractères il faut faire comme avec les Str classiques.
Par exemple : "ABCD"→Y1 ou Str 1->Y3
Le nombre derrière Y doit être comprit entre 1 et 20
- Pour la seconde il faut utiliser "fn"
(OPTN -> FMEM -> F3)
Le principe est le même qu'avec Y, fn doit être suivit d'un nombre entre 1 et 20

Dans les deux cas le texte enregistré n'est pas utilisable directement.
Il faut l'extraire avec la fonction "Exp>Str(Yx,Str x)" qui transforme le contenu de Yx en texte et le sauvegarde dans la Str x

Exemple d'utilisation :
"PLANET"->Y1
"CASIO"->fn1
Exp>Str(Y1,Str 1)
Locate 1,1,Str 1
Exp>Str(fn1,Str 1)
Locate 1,2,Str 1



J'espère vous avoir appris quelque chose et que ça vous servira
Si vous avez d'autres astuces pour ces fonctions n'hésitez pas ...



Lancelot Hors ligne Membre Points: 1274 Défis: 160 Message

Citer : Posté le 16/10/2013 18:39 | #


oui je remettais à jour cette astuce
Calculatrices : Casio 35+ SH4 (modifiée 75) et fx-CG 20 PRIZM
Projets que je soutiens
Des exemples parmi tant d'autres
Pokémon Jade de Dododormeur
Zelda de Smashmaster
Super Geek Brothers de Siapran
Mes Programmes
Mes Programmes
Mes Projets
Mes Projets
ColorLib
Add-ins Jetpack Joyride et Pac-Man sur PRIZM (les 2 non commencés mais en réflexion)
A la recherche des sprites jetpack Joride si quelqu'un les a en couleur
Kirafi Hors ligne Membre Points: 2180 Défis: 10 Message

Citer : Posté le 16/10/2013 22:03 | #


Hey remiweb :idea: pourquoi, à la place de faire une map plus grande (encore ) sur Calcraft, tu ne pourrais pas faire en sorte que le joueur puisse faire 2 parties différentes
Pour cela, tu enregistres une parties dans les fns et l'autre dans les Y, puis au moment de choisir sa partie, en fonction de la partie 1 ou 2, tu converties soit les fns soit les Y en Str
Mais je viens d'y penser, on ne pourrai plus rentrer de formules graphiques ou de fns... en plus en ce moment je suis en train d'apprendre à me servir des Y en math
iPod
Pour des parties rapides
Jusqu'où pourras-tu aller dans ce jeu "partie rapide" qu'est Dextris (élu Jeu Du Mois)
Pourras-tu survivre plus de 20 secondes dans ce fameux tunnel appelé Graviton
Rebondis entre les murs en évitant les piques dans SpikeBird
Pourras-tu éviter de te faire écraser dans FallBlocs (élu Jeu Du Mois)
Autres
Franchement ils valent le coups
Deviens l'amiral de la marine dans SeaRush (jeu concours) (élu Jeu Du Mois)
La version 2048 tactile amélioré au plus haut point : 2048 Delux !
Pars à la recherche des morceaux d'étoile dans Lumyce (élu Jeu Du Mois)
Remiweb Hors ligne Membre de CreativeCalc Points: 1040 Défis: 32 Message

Citer : Posté le 17/10/2013 20:01 | #


Remiweb a écrit :
Et tout ça va peut-être me permettre de faire du multi-monde dans calcraft

Premier post sur ce topic

J'ai discuté de l'agrandissent de la map ou du multi-monde par mp il y a quelques jours :
Je pense faire un monde en créatif et un en survie (et ça éviterais les cheats)


Utiliser les Y c'est gênant, mais je sais pas pour les fn, elles servent à quoi en temps normal ?
Tweaks : ||||| ||||
Kirafi Hors ligne Membre Points: 2180 Défis: 10 Message

Citer : Posté le 17/10/2013 20:41 | #


C'est un bon raisonnement, les fns ne servent pas à grand choses, sauf pour les jeux avec des créateurs de niveaux
Donc je pense que tu peux les utiliser sans gros problèmes.
iPod
Pour des parties rapides
Jusqu'où pourras-tu aller dans ce jeu "partie rapide" qu'est Dextris (élu Jeu Du Mois)
Pourras-tu survivre plus de 20 secondes dans ce fameux tunnel appelé Graviton
Rebondis entre les murs en évitant les piques dans SpikeBird
Pourras-tu éviter de te faire écraser dans FallBlocs (élu Jeu Du Mois)
Autres
Franchement ils valent le coups
Deviens l'amiral de la marine dans SeaRush (jeu concours) (élu Jeu Du Mois)
La version 2048 tactile amélioré au plus haut point : 2048 Delux !
Pars à la recherche des morceaux d'étoile dans Lumyce (élu Jeu Du Mois)
Matt36230 Hors ligne Membre Points: 1888 Défis: 0 Message

Citer : Posté le 31/12/2014 00:03 | #


Message supprimé pour grosses anneries
Remiweb Hors ligne Membre de CreativeCalc Points: 1040 Défis: 32 Message

Citer : Posté le 31/12/2014 12:49 | #


Oui mais non, Y1/r1/Xt1/... correspondent à la même chaîne et c'est simplement le type qui sera changé dans les menu "graph"
Tweaks : ||||| ||||
Matt36230 Hors ligne Membre Points: 1888 Défis: 0 Message

Citer : Posté le 31/12/2014 12:52 | #


Ah... Je viens de tester... t'as raison... ZUT !
Suruq game Hors ligne Membre de CreativeCalc Points: 621 Défis: 20 Message

Citer : Posté le 03/05/2016 13:17 | #


On peut aussi en rajouter 6 avec les f1~6 qui se trouvent quasi tout en bas du catalogue
La technique est la même que pour les autres str du tuto.
There is only one thing that makes a dream impossible to achieve : the fear of failure
Zezombye Hors ligne Rédacteur Points: 1756 Défis: 13 Message

Citer : Posté le 01/09/2016 07:00 | #


Selon le manuel de casio il est aussi possible de faire ça avec les fonctions récurrentes(an, an+1, an+2, pareil pour bn et cn), ce qui fait 9 strings de plus.

Ajouté le 01/08/2017 à 16:38 :
On peut en fait avoir jusqu'à... 19 + 20 + 9 + 40*20 = 848 strings ! (oui oui)

On a tout d'abord les 19 strings avec Str 1-19 (on réserve le 20 pour le Exp->Str).
Ensuite, on a les strings avec fn1-20 (j'ai vérifié, les opcodes f1-6 font la même chose que fn1-20) et les fonctions récurrentes ([abc]n/n+1/n+2).

Il reste ensuite les strings du Graph. Remiweb l'a fait avec X, mais si on regarde dans le menu on voit 5 opcodes : Y, r, Xt, Yt, X.
Ces opcodes permettent de définir un type de fonction pour chacune des 20 fonctions. Dans le menu Graph, si on sélectionne Type -> Parm (F3,F3) on voit que chacune des 20 fonctions se déclinent en équations Xt= et Yt=. Ca multiplie par 2, nous donnant 40 strings accessibles avec Xt et Yt.
Avant que vous demandiez "mais pourquoi ça multiplie pas par 5, on peut avoir X1, Y1, r1, Xt1, Yt1", chaque fonction ne peut être que d'un seul type. Si vous faites "test"->X1 ça change le type de la fonction graph 1 en "X=", et si vous aviez fait auparavant "abc"->Y1 ça l'overwrite, donc on ne peut en avoir que 40.

En potassant le manuel j'ai découvert les GMEM, utilisables avec StoGMEM et RclGMEM (comme les pictures). Ces GMEM sont au nombre de 20 et permettent de stocker les fonctions graphiques. On a donc 40*20 = 800 strings potentiels

Remiweb parlait d'une sauvegarde de monde, avec ça il est très facile de faire 21 slots de sauvegarde (graph + Fn) puis de les charger dans les 20 strings.
Par contre je ne conseille pas l'agrandissement du monde car le code devra être différent : on ne peut pas performer des actions directement sur ces strings, donc au lieu de faire StrRotate(X1, 1) il faudra faire Exp->Str(X1, Str 20) : StrRotate(Str 20, 1) : Str 20->X1, du coup ça risque de laguer plus :/

À noter qu'on ne peut toujours pas appeler ces strings par des variables : faire 1->A puis "test"->FnA fera une erreur syntaxe ;-;
Divers jeux : Puissance 4 - Chariot Wars - Sokoban
Ecrivez vos programmes basic sur PC avec BIDE
Lephenixnoir Hors ligne Administrateur Points: 24234 Défis: 170 Message

Citer : Posté le 01/08/2017 16:51 | #


Zezombye a écrit :
À noter qu'on ne peut toujours pas appeler ces strings par des variables : faire 1->A puis "test"->FnA fera une erreur syntaxe ;-;

Eh oui, parce que Fn et Str ont une structure syntaxique très simple, avec des entiers littéraux comme arguments.

L'un des plus grands défauts de notre référence Basic est de ne pas avoir su noter ces informations. Par exemple, la différence fondamentale entre Str et File, le premier n'acceptant que les entiers littéraux, le second tout type d'expression s'évaluant en un entier compris entre 1 et 6 au sens large. C'est ça qui va compter quand on va écrire des programmes.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Zezombye Hors ligne Rédacteur Points: 1756 Défis: 13 Message

Citer : Posté le 01/08/2017 19:51 | #


Quelques benchmarks pour évaluer s'il est faisable d'utiliser ces strings pour un usage normal (par exemple, pour agrandir la map dans Calcraft).
J'ai mesuré combien de temps il faut pour faire 200 itérations de :
Exp->Str(<str>, Str 1) : StrRotate(Str 1, 1) : Str 1 -> <str>

Bien sûr, le test avec les Str normaux ne contient que le StrRotate.

On a :
Strings normaux : 267ms
Strings graphiques (Xt, Yt) : 5467 ms
Strings fonctions (fn1 ou f1) : 1133 ms
Strings récurrence ([abc]n/n+1/n+2) : 3133 ms
À +/- 50 ms.
Du coup on ne peut pas vraiment utiliser ces strings pour autre chose que du stockage, à moins de vouloir un lag au moins 4 fois plus grand. :/
Divers jeux : Puissance 4 - Chariot Wars - Sokoban
Ecrivez vos programmes basic sur PC avec BIDE

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