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 » Aide pour le convertisseur C-Engine
Fife86 Hors ligne Membre Points: 830 Défis: 0 Message

Aide pour le convertisseur C-Engine

Posté le 07/05/2016 21:37

J'ai créé un convertisseur .bat pour convertir les map.csv en txt. Au début j'ai fait ceci :


@echo off
setLocal EnableDelayedExpansion

echo const unsigned char * map[]={>>map.txt
for /f "tokens=* delims= " %%a in (map.csv) do (
set str="%%a",

set str=!str:10,=:,!
set str=!str:11,=;,!
set str=!str:12,=^<,!
set str=!str:13,==,!
set str=!str:14,=^>,!
.
.
.
set str=!str:76,=^|,!
set str=!str:77,=^},!
set str=!str:78,=^~,!



set str=!str:,=!
set str=!str!,

echo !str!>>map.txt
)

echo };>>map.txt


Pour avoir un résultat comme celui ci.

const unsigned char * map[]={
    "0000000000000000000000000000000000000000000000000000000000000000",      
"11111111111111111111111111111111111111111111111111111111111111111111111111",
};


Cependant j'était limité car je commençais à 48 et puis jusqu'a 125. Or un char est codé sur un octet donc 255 possibilités.

Est-il possible d'encoder des map pour avoir 255 tiles différents ?


Lephenixnoir En ligne Administrateur Points: 24145 Défis: 170 Message

Citer : Posté le 07/05/2016 23:09 | #


Bien sûr. Il suffit d'utiliser les 255 possibilités disponibles... et de les écrire en hexa plutôt qu'en texte. De 0x00 à 0xff, en somme... le script batch doit bien savoir faire ça ?
Mon graphe (24 Mars): (gint#27 ; (Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; ...) || (shoutbox v5 ; v5)
Fife86 Hors ligne Membre Points: 830 Défis: 0 Message

Citer : Posté le 08/05/2016 09:23 | #


La map je doit la coder comme cela ?

    const unsigned char * map[]={
    {0x00,0x00,0x00,0x00,0x00},
    {0x00,0x00,0x00,0x00,0x00},
    {0x00,0x00,0x00,0x00,0x00},
    {0x00,0x00,0x00,0x00,0x00},
    {0x01,0x01,0x01,0x01,0x01},
    };

It's Show Time !!!
Mes Jeux :
- Street Fighter : Pour les accrocs du free-fight.
- Kirby's DreamLand : Gobe , Gobe , Gobe !!!
- L'invasion Seanchans : Détruit la flotte ennemis a bord du "Danseur des vagues".


< Le recoin du C-Engine >
Lephenixnoir En ligne Administrateur Points: 24145 Défis: 170 Message

Citer : Posté le 08/05/2016 09:25 | #


Ben ça dépend de ton encodage, mais tu peux faire ça. Cela dit si tu veux pouvoir les passer facilement à des fonctions il vaut mieux se limiter à des tableaux simples et garder en mémoire la longueur d'une ligne.
const unsigned char map[] = {
        0x00, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x00,
        0x00, 0x00, 0x00, 0x00, 0x00,
        0x01, 0x01, 0x01, 0x01, 0x01,
};

Mon graphe (24 Mars): (gint#27 ; (Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; ...) || (shoutbox v5 ; v5)
Fife86 Hors ligne Membre Points: 830 Défis: 0 Message

Citer : Posté le 08/05/2016 09:58 | # | Fichier joint


Du coté du code C++, ça marche parfaitement avec le const unsigned char [], il ne me reste que à réécrire le .bat.

Convertisseur fini à la méthode gros bourrin
It's Show Time !!!
Mes Jeux :
- Street Fighter : Pour les accrocs du free-fight.
- Kirby's DreamLand : Gobe , Gobe , Gobe !!!
- L'invasion Seanchans : Détruit la flotte ennemis a bord du "Danseur des vagues".


< Le recoin du C-Engine >

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