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 - Autres questions


Index du Forum » Autres questions » Du scrolling en Basic ?
Drakalex007 Hors ligne Membre Points: 687 Défis: 0 Message

Du scrolling en Basic ?

Posté le 05/10/2013 11:25

Salut à tous, je voulais savoir s'il était possible de faire du scrolling en Basic ? (En texte, pas en graphique).
Si oui, comment faudrait-il faire ? Une immense Str qui fait tout le niveau ou plein de Str différents qui formeraient le niveau entier ?

Ce serait un scrolling du genre Mario.

Merci !


Drakalex007 Hors ligne Membre Points: 687 Défis: 0 Message

Citer : Posté le 05/10/2013 18:42 | #


xD On est pas dans Inception non plus !

Bon la compression je pense pas que ce soit trop mon truc, mais en gros si j'ai bien compris, je mets mon niveau sous forme [[x,x][x,x]]->Mat A, et ensuite je fais une boucle comme a dit Dodormeur qui retranscrit les chiffres de la matrice en une Str !
Dodormeur Hors ligne Ancien rédacteur Points: 3965 Défis: 84 Message

Citer : Posté le 05/10/2013 18:45 | #


voila, et si tu veux economiser de la place, tu peut meme mettre plusieurs case dans un nombre (mais c'est plus compliquer)

par exemple

0100011101 -> mat A[1,1]

et pour decompresser
for 10->A to 1 step -1

mod(mat A[1,1]/A^10,10) == 1=>strjoin(str 1,"F")->str1

next


donc voila, dans l'idée c'est ca
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 !
Lancelot Hors ligne Membre Points: 1274 Défis: 160 Message

Citer : Posté le 05/10/2013 18:46 | #


Fait attention car il te supprimera le 0 du début dans la matrice
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
Dodormeur Hors ligne Ancien rédacteur Points: 3965 Défis: 84 Message

Citer : Posté le 05/10/2013 18:48 | #


mais cela ne changera rien, car meme si le zero est supprimé, mat A[1,1]/A^10 renvera 0 si le nombre n'est pas assez grand
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 !
Alex_1186 Hors ligne Membre Points: 1215 Défis: 46 Message

Citer : Posté le 05/10/2013 18:51 | #


Hein Inception? Où ça? (c'est mon film préféré, cf mon avatar!)

Pour la compression, c'est un peu au cas par cas, faut voir s'il n'y a pas d'infos inutiles et minimiser la place libre: pour Timeless Remix, j'ai pris des suites de 14 cases, -> binaire, -> décimal, je stocke, et ça 3 fois pour la partie réelle + 3 fois pour la partie imaginaire de la variable => 14*6 = 84 cases en une variable!
Puis je stocke le reste dans l'autre variable, et les objets, j'ai pris 3 chiffres, mais 2 suffisent! (leur n° de case entre 1 et 95, cf entropie de Shannon pour les initiés), résultat: une niveau entier en 2 variables complexes!

Enfin bref, ce qu'il faut c'est optimiser, ne garder que la "substantifique moelle" de l'information, le nombre minimal de renseignements nécessaires pour caractériser ton objet/niveau...

J'espère que ce que je dis t'aide un peu...

Edit: Dodormeur: voilà c'est l'idée, et après tu peux recompresser sur le binaire pour encore gagner de la place!
Projets que je soutiens
Projets que je soutiens
Robscape 2 de Ray
Les tests vidéo de Marmotti
Mes projets
Mes projets
Une dizaine de projets top secrets...

Timeless Remix Airwolf
"And the dream will never die..."
Dodormeur Hors ligne Ancien rédacteur Points: 3965 Défis: 84 Message

Citer : Posté le 05/10/2013 18:55 | #


bon maintenant ca depend aussi du nombre de blocs different, mais tu peut carrement prendre une base non-conventionnelle (genre 5) en changeant juste la valeur du modulo et de l'exposant (par contre, il te faudra faire un codeur de niveau dans ce cas la)
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 !
Remiweb Hors ligne Membre de CreativeCalc Points: 1040 Défis: 32 Message

Citer : Posté le 05/10/2013 19:01 | #


Alex_1186 a écrit :
j'aimerais juste voir genre si je peux pas faire un SRJ2 avec du scrolling vertical, mais ça va être plus chaud...
(Enfin Remiweb l'a déjà fait avec Calcraft donc ça devrait le faire!)

C'est pas bien compliqué et le jeu reste rapide
D'ailleurs j'ai recodé ce scrolling cet après-midi, l'ancien était pas super optimisé (et le code bordélique a force de rajouter des trucs un peu partout)...
Tweaks : ||||| ||||
Alex_1186 Hors ligne Membre Points: 1215 Défis: 46 Message

Citer : Posté le 05/10/2013 19:05 | #


Dodormeur le codeur c'est indispensable! On va pas rentrer tous les chiffres 1 par 1!

Remiweb Oui mais tu gères quelle hauteur? Parce que le système "une Str/ligne" ne fonctionne plus quand on a plus de 20 "étages"...
Enfin c'est pas pour tout de suite que je m'y remet! Pas avant août 2014 après mes concours!
Projets que je soutiens
Projets que je soutiens
Robscape 2 de Ray
Les tests vidéo de Marmotti
Mes projets
Mes projets
Une dizaine de projets top secrets...

Timeless Remix Airwolf
"And the dream will never die..."
Drakalex007 Hors ligne Membre Points: 687 Défis: 0 Message

Citer : Posté le 05/10/2013 19:05 | #


Oulahh alors là je suis complètement perdu Oo ! J'ai rien compris au code de dodormeur et vous commencez à parler d'hexa et de binaire, je vous suis plus là x)

Je sais pas en quelle classe vous êtes mais moi je viens de rentrer en seconde
Alex_1186 Hors ligne Membre Points: 1215 Défis: 46 Message

Citer : Posté le 05/10/2013 19:07 | #


Ah oui c'est que moi je suis en MP*... (math spé)
Evidemment t'es pas obligé de te lancer direct dans un truc de cette envergure, t'as le temps de prévoir! (moi j'ai commencé en première)


(et c'était quoi le rapport avec Inception?)
Projets que je soutiens
Projets que je soutiens
Robscape 2 de Ray
Les tests vidéo de Marmotti
Mes projets
Mes projets
Une dizaine de projets top secrets...

Timeless Remix Airwolf
"And the dream will never die..."
Drakalex007 Hors ligne Membre Points: 687 Défis: 0 Message

Citer : Posté le 05/10/2013 19:11 | #


Bah à vrai dire je pensais pas à un truc si compliqué x)
J'ai réussi à faire un scrolling mais après vos méthodes me permettront d'accélérer le jeu.
Bon en tout cas merci pour vos réponses, je verrais ce que je vais faire

Alex_1186 a écrit :
Tu peux même compresser les chiffres de la matrice dans une Str (ironie du sort) et tu appliques plein de transformations via les bases numériques, pour compresser et re-compresser le tout!

On va compresser, puis compresser, puis compresser x)
Alex_1186 Hors ligne Membre Points: 1215 Défis: 46 Message

Citer : Posté le 05/10/2013 19:18 | #


Ah oui...
Moi c'est plutôt la récursivité qui me fait penser à Inception: on descend dans les niveaux d'appels récursifs, et quand on est tout en bas on trouve la réponse, et on ressort de tout les niveaux en simultané!

Et tu sais je disais juste qu'après avoir compressé via le binaire, tu pouvais recompresser en décimal, et les mettre dans une même variable à la suite, par exemple, c'est tout! T'es pas obligé d'appliquer l'algorithme de Huffman! (euh attend... Mais si c'est une bonne idée en fait! J'aurais dû le faire pour mes Str! :aie2: )

Bonne chance en tout cas!
Projets que je soutiens
Projets que je soutiens
Robscape 2 de Ray
Les tests vidéo de Marmotti
Mes projets
Mes projets
Une dizaine de projets top secrets...

Timeless Remix Airwolf
"And the dream will never die..."
Dodormeur Hors ligne Ancien rédacteur Points: 3965 Défis: 84 Message

Citer : Posté le 05/10/2013 19:30 | #


pour le binaire, c'est une base differente de la notre

nous on compte avec 0,1,2,3,4,5,6,7,8,9, alors que l'ordi ne compte qu'avec des 0 et des 1

donc 1 en decimal = 1 en binaire
2 = 10
3 = 11
4 = 100
etc.

c'est d'ailleurs pour ca que certains nombre reviennent souvent en progra (par exemple, les 256 caracteres, c'est 2^8 )
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 !
Alphacreator Hors ligne Membre Points: 1464 Défis: 43 Message

Citer : Posté le 05/10/2013 19:41 | #


Alex_1186 a écrit :
Hein Inception? Où ça? (c'est mon film préféré, cf mon avatar!)

Pour la compression, c'est un peu au cas par cas, faut voir s'il n'y a pas d'infos inutiles et minimiser la place libre: pour Timeless Remix, j'ai pris des suites de 14 cases, -> binaire, -> décimal, je stocke, et ça 3 fois pour la partie réelle + 3 fois pour la partie imaginaire de la variable => 14*6 = 84 cases en une variable!
Puis je stocke le reste dans l'autre variable, et les objets, j'ai pris 3 chiffres, mais 2 suffisent! (leur n° de case entre 1 et 95, cf entropie de Shannon pour les initiés), résultat: une niveau entier en 2 variables complexes!

Enfin bref, ce qu'il faut c'est optimiser, ne garder que la "substantifique moelle" de l'information, le nombre minimal de renseignements nécessaires pour caractériser ton objet/niveau...

J'espère que ce que je dis t'aide un peu...

Edit: Dodormeur: voilà c'est l'idée, et après tu peux recompresser sur le binaire pour encore gagner de la place!


Tu peu donner un mode d'emploi plus clair stp? j'ai pas tout compris et je pense que ça pourrait améliorer de nombreux jeux
Alex_1186 Hors ligne Membre Points: 1215 Défis: 46 Message

Citer : Posté le 05/10/2013 20:05 | #


Oui bien sûr, là j'ai expliqué à l'arrache.

Demain je détaille le tout!
Projets que je soutiens
Projets que je soutiens
Robscape 2 de Ray
Les tests vidéo de Marmotti
Mes projets
Mes projets
Une dizaine de projets top secrets...

Timeless Remix Airwolf
"And the dream will never die..."
Positon Hors ligne Rédacteur Points: 2396 Défis: 57 Message

Citer : Posté le 05/10/2013 20:09 | #


Alphacreator a écrit :
Tu peu donner un mode d'emploi plus clair stp? j'ai pas tout compris et je pense que ça pourrait améliorer de nombreux jeux


+1, c'est fouillis
Alphacreator Hors ligne Membre Points: 1464 Défis: 43 Message

Citer : Posté le 05/10/2013 20:29 | #


Ok, vivement demain...
Alex BasicC Hors ligne Ancien modérateur Points: 1734 Défis: 83 Message

Citer : Posté le 05/10/2013 20:46 | #


Moi je pense avoir compris : au départ on a une liste de 14 cases qui correspond au sol du jeu : si sur la liste il y a un 0 on affiche un trou, si il y a un 1 on affiche un #.

On se retrouve avec une suite de 0 et de 1 qui se retrouve stocké dans une liste, un chiffre par case.
Ce que alex fait, c'est qu'il considère cette suite comme un nombre affiché en base 2.

ex si on veut afficher # # # # #### on stocke|1|0|1|0|0|1|0|1|0|0|1|1|1|1| dans la liste un .
Il considère cela comme un nombre 10100101001111 qui en décimal vaut 10575.

Quel que soit le nombre en binaire, s'il contient 14 chiffres, son équivalent en décimal en possède au maximum 5 (11111111111111_binaire=16383_décimal).
Or une variable peut retenir des nombres qui possèdent jusqu’à 16 chiffres, après le nombre est arrondis.

On peut donc stocker 3 nombres de 5 chiffres dans une variable : si on veut stocker 10575, 16383 et 0 dans la variable A et bien on fait 0+16383*10^5 + 10575*10^10 →A , on a donc A=105751638300000.
De plus si le nombre est un nombre complexe (du type a+b*i , i étant un nombre particulier(imaginaire) : i²=-1);la variable stocke jusqu'à 16 chiffres pour a et 16 pour B .

Un exemple pour finir si A=105751638300000 + 123451258712501i); A stocke pour nous 10575, 16383 , 0,12345,12587 et 12501, ce qui convertit en binaire donne 10100101001111, 11111111111111, 00000000000000, 11000000111001, 11000100101011 et 11000011010101 ce qui correspond à
contez le nombre de 0 et de 1
contez le nombre de 0 et de 1
16*6=84=42*2
cases
Alphacreator Hors ligne Membre Points: 1464 Défis: 43 Message

Citer : Posté le 05/10/2013 20:48 | #


Ok, je vais voir ça...
Drakalex007 Hors ligne Membre Points: 687 Défis: 0 Message

Citer : Posté le 06/10/2013 13:26 | # | Fichier joint


Voici ce que j'ai trouvé comme solution, qui n'est pas du tout compressée mais qui marche :

Je définis le niveau en 7 Str qui représentent chaque ligne, je fais une boucle qui retranscrit ce niveau en Matrice (si il y a rien, c'est 0, si il y a un # (piège) c'est 2 et si il y a autre chose c'est 1). Comme ça je peux mettre autant de caractères différents que je veux dans mon niveau, ils seront tous considérés comme blocs physiques (1). Ensuite je fais du scrolling avec ces 7 Str, mais je teste la collision grâce à la matrice.
Bon c'est pas compact parce que je vais prendre 10000 octets de Matrice pour ce programme x).
Mais bon j'ai rien compris à vos trucs de compression donc bon

Voilà j'ai mis en pièce jointe ce que ça donne si ça vous intéresse, il faut tout d'abord créer une matrice A de 7*66, ensuite il faut lancer d'abord INIT, puis MOTEUR2.

Ajouté le 06/10/2013 à 14:42 :
Et quelqu'un pourrait m'aider à faire un double saut ? Je me souviens plus du tout comment j'ai fait !


Alex_1186 Hors ligne Membre Points: 1215 Défis: 46 Message

Citer : Posté le 06/10/2013 15:14 | #


Voilà c'est exactement comme ça que j'ai fait pour SRJ!

Positon a écrit :
+1, c'est fouillis

Bah oui! Le but était de présenter le résultat pas de faire un mode d'emploi!

Bon AlexBasicC s'en est chargé pour moi... Si vous voulez une explication encore plus détaillée je veux bien créer un topic dédié et raconter en détails comment j'ai fait!

J'ai quelques précisions: en pratique ça marche pas complètement: j'ai pris 14 cases par 14 et pas 16 par 16 ou même 15 par 15 car la caltos peut arrondir spontanément même si l'on ne dépasse pas sa capacité! Exemple: 100000000000001 sera arrondi en 100000000000000 alors que 100000000000011 ne sera pas modifié.
Mon algorithme bug quand même des fois, il y a une map en particulier que j'ai du modifier parce qu'une case disparaissait sans cesse à la compression... Mais j'ai réduit ce risque au minimum je pense.


(c'est que je ne voudrais pas trop partir dans le HS... Vu que Drakalex ne semble pas trop intéressé par la compression, on n'est pas obligé de ne parler que de ça sur son propre topic... )
Projets que je soutiens
Projets que je soutiens
Robscape 2 de Ray
Les tests vidéo de Marmotti
Mes projets
Mes projets
Une dizaine de projets top secrets...

Timeless Remix Airwolf
"And the dream will never die..."

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