Bon, j'ai créé un petit éditeur de niveau pour le ladyBug. C'était surtout pour avoir des textures sous la patte

Je l'ai fait partir de ce petit tuto qui aurait bien sa place dans la rubrique Tuto de ce forum (Au passage j'ai convertis les codes de comtois pour la 4.30, bon y'a pas grand chose à modifier.)
Voici le code (Le code de la sauvegarde est fonctionnel) :
Code : Tout sélectionner
Global Dim TableauMap(12, 12)
Procedure Sauver()
; Sauvegarde de la Map sous ce format :
; 1111111111111
; 1444244444441
; 1424242222241
; 1424242444241
; 1424444424441
; 1422242224241
; 1444444444241
; 1424224244241
; 1424444444241
; 1422224222241
; 1444444444441
; 1111111111111
Protected ligne.i, colonne.i
If CreateFile(0, "niveau1bis.map")
; Fonctionnel
For ligne = 0 To 12
For colonne = 0 To 12
TableauMap(colonne, ligne) = Random(4) ; Pour simuler des id de texture.
If colonne <> 12
WriteString(0, Str(TableauMap(colonne, ligne)))
Else
WriteStringN(0, Str(TableauMap(colonne, ligne)))
EndIf
Next colonne
Next ligne
; Solution 2 opérationnelle.
; For ligne = 0 To Map\TailleY - 1
; For colonne = 0 To Map\TailleX - 1
;
; WriteStringN(0, Str(TableauMap(colonne, ligne)))
;
; Next colonne
; Next ligne
CloseFile(0) ; ferme le fichier précédemment ouvert et enregistre les données
Else
MessageRequester("Information","Impossible de créer le fichier!")
EndIf
EndProcedure
; Génère le fichier Map.
Sauver()
Procedure Charger()
Protected ligne.i, colonne.i
Protected a$
Protected Resultat.i
If OpenFile(0, "niveau1bis.map")
For ligne = 0 To 12
For colonne = 0 To 12
;??????????????????????????????????????????????????
Next colonne
Next ligne
;; Solution 2 opérationnelle.
; For ligne = 0 To Map\TailleY - 1
; For colonne = 0 To Map\TailleX - 1
;
; a$ = ReadString(0)
; Resultat = Val(a$)
; ;Debug Resultat
;
; TableauMap(colonne, ligne) = Resultat
;
; Next colonne
; Next ligne
CloseFile(0)
EndIf
EndProcedure
Ce que je voulais surtout, c'est que les données soient écrites en clair, pas charabia de binaire.
Dans mes 2 procédures il y a une autre solution que j'ai utilisé et qui fonctionne en enregistrant chaque donnée sur une ligne (1 donnée = 1 ligne).
Mais je préfèrerais l'autre solution plus compacte et mieux visuellement.
Au début je m'étais dit, les doigts dans le nez, ça va être fastoche à faire, et ben hélas non

Si une âme charitable passait par-là.
Bye.