Le jeu de labyrinthe fun et gratuit - Retour au site
Player.LifePoints := Player.LifePoints /2;
Hors-ligne
Modifié sjrd (jan. 3, 2012 12:27:17)
Hors-ligne
Hors-ligne
Hors-ligne
Master.Map['IDDeLaMap'].Map[Point3D(5, 4, 2)]
Hors-ligne
Hors-ligne
Master.Map['MaCartePerso'].Map[Point3D(5, 5, 3)].Effect := MonEffet;
if Player.Tag = 666 then
Player.Lose;
else
Player.ShowMessage('Tu es vivant !');
end;
if Player.Tag = 123 then
if PluginAleatoire.EmplacementDeLaCle = 1 then
Master.Map['MaCartePerso'].Map[Point3D(1, 1, 1)].OBJECTmachin := GOLDENKEY(S);
if PluginAleatoire.EmplacementDeLaCle = 2 then
Master.Map['MaCartePerso'].Map[Point3D(10, 1, 1)].OBJECTmachin := GOLDENKEY(S);
............etc
end;
end;
Modifié DerF_44 (mai 31, 2012 07:21:26)
Hors-ligne
DerF_44
Ok, et si je veux poser une clé d'or à la place de MonEffet !!??..
C'est pas (encore) très clair ces histoires de ObjectDef ou ObjectTool !..
.Tool := GoldenKey;
DerF_44Non ce n'est pas correct. Il ne faut pas de ; avant le else. Et il n'y a pas de end; à la fin. Les end vont avec les begin.
Est-ce correct ???.. Et si j'ai plusieurs lignes d'instructions dois-je poser “begin“ et ”end else” ?!.
if Player.Tag = 666 then
Player.Lose
else
Player.ShowMessage('Tu es vivant !');
if Player.Tag = 666 then
begin
Player.Lose;
end else
begin
Player.ShowMessage('Tu es vivant !');
end;
begin
Player.Lose;
end
begin
Player.ShowMessage('Tu es vivant !');
end
DerF_44Une var avec un Random est le plus approprié. Pour chaîner des if tu mets else if à partir du second :
J'ai une salle carrée avec 4 angles…(si si !) Je voudrais poser une clé d'or dans un seul des 4 angles de manière aléatoire !!!!
Et je ne sais comment m'y prendre !.. Dois-je contruire un plugin qui gèrera une property “EmplacementDeLaCle” ?.. Un effet ?.. des var ?????
Dans le cas d'un plugin, et de sa property EmplacementDeLaCle := Random(4)+1 j'aurais un truc du genre :
var
EmplacementDeLaCle: Integer;
[...]
EmplacementDeLaCle := Random(4) + 1;
if EmplacementDeLaCle = 1 then
Master.Map['MaCartePerso'].Map[Point3D(1, 1, 1)].Tool := GoldenKey
else if EmplacementDeLaCle = 2 then
Master.Map['MaCartePerso'].Map[Point3D(10, 1, 1)].Tool := GoldenKey
else if EmplacementDeLaCle = 3 then
Master.Map['MaCartePerso'].Map[Point3D(1, 10, 1)].Tool := GoldenKey
else
Master.Map['MaCartePerso'].Map[Point3D(10, 10, 1)].Tool := GoldenKey;
if EmplacementDeLaCle = 3 then
Master.Map['MaCartePerso'].Map[Point3D(1, 10, 1)].Tool := GoldenKey
else
Master.Map['MaCartePerso'].Map[Point3D(10, 10, 1)].Tool := GoldenKey
case EmplacementDeLaCle of
1: Master.Map['MaCartePerso'].Map[Point3D(1, 1, 1)].Tool := GoldenKey;
2: Master.Map['MaCartePerso'].Map[Point3D(10, 1, 1)].Tool := GoldenKey;
3: Master.Map['MaCartePerso'].Map[Point3D(1, 10, 1)].Tool := GoldenKey;
4: Master.Map['MaCartePerso'].Map[Point3D(10, 10, 1)].Tool := GoldenKey;
end;
Modifié sjrd (mai 31, 2012 10:54:59)
Hors-ligne
.Tool := GoldenKey;Of course !!! Quel boulet je fais !!!.. Tu serais MDR de voir tout ce que j'ai pu tester sur ce sujet !!!
Une var avec un Random est le plus approprié. Pour chaîner des if tu mets else if à partir du second :Alors là, puisque nous sommes dans une rubrique "Débutants" je me permets une remarque qui a tout son intérêt ici : Amis développeurs en FunDelphi :
En l'occurrence, tu peux simplifier grandement ceci avec un case :Ça me plaît beaucoup ce case !. Je l'ai déjà utilisé, sur tes conseils, dans une procedure (CompartmentDestination(Player:TPlayer)) mais la méthode me paraissait complexe pour oser la réutiliser.. Tandis que là, c'est clair, net et précis !.. Géant !!
Modifié DerF_44 (mai 31, 2012 13:41:46)
Hors-ligne
Player.ShowMessage('Ligne 1'+#10+'Ligne 2'+#10+'Ligne3');
Player.ShowMessage('Ligne 1'+#11+'Ligne 2'+#11+'Ligne3');
Modifié DerF_44 (juin 1, 2012 13:05:20)
Hors-ligne