Bonjour je suis en ce moment en train d'essayer de créer un petit jeu du style "RPG" avec Delphi pour connaître les caractéristique des joueurs et desennemis j'utilise un fichier "INI" voici le bout de code qui ne marche pas :Voici maintenant le fichier ini :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 procedure TZonecombat.FormShow(Sender: TObject); var // je définit mes variables FileIni : TIniFile; niv : Integer; //variablequi permet de savoir à quel niveau on est nom_clef : String;//variable qui sert à choisir la sectiondu ini en onctiondu niveau nom_clef_nom : String; nombre_1 : Integer;//contient le nombre d'ennemi du type 1 nombre_2 : Integer;// du type 2 nombre_3 : Integer;// et enfin 3 nombre : Integer;//nombre total d'ennemi nom_1 : String;//nombre d'ennemi du type 1 nom_2 : String;//2 nom_3 : String;//et 3 test : Integer; begin FileIni:=TIniFile.Create('C:\Program Files\ben corp\cache\file.ini');//je prend le fichier ini niv := jeu.niveau;//je récupère le niveau qui est situé sur la form 'jeu' nombre :=StrToInt(FileIni.ReadString(IntToStr(niv), 'nb_ennemi' ,''));//je recupere le nombre total d'ennemi nombre_1:=StrToInt(FileIni.ReadString(IntToStr(niv), 'nb_ennemi_1' ,''));//je regarde le nombre dennemi du type 1 nom_1:=FileIni.ReadString(IntToStr(niv), 'nom_ennemi_1' ,'');//et je prend leur nom if nombre_1 = nombre then begin //Si le nombre total d'ennemi est égal au nombre dennemi du type 1 alors on s'arret c'est qu'il n'y a qu'un seul type d'ennemi dans ce niveau Label1.Caption:= 'Vous devez tuer '+IntToStr(nombre_1)+' '+nom_1;//on met à jour le label1 : vous devez tuer x ennemies de noms machin end else begin//tout ce qui suit est identique sauf que c'est pour ajouter le nom et le nombre d'ennemi quand il y a deux ou trois type d'ennemi nombre_2:=StrToInt(FileIni.ReadString(IntToStr(niv), 'nb_ennemi_2' ,'')); nom_2:=FileIni.ReadString(IntToStr(niv), 'nom_ennemi_2' ,''); test:= nombre_1 + nombre_2; if test =nombre then begin Label1.Caption:= 'Vous devez tuer '+IntToStr(nombre_1)+' '+nom_1+' et '+IntToStr(nombre_2)+' '+nom_2; end else begin nombre_3:=StrToInt(FileIni.ReadString(IntToStr(niv), 'nb_ennemi_3' ,'')); nom_3:=FileIni.ReadString(IntToStr(niv), 'nom_ennemi_3' ,''); Label1.Caption:= 'Vous devez tuer '+IntToStr(nombre_1)+' '+nom_1+', '+IntToStr(nombre_2)+' '+nom_2+' et '+IntToStr(nombre_3)+' '+nom_3; end; end; end;Maintenant le problème toute mes variables qui doivent contenir des données récupéré du fichier ini sont soit égal a '' ou a 0 pour les int
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 [section caracteristiques] nom_personnage = Cloud niveau_personnage = 1 points_de_vie = 100 niveau = 1 [1] nb_ennemi = 5 nom_ennemi_1 = mosquito nb_ennemi_1 = 4 nom_ennemi_2 = Mickael la tortue nb_ennemi_2 = 1 [Mickael la tortue] defense = 17 force = 12 point_de_vie_max = 100 argent = 25 objet = potion [mosquito] defense = 2 force = 15 point_de_vie_max = 25 argent = 5 objet = 0
Merci de m'aider
Partager