En fait dans la réalisation de mon jeu de plateforme 2D, j'aurais besoin de gérer des evenements sur une "map" composée de tiles . (Ex: Collisions, Teleporteur ...)
Donc je me suis dit que la meilleure façon de préremplir un tableau c'est d'utilliser les Datas ... ( Si je me trompe dites le moi tout de suite )
Or je ne sais point comment fonctionnent les Datas .
Quelqu'un pourrais t-il m'expliquer , SVP ?
PS: J'ai déja regardé dans l'aide de Purebasic, et je ne suis pas avancé !
Le mieux ca reste les fichiers... avec les datas tu vas galérer...
commence par bien décider de la gestion de tes évennements... de tous les types d'évennements et vois comment tu peux les stocker...
En fait chaque case du tableau vaudra 1 si c'est une collision , 0 si il n'y a rien et ainsi de suite . Je me suis dit que le plus simple moyen de gérer tout ça c'était d'utilliser un tableau à double entrées .
Pour des collisions c'est sûr, ca suffit amplement mais comme tu parlais d'évennements au sens large comme la téléportation... Je te conseille de bien délimiter les actions possibles...
Avec les quelques tests que j'ai fait, je n'ai pas vu de différence de taille entre un programme avec une datasection et un tableau initialisé de cette manière. Du point de vu performance c'est négligable les 2 sont identiques. Mais il faut faire ReadData directement. Si tu prend le temps de prendre les datas de les mettre en place dans un tableau et de l'utiliser par la suite il va y avoir une différence entre les 2 méthodes.
Si tu as une structure de données pour gérer les évenements de tes maps je te suggère de faire un Éditeur en plus de ton jeu et de réutiliser la même structure dans les 2 programmes. L'éditeur va doit savoir lire et écrire le fichier *.map disons alors que ton jeu lui doit seulement savoir lire le fichier.
En fait pour le moment c'est juste pour tester le moteur de deplacement de mon personnage sur une map .
EDIT: J'avais pas vu ton post Guimauve, ben en fait mes maps sont dans le format .fmp de Mappy (CF: Le tuto que j'ai fait sur le .fmp) donc j'ai déja tout pour l'afficher et l'editer .
Mais vu que le format existe déja je me suis dit que je n'allais pas recréer un nouveau format .
Les évenements seront dans un 2ème ficher à côté .
Non,
Je ne manipule pas vraiment bien les fichiers et puis le format .FMP je l'utillise car j'ai trouvé sur le net un code permettant de l'utilliser avec Purebasic .
En fait je demandais comment proceder pour remplir un tableau avec des "datas" mais vous m'avez dit que ce n'était pas la meilleure solution ...
Je me retourne donc vers la 2ème solution : mettre le tableau dans un fichier .
J'ai pas encore lu la doc sur le sujet mais ...
Est-ce compliqué ?
Dim Montableau.b(100)
For Index = 0 To 100 Step 3
Montableau(Index) = 1
Next
If CreateFile(0,"Monfichier.dat")
WriteByte(100)
For Index = 0 To 100
WriteByte(Montableau(Index))
Next
CloseFile(0)
EndIf
; On vide le tableau
Montableau(0)
If ReadFile(1,"Monfichier.dat")
NbElement.b = ReadByte()
Montableau(NbElement)
For Index = 0 To NbElement
Montableau(Index) = ReadByte()
Next
CloseFile(1)
EndIf
For Index = 0 To 100
Debug Montableau(Index)
Next
Le premier WriteByte() sert à écrire dans le fichier la dimension du tableau juste avant la création du fichier. C'est plus ou moins utile si le tableau à toujours la même dimension. Exemple le tableau à toujours 100 index peut importe la map chargé par exemple.
Bien sûr il faut savoir combien d'élément tu as besoin. Dans l'exemple il n'y a que 100 éléments dans le tableau donc une variable de type Byte est suffisant pour faire le travail. Parcontre s'il y a 10 000 éléments une Variable de type Word va faire l'affaire. Et s'il y en a plus, une variable de type Long sera nécessaire.
Bien sur c'est totalement indépendant du type de tableau.