Comme le titre l'indique, ce code est un jeu qui se joue à deux sur l'irc. Je précise que je n'ai pas inventé le jeu mais je l'ai codé
Cette remote est à ajouter à un bot (enfin c'est mieux)
Source / Exemple :
alias effacevar {
/unset %etape
/unset %joueur?
/unset %caillouj?
/unset %chiffrejoueur?
/unset %decision
/unset %choixj?
/unset %manche
/unset %sansgagnant
}
alias newmanche {
if (%caillou == on) {
/msg %salon %ccd Manche %manche : retournez me dire en pv combien de cailloux vous mettez en jeu. %ccf
/msg %salon %ccd Rappel : %joueur1 a %caillouj1 cailloux et %joueur2 a %caillouj2 cailloux
/msg %joueur1 %ccd Manche %manche : combien de cailloux mets-tu en jeu ? %ccf
/msg %joueur2 %ccd Manche %manche : combien de cailloux mets-tu en jeu ? %ccf
}
}
alias gobyconsole {
if (%trivia.mode == running) {
//echo 1,8 Un quizz est en cours, le jeu des trois cailloux ne peut pas être lancé en même temps
}
else {
/set %salon $$?"Lancer le jeu des trois cailloux sur quel salon ?(mettre le #)"
/set %caillou on
/msg %salon %ccd Le jeu des trois cailloux a été lancé à partir de la console de contrôle. Ce jeu se joue à deux joueurs. %ccf
/msg %salon %ccd Tapez !joueur pour vous inscrire et !sos pour avoir les règles %ccf
/set %etape cherchejoueur1
}
}
alias endbyconsole {
/set %caillou off
/effacevar
/msg %salon %ccd Le jeu des trois cailloux a été arrêté par la console de contrôle %ccf
}
on 1:start: {
/effacevar
/set %caillou off
/echo Contient le jeu des trois cailloux codé par I_am-ZE-DaHu
}
; %ccd correspond au couleur du début et %ccf à la fin
On 1:text:*:#:{
if ($strip($1) == !caillou) {
if (%caillou == off) {
/set %caillou on
/set %etape cherchejoueur2
/set %salon $chan
/msg $chan %ccd Le jeu des trois cailloux est lancé. Ce jeu se joue à deux joueurs. (jeu créé par I_am-ZE-DaHu) %ccf
/msg $chan %ccd Qui veut jouer avec $nick ? Tapez !joueur pour vous inscrire,!sos pour avoir les règles et !finish pour stopper le jeu %ccf
/set %joueur1 $nick
/set %caillouj1 3
/set %manche 1
}
else {
/msg $chan %ccd Le jeu des trois cailloux est déjà marche sur le salon %salon . %ccf
}
}
if ($strip($1) == !joueur) {
if ((%etape == cherchejoueur2) && ($nick != %joueur1)) {
/set %joueur2 $nick
/set %caillouj2 3
/set %etape pvcailloux
/msg $chan %ccd Ok, la partie va se jouer entre %joueur1 et %joueur2 %ccf
/msg $chan %ccd Le jeu commence, tapez !sos pour avoir les règles %ccf
/msg $chan %ccd Venez maintenant me voir en pv pour me dire combien de caillou vous mettez en jeu %ccf
/msg %joueur1 %ccd Combien de cailloux mets-tu en jeu ? %ccf
/msg %joueur2 %ccd Combien de cailloux mets-tu en jeu ? %ccf
}
if (%etape == cherchejoueur1) {
/set %joueur1 $nick
/msg $chan %ccd Ok, tu est inscrit $nick mais il faut encore un deuxième joueur. Tapez !joueur pour vous inscrire %ccf
/set %etape cherchejoueur2
}
}
if ($strip($1) == !sos) {
/msg $nick %ccd Chaque joueur dispose de trois cailloux. Le but du jeu est de s'en débarasser le premier. %ccf
/msg $nick %ccd A chaque manche, chaque joueur vient me dire en pv combien de caillou(x) il met en jeu ( dire : 0, 1, 2 ou 3)
/msg $nick %ccd Lorsque les deux joueurs ont fait cela, ils disent ensuite chacun leur tour sur le général combien de caillou(x) ils pensent qu'il y a en jeu en tout %ccf
/msg $nick %ccd Les deux joueurs ne peuvent pas dire le même chiffre. Lorsqu'un joueur devine combien de caillou(x) il y a en jeu en tout, il se débarasse d'un caillou jusqu'a la fin de la partie %ccf
/msg $nick %ccd Puis la manche recommence jusqu'à ce qu'un joueur n'ait plus de caillou dans sa main. Tapez !finish pour stopper le jeu. %ccf
}
if ($strip($1) == !finish) {
if (($nick == %joueur1) || ($nick == %joueur2)) {
/msg $chan %ccd Le jeu est terminé car $nick ne veut plus jouer %ccf
/set %caillou off
/effacevar
}
elseif ($nick == %master) {
/msg $chan %ccd Le jeu est terminé car %master ne veut pas qu'il continue %ccf
/set %caillou off
/effacevar
}
else {
/notice $nick %ccd Tu ne peux pas stopper le jeu car tu ne fais pas partie de ceux qui jouent , $nick %ccf
}
}
if (($strip($1) isnum) && (%etape == estimation)) {
if (($nick == %joueur1) && (%decision == %joueur1)) {
if ($strip($1) == $calc(%choixj2 - 2)) {
/msg $chan %ccd Tu ne peux pas choisir le même chiffre que %joueur2 %ccf
}
else {
/set %choixj1 $calc($strip($1) + 2)
if (!%choixj2) {
/msg $chan %ccd Maintenant, à %joueur2 de choisir %ccf
/set %decision %joueur2
}
if ((%choixj2) && (%choixj1)) {
/msg $chan %ccd OK, les deux joueurs ont fait leur estimation %ccf
if ($calc(%chiffrejoueur1 + %chiffrejoueur2) == %choixj1) {
/dec %caillouj1
if (%caillouj1 == 0) {
/msg $chan %ccd Le gagnant de la manche %manche est %joueur1 ! Il y avait bien $calc(%choixj1 - 2) cailloux en jeu
/msg $chan %ccd %joueur1 pose donc son dernier caillou %ccf
/msg $chan %ccd And the winner is.... %joueur1 ! %ccf
/msg $chan %ccd La partie est terminée %ccf
/effacevar
/set %caillou off
}
else {
/msg $chan %ccd Le gagnant de la manche %manche est %joueur1 ! Il y avait bien $calc(%choixj1 - 2) cailloux en jeu
/msg $chan %ccd %joueur1 pose donc un caillou, et n'en a plus que %caillouj1 %ccf
/set %decision %joueur1
}
}
elseif ($calc(%chiffrejoueur1 + %chiffrejoueur2) == %choixj2) {
/dec %caillouj2
if (%caillouj2 == 0) {
/msg $chan %ccd Le gagnant de la manche %manche est %joueur2 ! Il y avait bien $calc(%choixj2 - 2) cailloux en jeu %ccf
/msg $chan %ccd %joueur2 pose donc son dernier caillou %ccf
/msg $chan %ccd And the winner is.... %joueur2 ! %ccf
/msg $chan %ccd La partie est terminée %ccf
/effacevar
/set %caillou off
}
else {
/msg $chan %ccd Le gagnant de la manche %manche est %joueur2 ! Il y avait bien $calc(%choixj2 - 2) cailloux en jeu %ccf
/msg $chan %ccd %joueur2 pose donc un caillou, et n'en a plus que %caillouj2 %ccf
/set %decision %joueur2
}
}
else {
/msg $chan %ccd Aucun des deux joueurs n'a trouvé combien il y avait de cailloux en jeu. La réponse était $calc(%chiffrejoueur1 + %chiffrejoueur2 -2) %ccf
/inc %sansgagnant
if (%sansgagnant // 2) {
/set %decision %joueur1
}
elseif (%sansgagnant \\ 2) {
/set %decision %joueur2
}
}
/set %etape pvcailloux
/inc %manche
/timernewmanche 1 07 { /newmanche }
/unset %chiffrejoueur?
/unset %choixj?
}
}
}
elseif (($nick == %joueur2) && (%decision == %joueur2)) {
if ($strip($1) == $calc(%choixj1 - 2)) {
/msg $chan %ccd Tu ne peux pas choisir le même chiffre que %joueur1 %ccf
}
else {
/set %choixj2 $calc($strip($1) + 2)
if (!%choixj1) {
/msg $chan %ccd Maintenant, à %joueur1 de choisir %ccf
/set %decision %joueur1
}
if ((%choixj2) && (%choixj1)) {
/msg $chan %ccd OK, les deux joueurs ont fait leur estimation %ccf
if ($calc(%chiffrejoueur1 + %chiffrejoueur2) == %choixj1) {
/dec %caillouj1
if (%caillouj1 == 0) {
/msg $chan %ccd Le gagnant de la manche %manche est %joueur1 ! Il y avait bien $calc(%choixj1 -2) cailloux en jeu %ccf
/msg $chan %ccd %joueur1 pose donc son dernier caillou %ccf
/msg $chan %ccd And the winner is.... %joueur1 ! %ccf
/msg $chan %ccd La partie est terminée %ccf
/effacevar
/set %caillou off
}
else {
/msg $chan %ccd Le gagnant de la manche %manche est %joueur1 ! Il y avait bien $calc(%choixj1 -2) cailloux en jeu %ccf
/msg $chan %ccd %joueur1 pose donc un caillou, et n'en a plus que %caillouj1 %ccf
/set %decision %joueur1
}
}
elseif ($calc(%chiffrejoueur1 + %chiffrejoueur2) == %choixj2) {
/dec %caillouj2
if (%caillouj2 == 0) {
/msg $chan %ccd Le gagnant de la manche %manche est %joueur2 ! Il y avait bien $calc(%choixj2 - 2) cailloux en jeu %ccf
/msg $chan %ccd %joueur2 pose donc son dernier caillou %ccf
/msg $chan %ccd And the winner is.... %joueur2 ! %ccf
/msg $chan %ccd La partie est terminée %ccf
/effacevar
/set %caillou off
}
else {
/msg $chan %ccd Le gagnant de la manche %manche est %joueur2 ! Il y avait bien $calc(%choixj2 - 2) cailloux en jeu %ccf
/msg $chan %ccd %joueur2 pose donc un caillou, et n'en a plus que %caillouj2 %ccf
/set %decision %joueur2
}
}
else {
/msg $chan %ccd Aucun des deux joueurs n'a trouvé combien il y avait de cailloux en jeu. La réponse était $calc(%chiffrejoueur1 + %chiffrejoueur2 - 2) %ccf
/inc %sansgagnant
if (%sansgagnant // 2) {
/set %decision %joueur1
}
elseif (%sansgagnant \\ 2) {
/set %decision %joueur2
}
}
/set %etape pvcailloux
/inc %manche
/timernewmanche 1 07 { /newmanche }
/unset %chiffrejoueur?
/unset %choixj?
}
}
}
else {
/msg $chan %ccd Ce n'est pas à toi de jouer $nick %ccf
}
}
}
On *:TEXT:*:?:{
if (($strip($1) isnum) && (%etape == pvcailloux)) {
if (($nick = %joueur1) && (!%chiffrejoueur1)) {
if ($strip($1) <= %caillouj1) {
SET %chiffrejoueur1 $calc($strip($1) + 1)
/msg $nick %ccd Ok, tu as mis $strip($1) caillou en jeu %ccf
if (%chiffrejoueur1) && (%chiffrejoueur2) {
if (!%decision) {
/set %decision %joueur2
}
/set %etape estimation
/msg %salon %ccd OK les deux joueurs ont choisi. Maintenant %decision , combien penses-tu qu'il y a de caillou(x) en tout ? %ccf
}
}
elseif ($strip($1) > %caillouj1) {
/msg $nick %ccd Tu n'as que %caillouj1 caillou à mettre en jeu %ccf
}
}
if ($nick = %joueur2) && (!%chiffrejoueur2) {
if ($strip($1) <= %caillouj2) {
SET %chiffrejoueur2 $calc($strip($1) + 1)
/msg $nick %ccd Ok, tu as mis $strip($1) caillou en jeu %ccf
if (%chiffrejoueur1) && (%chiffrejoueur2) {
if (!%decision) {
/set %decision %joueur1
}
/set %etape estimation
/msg %salon %ccd OK les deux joueurs ont choisi. Maintenant %decision , combien penses-tu qu'il y a de caillou en tout ? %ccf
}
}
elseif ($strip($1) > %caillouj2) {
/msg $nick %ccd Tu n'as que %caillouj2 caillou à mettre en jeu %ccf
}
}
}
}
menu menubar {
$iif(%caillou == off, Jeu des trois cailloux (désactivé))
.$iif(%caillou == off, Activer):/gobyconsole
$iif(%caillou == on, Jeu des trois cailloux (activé))
.$iif(%caillou == on, Désactiver):/endbyconsole
}
Conclusion :
Règles du jeu :
Les deux joueurs disposent de trois cailloux. Le but du jeu est de s'en débarasser le premier.
A chaque manche, chaque joueur vient dire au bot en pv combien de caillou(x) il met en jeu ( dire : 0, 1, 2 ou 3)
Lorsque les deux joueurs ont fait cela, ils disent ensuite chacun leur tour sur le général combien de caillou(x) ils pensent qu'il y a en jeu en tout
Puis la manche recommence jusqu'à ce qu'un joueur n'ait plus de caillou dans sa main. Tapez !finish pour stopper le jeu.
Commandes :
- pour lancer le jeu , tapez !caillou . Vu que le jeu se joue à deux, le deuxieme joueur doit taper !joueur pour jouer avec celui qui a tapé !caillou
- pour dire combien de caillou vous mettez en jeu, dites simplement le chiffre dans le pv du bot quand il le vous demande
- pour dire combien de caillou vous pensez qu'il y a en jeu, dites simplement le chiffre dans le général quand le bot vous le demande
- pour avoir les règles du jeu tapez !sos
-pour stopper le jeu tapez !finish . Seul un des deux joueurs peut stopper le jeu ou la personne programmé dans la var %master
prévenez moi si il y a des bug mais j'ai deja testé et ça marche nickel
ceci est ma première création, excusez les erreurs que j'ai pu faire quelles qu'elles soient
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.