Forum FunLabyrinthe

Le jeu de labyrinthe fun et gratuit - Retour au site

  • Vous n'êtes pas connecté.

#1 nov. 10, 2012 21:59:39

DerF_44
De : Nantes
Enregistré : 2011-10-24
Messages : 271
Réputation: +  0  -
Profil   Envoyer un courriel  

Débutants

La petite colle du samedi soir :

Est-il possible (et si oui comment !!) de mixer les deux types de messages Format et Selection !??
Afin d'obtenir un truc dans le genre :

Player.ShowSelectionMsg(Format(
'Veux-tu acheter une notice FunDelphi de 800 pages pour %d €uros ?',['Oui', 'Non'],[NoticePrice]));


(°!°) DerF

Modifié DerF_44 (nov. 10, 2012 22:00:08)

Hors-ligne

#2 nov. 11, 2012 00:29:51

sjrd
De : Belgique
Enregistré : 2010-04-11
Messages : 481
Réputation: +  14  -
Profil   Envoyer un courriel  

Débutants

Oui. Format est une fonction qui rend le texte final. Le texte final peut être mis comme premier paramètre à ShowSelectionMsg :
Player.ShowSelectionMsg(
Format(
'Veux-tu acheter une notice FunDelphi de 800 pages pour %d €uros ?',
[NoticePrice]),
['Oui', 'Non']);


---
Sébastien Doeraene
Auteur de FunLabyrinthe

Hors-ligne

#3 nov. 11, 2012 01:26:23

DerF_44
De : Nantes
Enregistré : 2011-10-24
Messages : 271
Réputation: +  0  -
Profil   Envoyer un courriel  

Débutants

Extra !!.
Merci bien !


(°!°) DerF

Hors-ligne

#4 nov. 13, 2012 01:16:15

DerF_44
De : Nantes
Enregistré : 2011-10-24
Messages : 271
Réputation: +  0  -
Profil   Envoyer un courriel  

Débutants

J'ai deux questions saugrenues !!

La première, toute bête :
La ligne verticale à ne pas dépasser, dans l'éditeur de texte .fnd, n'a qu'une fonction esthétique, de lisibilité,
ou bien son non-respect peut nuire au bon déroulement du code ?..

La deuxième, vachement plus torride :
En partant du “principe”, de la “méthode”, de ce code :

ShowPermanentMessage(Player, 'Vive FunLabyrinthe !');
Master.Timers.ScheduleNotificationMsg(3000, Player, msgHidePermanentMessage);
N'y aurait-il pas un moyen, “relativement” simple, en se servant de Master.Timers,
d'adapter la chose pour un terrain, un effet, un obstacle ou un outil ????!!!!!!!!!!!
Poser un field particulier pendant un certain laps de temps (sans que le joueur soit immobilisé !)
me semble fascinant, et, il y a quelques temps, j'y était parvenu avec un chrono, mais je trouve l'utilisation
des chronos assez difficile à mettre en œuvre, surtout lorsque l'on souhaite en utiliser plusieurs avec des temps d'expirations différents !..

