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 !
Citer : Posté le 26/03/2014 20:34 | #
Je n'ai RIEN compris :aaah: .
Toutes les formules de Première S.
Toutes les formules de Terminale S.
Un programme de calculs.
Super Mario 3
warrior
Jump Ball
First Fly
►Jeu gagnant des 48h CPC n°12◄
Mon site de discussion pour ados : http://entre-ados.net/ (a brûlé dans l'incendie d'OVH)
Mon éditeur de cours en ligne et plateforme de partage : http://wordline.xyz (a succombé à la concurrence de Google Drive...)
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)
Citer : Posté le 26/03/2014 21:49 | #
Je le fais en basic donc les ternaire j'oublie...
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
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
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
Citer : Posté le 26/03/2014 22:10 | #
C'est quoi un booléen ?
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)
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)
Citer : Posté le 26/03/2014 22:15 | #
"true" ou "false"
En fait j'ai mieux.
Affecter 0 a Fusion
Si une fusion est possible et Fusion=0
Alors
Fusionner
Affecter 1 a Fusion
Sinon Decaler
Citer : Posté le 26/03/2014 22:15 | #
Une variable qui contient vrai (1) ou faux (0).
Dans la pratique, c'est un char
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
merci a tout le monde pour son soutien
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 !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
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)
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)
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 !
Citer : Posté le 26/03/2014 22:23 | #
Non je t'assure, vérifie
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)
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)
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.
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
merci a tout le monde pour son soutien
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 !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.
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
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)
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)
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 ?
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 :
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.
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)
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)