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 » Mouvement de nombre
Marmotti Hors ligne Youtuber Points: 3610 Défis: 6 Message

Mouvement de nombre

Posté le 26/03/2014 19:51

Bonsoir !
Je me suis remis à la programmation, j'en avais besoin
J'ai commencé à programmer un 2048 ! je m'en sort plustot bien mais les mouvements sont pour la plupart bugé...
En réalité je suis un peu maniaque et donc je cherche un code plustot cours j'en ai fait un en 500 octets (pour un seul des 4 mouvement si j'arrive à le rendre utile pour les 4 mouvement à la fois ce serait énoooooorme ), l'ennui c'est que la fusion de deux nombres égaux et le déplacement d'un nombre ne se fait pas ensemble, par exemple : un 2 doit descendre deux cases pour rejoindre un autre 2 plus bas et se fusionner le deux descendra mais les 2 2 ne 2nerons (ahah) pas un beau ptit 4 tout seul , à moins de faire un code 3 fois plus long je ne vois pas de solution.

Comment fonctionne mon code ? Comme un livre dont vous êtes le héros ! ou pas... (Je parle d'un matrice 4x4 et du mouvement vers le bas)
On commence par la coordonné [4,0] -> [X,Y]
0) Y+1->Y (et si Y = 5 return)
1) Le Nombre est il égal à 0 ? SI oui va en 2 Si non va en 5
2) Le Nombre au dessus [X-1;Y] est il égal au Nombre [X;Y] ? SI oui va en 4 Si non va en 3
3) Descendons le nombre jusqu’à rencontrer une case qui a un nombre différent de 0 ! Pas le choix tu va en 5
4) Le nombre [X;Y] est multiplié par 2 et on donne la valeur 0 au nombre au dessus [X-1;Y] on go au 5 !
5) On Diminue X de 1 et on reviens au 1. X est égal à 5 ? On go au zéro et X est égal à 4

J’espère que vous pourrez m'aider, j'adorerais même passer pour un con et apprendre l'existence de tel fonction bref ..
Merci d'avance !



Tenmatx Hors ligne Membre Points: 994 Défis: 2 Message

Citer : Posté le 26/03/2014 20:34 | #


Je n'ai RIEN compris :aaah: .
Mes programmes de maths
Mes programmes de maths

Toutes les formules de Première S.
Toutes les formules de Terminale S.
Un programme de calculs.
Mes meilleurs jeux
Mes meilleurs jeux

Jeu gagnant des 48h CPC n°12

Mon site de discussion pour ados : http://entre-ados.net/
Mon éditeur de cours en ligne et plateforme de partage : http://wordline.xyz
Alphacreator Hors ligne Membre Points: 1464 Défis: 43 Message

Citer : Posté le 26/03/2014 20:40 | #


Tu compte le faire en Basic ou en C? Je te propose de faire un seul code que tu peux réutiliser pour chaque déplacement, je m'explique: tu as une variable qui contient le numéro du déplacement (0: haut, 1: bas...) ensuite tu initialise x et y en fonction de la valeur: utilise des ternaires si tu le fais en C, j'ai fait comme ça. Ensuite tu te déplace en fonction de la valeur...
Par contre mon code n'est pas terminé donc je ne peux pas trop t'aider au niveau des déplacements. (je vais le faire en basic et l'adapter en C ensuite car je fait le jeu en C)
Marmotti Hors ligne Youtuber Points: 3610 Défis: 6 Message

Citer : Posté le 26/03/2014 21:49 | #


Je le fais en basic donc les ternaire j'oublie...
Lephenixnoir Hors ligne Administrateur Points: 20736 Défis: 143 Message

Citer : Posté le 26/03/2014 21:53 | #


Je verrais bien cet algorithme (en gros), dans le cas où on déplace vers la gauche
Pour chaque colonne de la gauche vers la droite
    Si la prochaine case non vide a gauche contient la meme valeur que celle actuelle
    Alors Fusionner les cases
    Sinon Deplacer la case actuelle a droite de la precedente


Le seul souci, c'est que "2 2 4 8" va engendrer toutes les fusions
Positon Hors ligne Rédacteur Points: 2396 Défis: 57 Message

Citer : Posté le 26/03/2014 22:07 | #


Il suffit d'utiliser un booléen dans la boucle for qui interdit une nouvelle fusion s'il y en a déjà eu une
<<< Si jusque là vous aviez cru que mon pseudo est "Position", il est encore temps de regarder à gauche

Ça m'énerve les gens qui ne finissent pas leurs
Kirafi Hors ligne Membre Points: 2174 Défis: 10 Message

Citer : Posté le 26/03/2014 22:10 | #


C'est quoi un booléen ?
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)
Lephenixnoir Hors ligne Administrateur Points: 20736 Défis: 143 Message

Citer : Posté le 26/03/2014 22:15 | #


"true" ou "false"
En fait j'ai mieux.
Pour chaque ligne
    Affecter 0 a Fusion
    Si une fusion est possible et Fusion=0
    Alors
        Fusionner
        Affecter 1 a Fusion
    Sinon Decaler
Dodormeur Hors ligne Ancien rédacteur Points: 3964 Défis: 82 Message