(Désolé d'être pénible !.. )


(°!°) DerF

Hors-ligne

#5 nov. 13, 2012 12:22:29

sjrd
De : Belgique
Enregistré : 2010-04-11
Messages : 481
Réputation: +  14  -
Profil   Envoyer un courriel  

Débutants

DerF_44
La ligne verticale à ne pas dépasser, dans l'éditeur de texte .fnd, n'a qu'une fonction esthétique, de lisibilité,
ou bien son non-respect peut nuire au bon déroulement du code ?..
C'est purement esthétique. C'est pour la lisibilité.
DerF_44
N'y aurait-il pas un moyen, “relativement” simple, en se servant de Master.Timers,
d'adapter la chose pour un terrain, un effet, un obstacle ou un outil ????!!!!!!!!!!!
Poser un field particulier pendant un certain laps de temps (sans que le joueur soit immobilisé !)
me semble fascinant, et, il y a quelques temps, j'y était parvenu avec un chrono, mais je trouve l'utilisation
des chronos assez difficile à mettre en œuvre, surtout lorsque l'on souhaite en utiliser plusieurs avec des temps d'expirations différents !..
Aucun problème. Tu remplaces le ShowPermanentMessage par
Map[3, 6, 5].Field := Grass;
Et dans l'expiration du timer, l'inverse, par exemple
Map[3, 6, 5].Field := Wall;


---
Sébastien Doeraene
Auteur de FunLabyrinthe

Hors-ligne

#6 nov. 13, 2012 12:57:07

DerF_44
De : Nantes
Enregistré : 2011-10-24
Messages : 271
Réputation: +  0  -
Profil   Envoyer un courriel  

Débutants

Je suis scotché de la simplicité de la réponse, mais…
Je n'arrive pas à “conjuguer” correctement la chose !..
Pourrais-tu préciser stp, je ne sais pas comment fonctionne le Master.Timers !.
D'avance merci !


(°!°) DerF

Hors-ligne

#7 nov. 13, 2012 13:26:06

sjrd
De : Belgique
Enregistré : 2010-04-11
Messages : 481
Réputation: +  14  -
Profil   Envoyer un courriel  

Débutants

Master.Timers.ScheduleNotificationMsg(Delay, Dest, msgUnMessage) programme une alarme (un réveil) qui agira dans Delay millisecondes. À ce moment, le composant Dest recevra le message UnMessage. C'est-à-dire que le on message UnMessage do de ce composant s'exécutera. C'est tout ce que fait le timer.

Donc pour réagir à ce UnMessage, il faut un plugin attaché au joueur qui ait :
on message UnMessage do
begin
Map[3, 6, 5].Field := Wall;
end;
Le UnMessage doit avoir été déclaré au début avec
messages
UnMessage: TPlayerMessage = 456;
avec un nombre unique.

Est-ce que c'est plus clair ?


---
Sébastien Doeraene
Auteur de FunLabyrinthe

Hors-ligne

#8 nov. 13, 2012 14:17:39

DerF_44
De : Nantes
Enregistré : 2011-10-24
Messages : 271
Réputation: +  0  -
Profil   Envoyer un courriel  

Débutants

Absolument, parfaitement clair !!!
Ce qui prêtait à confusion c'est le concept de Message (pas forcément un String balancé au Player !)..
Deux minutes pour poser le code, + trois pour l'adapter à mon projet et zou, ça roule !.
C'est absolument géant !!!
Et hop, encore un champ d'exploration (gigantesque !!),
source d'une multitude d'idées (mon pauvre crâne !), à expérimenter !!
Merci beaucoup sjrd !
Je ne me lasserai jamais d'affirmer que ton logiciel est vraiment, vraiment GÉNIAL !!

Le nombre unique du TPlayerMessage c'est juste un référencement, cela peut être n'importe quel nombre !?

Encore merci !





(°!°) DerF

Hors-ligne

#9 nov. 13, 2012 16:02:27

sjrd
De : Belgique
Enregistré : 2010-04-11
Messages : 481
Réputation: +  14  -
Profil   Envoyer un courriel  

Débutants

Oui ça peut être n'importe quel nombre (entre 1 et 32 000 et des poussières ^^)


---
Sébastien Doeraene
Auteur de FunLabyrinthe

Hors-ligne

#10 nov. 13, 2012 18:09:34

DerF_44
De : Nantes
Enregistré : 2011-10-24
Messages : 271
Réputation: +  0  -
Profil   Envoyer un courriel  

Débutants

Ok d'ac, merci.
(C'est bon, ça laisse une certaine marge 32000 !!! )


(°!°) DerF

Hors-ligne

Pied de page

Modération

Powered by DjangoBB

Lo-Fi Version