Rechercher - Liste des utilisateurs
Version complète : Nouvelle unité : Money
Accueil » FunDelphi » Nouvelle unité : Money
1 2 3 4 5 6 7
DerF_44
Impossible à poser le “on AfterConstruction do” où que je le mette (et je sais pas où, juste après “Tool TRandomPurse” puis le nom, l'image etc.. et avant le “on find do” ???) il m'annonce à chaque fois : ntMethodBody attendu mais inherited trouvé

( désolé d'être aussi peu perspicace !)

Quant aux MovingMonster, je n'arrive plus à retrouver la discu, et je me souviens d'une tentative d'ouverture d'un projet (via le gestionnaire de projets) où il ne trouvait pas l'unité !?… Où sont-ils ces MovingMonster, je voudrais les voir !!

Le temple de l'eau : Mais, dis-moi…. Aucun être humain ne peut le résoudre !!!!!!!!!!!!!!???
(Déjà moi, avec la soluce c'est du job !!..)
En tous cas très belle démonstration technique !
DerF_44
Allez, une petite dernière demande d'info,
(après je te laisse tranquille quelques semaines jours heures !! )

Comment puis-je faire une property où la valeur ne peut être que “true” ou “false” !?..
L'idée est de pouvoir déterminer si le marchand reste ou bien s'en va après avoir écoulé son stock d'objets à vendre !..

Merci.



sjrd
DerF_44
Impossible à poser le “on AfterConstruction do” où que je le mette (et je sais pas où, juste après “Tool TRandomPurse” puis le nom, l'image etc.. et avant le “on find do” ???) il m'annonce à chaque fois : ntMethodBody attendu mais inherited trouvé
Ah bah oui c'est pas qu'il manque un begin… ma faute.
on AfterConstruction do
begin
inherited;
EditVisualTag := 'bla';
end;
DerF_44
Le temple de l'eau : Mais, dis-moi…. Aucun être humain ne peut le résoudre !!!!!!!!!!!!!!???
(Déjà moi, avec la soluce c'est du job !!..)
En tous cas très belle démonstration technique !
Si si des gens l'ont réussi Mais bon c'est pas un “Très difficile” pour rien
DerF_44
Comment puis-je faire une property où la valeur ne peut être que “true” ou “false” !?..
L'idée est de pouvoir déterminer si le marchand reste ou bien s'en va après avoir écoulé son stock d'objets à vendre !..
property LeaveWhenNoStock: Boolean;
DerF_44
Merci !.. (Ahh oui, ‘Boolean’ !.. J'aurais presque pu deviner !)
J'ai presque fini le Money.fnd nouvelle version !

Me manque que la ligne où, après avoir vérifié que la condition LeaveWhenNoStock = True,
l'obstacle Marchant disparaît !

Comment faire ça !??..

MàJ message :
J'ai trouvé !!..
Square.Tool := nil;
Je suis balaise quand même !…
Voilà, 2 ou 3 détails à vérifier, et, ce soir, tu auras une nouvelle unité “Money” (et ses images) pour la Library de ton FunLabyrinthe !!
DerF_44
C'est OK !..

Voici donc le .fnd “Money” et ses 4 imagettes !…
(fichier "Money.fnd" à poser dans FunLabyrinthe/Library/Sources/GenericSquares et les 4 images dans FunLabyrinthe/Library/Resources/Images/Money)

Je posterai un micro-Laby d'exemple un peu plus tard…
Encore merci sjrd pour toutes les infos fournies.
DerF_44
Voici, ci-joint, un mini-Laby d'exemple qui utilise l'unité Money..



Des pièces d'or, 2 bourses et 2 marchands..
Les pièces uniques, évidemment, ont chacune une valeur unique de 1 pièce d'or (étonnant non !?).
Les 3 pièces sont configurables et sont réglées dans l'exemple à 5 pièces d'or.
La bourse de gauche, configurable, contient 5 pièces d'or.
La bourse de droite est une bourse au contenu aléatoire, le réglage de la valeur maximum est ici fixé à 10 pièces d'or.
Le marchand devant le bloc d'argent vend des clés d'argent à 3 pièces d'or l'unité, et s'en va lorsqu'il a vendu tout son stock réglé ici à 3 clés.
L'autre marchand vend une unique bouée au prix de 10 pièces d'or, et reste sur place après la vente.
Il faudra donc (3*3)+10= 19 pièces d'or pour sortir..
Nous sommes sûr de trouver 5+5+1+1= 12 pièces, mais si la bourse aléatoire ne contient que 6 pièces ou moins, il faudra trouver une autre bourse qui est pas loin..
Dans le mode d'édition voici les réglages possibles par l'inspecteur d'objets :
Marchand :
LeaveWhenNoStock : à True, le marchand disparait après écoulement de son stock.
ObectDef : Défini l'objet à vendre
ObjectMax : Quantité d'objets à vendre que possède le marchand, autrement dit son stock.
Price : Prix unitaire de l'objet à vendre
Pièces d'or :
NbCoins : Nombre de pièces
Bourse :
NbCoinsInPurse : Nombre de pièces que contient la bourse
Bourse aléatoire :
MaxCoinsInRandomPurse : Nombre maximum de pièce que peut contenir la bourse (minimum = 1)

Puissiez-vous trouver la richesse sur les chemins tortueux de FunLabyrinthe !.

Xaumina
Euh oui désolé si c'est un peu compliqué à manier, mon unité…
DerF_44
Xaumina
Euh oui désolé si c'est un peu compliqué à manier, mon unité…

En tous cas un grand merci à toi Xaumina, c'est avec ton unité que je me suis inspiré pour pondre la “mienne” plus adaptable et plus pratique à mettre en place..
DerF_44
Encore “une” petite question technique…

Je fais un effet qui a pour but de faire abandonner un outil au joueur (je vois mal un joueur équipé d'une planche, de 30 clé d'argent, d'un Kilo d'or, d'une brouette, d'une hache, d'une épée et d'une caisse de bananes, sauter allègrement d'une berge à un train qui roule !!!)
j'ai donc :

effect TClearObject
name 'Pose d'objet';
property ObjectDef : TObjectDef;

on Execute do
begin
Player.ShowMessage (Format(
'Impossible de continuer avec des %s , faut les laisser sur place..',[ObjectDef.Name]));
If Player has at least 1 ObjectDef then
begin
Player discards 1 ObjectDef;
Square.Object := ObjectDef; //-------------------------------???
end else
Exit;
end;
end;

Alors, ma première question : Comment poser sur la case l'objet dont le joueur se débarrasse !?..
Square.Object := ObjectDef ne fonctionne pas et j'ai testé plusieurs variantes …
Deuxième question : Player.ObjectDef := 0; ne fonctionne pas, pourtant c'est pratique si le joueur possède plusieurs même objets !…
Voilà, je patauge un peu là, et si en un centième de seconde une soluce apparaît, je suis preneur !..
DerF_44
Bon, j'ai un peu progressé :

effect TClearObject
name 'Pose objet';
property ObjectDef : TObjectDef;

on Execute do
begin
if Player has at least 1 ObjectDef then
Player.ShowMessage (Format
('Impossible de continuer avec des %s faut les laisser sur place..',[ObjectDef.Name]));

while Player has at least 1 ObjectDef do
begin
Player discards 1 ObjectDef;
end;
Exit;

end;
end;

Grâce à la boucle “while” j'épuise le stock d'objets que possède le joueur, ça c'est ok…
Me reste à pouvoir poser UN objet sur la case !… Et là grand mystère pour moi !..
Ma dernière idée étant Map |Player.position|.Tool := ObjectDef; mais “types incompatibles” …
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB