Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.

Forum Casio - Autres questions


Index du Forum » Autres questions » Astuce 1->A:2->B:3->C...
Ninestars Hors ligne Membre Points: 2413 Défis: 22 Message

Astuce 1->A:2->B:3->C...

Posté le 11/07/2012 15:55

Exist-il une astuce qui fait :
10->A
11->B
12->C
...
merci


Totoyo Hors ligne Membre d'honneur Points: 16040 Défis: 102 Message
Ninestars Hors ligne Membre Points: 2413 Défis: 22 Message

Citer : Posté le 11/07/2012 16:04 | #


Merci, justement, c'est pour compresser encore les niveaux de Lumière, Au lieu d'écrire 14, j'écris D, et hop 1 octet en plus, fois 2, fois le nombre de bloc, je gagne 700.
Je n'utilise donc pas les listes
Louloux Hors ligne Ancien administrateur Points: 7035 Défis: 61 Message

Citer : Posté le 11/07/2012 16:31 | #


pas besoin d'une astuce fais le manuellement et tu gagneras quand même en octets non ?
Totoyo Hors ligne Membre d'honneur Points: 16040 Défis: 102 Message
Louloux Hors ligne Ancien administrateur Points: 7035 Défis: 61 Message

Citer : Posté le 11/07/2012 17:41 | #


Pourquoi 10->A+1->B+1->C ne marche pas ?
En C tu fais C=B++=A++=10 je crois que ça marche.
Ninestars Hors ligne Membre Points: 2413 Défis: 22 Message

Citer : Posté le 11/07/2012 18:02 | #


J'ai essayé avec les strings, mais pas possible ou alors trop complexe pour ça, je vais le faire à la main, j'y gagne quand même beaucoup. Merci quand même
Ne0tux Hors ligne Membre d'honneur Points: 3493 Défis: 265 Message

Citer : Posté le 11/07/2012 19:43 | #


Sinon tu peux mettre un nombre comportant jusqu'à 30 chiffres dans une seule variable/case de matrice/case de liste avec les nombres complexes...

Tu peux exploiter ça en appelant ensuite un petit sous-programme qui te dispatche ces chiffres dans tes différentes variables !

Je pense que le gain peut être intéressant...

Jusqu'à quelle lettre vas-tu ? Combien ont de chiffres les nombres que tu stockes dans ces variables ?


Exemple rapide sans nombres complexes :

Imaginons qu tu as 3 nombres de deux chiffres chacun à dispatcher dans 3 variables A, B et C. Tu peux insérer ces trois nombres en un seul comme ceci :

101112 -> X

Puis appeler un sous-programme comme celui-ci :


X/E4

Int Ans -> A
Int (E2xFrac Ans -> B
Int (E2xFrac E2Ans -> C



Chez moi ce programme ne pèse que 28 octets...

Au bout de 5 niveaux, pour cet exemple, ce système est "rentable", je viens de vérifier...

Et comme tu possèdes certainement davantage de niveaux et de variables, je te propose d'essayer cette méthode !




Mes principaux jeux : Ice Slider - CloneLab - Arkenstone

La Planète Casio est accueillante : n'hésite pas à t'inscrire pour laisser un message ou partager tes créations !
Louloux Hors ligne Ancien administrateur Points: 7035 Défis: 61 Message

Citer : Posté le 11/07/2012 20:26 | #


Il faudrait faire un tuto sur les complexes aussi un jour.
Ninestars Hors ligne Membre Points: 2413 Défis: 22 Message

Citer : Posté le 11/07/2012 21:19 | #


Il suffit d'avoir un seul nombre complexe dans une matrice pour multiplier sa taille par 2.
Comme pour une simple variable.
Je ne stock rien dans ma matrice à part l'ID de l'objet.
Cette technique je l'utilise pour mon projet Age of Empire, ou une case de matrice enregistre l'ID, le camps, l'action en cours, les coordonnées de cette action, et la vie : ID,AXYLIFE

Ici je demande pour enregistrer les niveaux de Lumière, ils sont enregistrés dans une string de cette manière, XXYIDXXYIDXXYID..., chaque bloc est placé sur 5 octets. 2 pour les X (car compris entre 1et 19), 1 pour les Y et 2 pour l'ID de l'objet. Mais maintenant j'ai réussis à compresser d'avantage en remplacant le 10 par A, le 11 par B, du coup chaque bloc fait que 3 octets. Et quand je crée le niveau en décomposant ma string :
"A"->Str 2
10->A:11->B
Exp(Str 2)
Exp() me renvoie 10

Ce que je demandais, c'était juste pour éviter 10->A:11->B:12->C...
Mais en faite ca prend pas grand chose comme je vais jusqu'a J
Pierrotll Hors ligne Ancien administrateur Points: 5488 Défis: 41 Message

Citer : Posté le 12/07/2012 00:02 | #


Tu utilises 10 variables pour stocker les nombres de 10 à 19 ?
Il ne serait pas plus pratique d'utiliser une liste et de la générer avec Seq ?
Seq(A,A,10,19,1)->List 1
Ninestars Hors ligne Membre Points: 2413 Défis: 22 Message

Citer : Posté le 12/07/2012 00:32 | #


Non, justement je fais ça pour économiser des octets.

Ici je demande pour enregistrer les niveaux de Lumière, ils sont enregistrés dans une string de cette manière, XXYIDXXYIDXXYID..., chaque bloc est placé sur 5 octets. 2 pour les X (car compris entre 1et 19), 1 pour les Y et 2 pour l'ID de l'objet. Mais maintenant j'ai réussis à compresser d'avantage en remplacant le 10 par A, le 11 par B, du coup chaque bloc fait que 3 octets.

Je viens de finir de modifier tout les niveaux, j'ai gagné 560 octets

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 v42 © créé par Neuronix et Muelsaco 2004 - 2021 | Il y a 45 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