|
Posté le 16-01-2018 à 19:40 | # | Fichier joint
|
Pour ceux que ça intéressent, dans la pièce jointe il y a le moyen d'accéder sans jouer au mode hardcore!
|
|
|
Posté le 17-01-2018 à 06:00 | #
|
Hey !
Concernant l'initialisation de la matrice, une astuce assez simple consiste à utiliser les listes via des noms. Ça permet d'initialiser automatiquement le jeu sans pour autant casser les configs d'autres jeux (sauf si ils utilisent le même nom de liste, mais ça serait pas de bol).
Exemple :
0→List "SPEEDWAR"[1] // On initialise une liste. Par défaut le système en prend une vide, d'où l'intérêt d'utiliser les noms
If Dim List "SPEEDWAR" = 1
Then // initialiser la matrice, le programme est lancé pour la première fois
IfEnd
0→List "SPEEDWAR"[2] // On ajoute une valeur à la liste. On peut éventuellement utiliser cette valeur pour autre chose, le tout c'est qu'elle soit présente
J'ai pas testé oncalc, mais dans la théorie c'est censé marcher. Si t'as des problèmes, hésite pas, on débugguera |
|
|
Posté le 17-01-2018 à 06:37 | #
|
Je ne crois pas que ça marche, Darks : tu ne peux pas utiliser Dim si la liste est vide. Le mieux à faire c'est du surveiller la première valeur parce qu'elle est automatiquement initialisée à 0 quand on touche au nom de la liste :
[Nouvelle partie]
1→List "SPEEDWAR"[1]
[Reprendre la partie]
# On change le nom pour remplir la case
# 1 si la liste est vide
"SPEEDWAR"→List "SPEEDWAR"
If List "SPEEDWAR"[1]:Then
# La sauvegarde existe
Else
# La sauvegarde n'existe pas
EndIf |
|
|
Posté le 17-01-2018 à 06:52 | #
|
Je rajoute min grain de sel en précisant que pour assigner un nom à une liste c’est:
« SPEEDWAR » -> liste 1[ 0 ]
|
|
|
Posté le 17-01-2018 à 14:12 | #
|
Oui, mais là ce n'est pas la forme la plus intéressante. D'une part tu peux te passer du [0] (histoire de gagner quelques octets) :
"SPEEDWAR"→List 1
D'autre part tu ne veux pas avoir à spécifier le numéro de la liste pour qu'elle soit choisie dynamiquement parmi les listes disponibles. D'où :
"SPEEDWAR"→List "SPEEDWAR"
Par contre ouais, pour lire la chaîne après coup, c'est bien List _[0]. |
|
|
Posté le 17-01-2018 à 17:36 | #
|
Après test on-calc, je confirme que mon code fonctionne parfaitement
En gros j'initialise la liste histoire qu'elle ai une dimension au moins égale à 1. Après la première exécution, j'ajoute une valeur pour que sa dimension passe à 2. C'est là dessus que je me base pour ensuite savoir si c'est la première exécution ou non. |
|
|
Posté le 17-01-2018 à 18:34 | #
|
Wow, beaucoup de commentaires!
Je ne comprends pas le problème que vous me signalez à mon code si ce n'est qu'une précision que vous voulez ajouter...
En quoi sera-t-il amélioré dans ce cas-là (ce prg est vieux et j'ai la flemme de revérifire chaque ligne de code )
Sinon merci |
|
|
Posté le 17-01-2018 à 19:15 | #
|
Cette méthode te permettrait de détecter automatiquement si la matrice existe ou n'existe pas et de la créer toi-même si elle n'existe pas (sans la supprimer si elle existe). En bref, tu évites à ton utilisateur d'installer la matrice lui-même. Cela dit ce serait peut-être plus adapté pour un autre de tes jeux, D64. Celui-ci ne fait pas de mention d'une matrice... |
|
|
Posté le 17-01-2018 à 19:16 | #
|
Merci bcp parceque j'ai plein de prgs non-postés et que je cherchais une solut de ce type là pour certains d'entre eux!!!!! |
|
|
Posté le 17-01-2018 à 19:35 | #
|
Ah oui, en effet, je me suis planté de programme.
Enfin, l'astuce fonctionne quand même x) |
|