Citer : Posté le 26/03/2014 22:15 | #


Une variable qui contient vrai (1) ou faux (0).
Dans la pratique, c'est un char
Pokemon !!!!!! => pokemon stadium/battle

mes meilleurs jeux
Cliquer pour enrouler
un jeu avec des niveaux de gris mais compatible SH4 (mais en monochrome pour les SH4) => bomberman
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2

projets
Cliquer pour enrouler

pokemon
Cliquer pour enrouler



encodage des données de combat (sprite, attaques et nom)
   100%

systeme de combat
   100%

encodage des données de pokemon (niveau d'apprentisage et evolution)
   100%


moteur de la carte
   50%

level design
   1%

finition de pokemon jade
   42%

merci a tout le monde pour son soutien


projets que je soutiens
Cliquer pour enrouler
minecraft de limachi
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm (dont je connais le nom, mais pas vous ) Arcuz !
Kirafi Hors ligne Membre Points: 2174 Défis: 10 Message

Citer : Posté le 26/03/2014 22:17 | #


Ok merci (encore)

Edit : @Lephénixnoir, ne fonctionne pas imagine ce cas là 2244 et tu fais droite ça te donne __48
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)
Lephenixnoir Hors ligne Administrateur Points: 20736 Défis: 143 Message

Citer : Posté le 26/03/2014 22:20 | #


Oh non, dans la pratique c'est un bit !
On les groupe les uns les autres.

Ajouté le 26/03/2014 à 22:21 :
Eh bien, c'est ce qui se passe dans le jeu !
Kirafi Hors ligne Membre Points: 2174 Défis: 10 Message

Citer : Posté le 26/03/2014 22:23 | #


Non je t'assure, vérifie
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)
Dodormeur Hors ligne Ancien rédacteur Points: 3964 Défis: 82 Message

Citer : Posté le 26/03/2014 22:24 | #


@lephenix: ça dépend des compilateur Si tu défini un bool en C++, cela prendra un octet, sauf si il est dans un vector, auquel cas il est optimisé a un bit.
Pokemon !!!!!! => pokemon stadium/battle

mes meilleurs jeux
Cliquer pour enrouler
un jeu avec des niveaux de gris mais compatible SH4 (mais en monochrome pour les SH4) => bomberman
envie de plonger dans la mer pour ramasser des tresors? => ballon sea
envie de sauver l'univers dans un jeu avec une longue durée de vie? => saviors of the future
un add-in addictif avec plein de secret et de trophées => evasion survival
un shmup bien dur et sadique => saviors 2

projets
Cliquer pour enrouler

pokemon
Cliquer pour enrouler



encodage des données de combat (sprite, attaques et nom)
   100%

systeme de combat
   100%

encodage des données de pokemon (niveau d'apprentisage et evolution)
   100%


moteur de la carte
   50%

level design
   1%

finition de pokemon jade
   42%

merci a tout le monde pour son soutien


projets que je soutiens
Cliquer pour enrouler
minecraft de limachi
zelda prizm de smashmaster (en esperant qu'il puisse le finir)
les tests de marmotti
un RPG de dark storm (dont je connais le nom, mais pas vous ) Arcuz !
Lephenixnoir Hors ligne Administrateur Points: 20736 Défis: 143 Message

Citer : Posté le 26/03/2014 22:30 | #


@Kirafi
Ah oui, tu veux dire que mon programme n'est pas conforme à ton exemple !
J'avais compris l'inverse.
En fait le but, c'est de ne pas fusionner une cellule qui résulte d'une fusion du même tour.

@Dodormeur
Je voulais dire que si j'ai besoin de 3 booléens, je vais les mettre (de manière "conventionnelle") tous les trois dans un même unsigned char.
Kirafi Hors ligne Membre Points: 2174 Défis: 10 Message

Citer : Posté le 26/03/2014 22:36 | #


Bon, moi je peux vous dire que j'ai réussi depuis hier à créer ce jeu, sans bug ni rien ...
Mais la technique est assez dure pour compacter, et demain je vais réunir les 4 bouts de code des 4 directions (presque pareil) en un pour une économie d'octets ces bout de code font chacun 250 octet...
Je vous laisse chercher puis d'ici là, si aucun jeu n'est sorti (sans bug...), je sors le miens
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)
Marmotti Hors ligne Youtuber Points: 3610 Défis: 6 Message

Citer : Posté le 28/03/2014 17:37 | #


Arf j'adorerais pouvoirs poster le mien mais j'ai plus avancé... J'ai pris en compte vos commentaire, je vais réessayer
Tu me laisse jusque quand ?
Kirafi Hors ligne Membre Points: 2174 Défis: 10 Message

Citer : Posté le 30/03/2014 13:04 | #


Je sais pas .
Au lycée, j'avance le programme basic et chez moi le C, donc peut-être la semaine prochaine .
Et aussi, pour une direction :
Kirafi a écrit :
chacune 250 octet...

Maintenant, les 4 directions en même temps dans un bout de code de 450 octets 8) ... Mais la vitesse a tellement ralentie que c'est mieux avant , par contre en C, pas de problème de vitesse :D.
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)

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