Jeu : deviner un nombre (pour bot)

Soyez le premier à donner votre avis sur cette source.

Vue 9 947 fois - Téléchargée 802 fois

Description

Ma fois, ceci est mon deuxième jeu que j'ai crée. Il consiste à deviner un nombre choisi au hasard parmi un intervalle que l'on détermine.
On peut aussi bien jouer sur un Channel contre tous, que seul en PV

Le script est à installer sur le mIRC du bot.

Source / Exemple :


;********* MENU *********

menu * {
  Jeu NOMBRE
  . pour channels
  ..ACTIVATION DU JEU:/enable #nombre
  ..DEACTIVATION DU JEU:/disable #nombre
  .en PV
  ..ACTIVATION DU JEU:/enable #pvnombre
  ..DEACTIVATION DU JEU:/disable #pvnombre
}

;* AVERTISSEMENT CHARGEMENT *

ON *:LOAD:echo -a Installation de mon jeu terminé! Amusez vous bien !
ON *:UNLOAD:echo -a Désinstallation de mon jeu terminée, à bientôt !

;***** JEU DE SALON *****

#nombre on
on *:text:*:#:{
  if (!$hget(nombre,essai) && $hget(nombre,commencer)) { hadd -m nombre essai 0 }
  if ($1 == !nombre && !$hget(nombre,commencer)) { 
    hadd -m nombre commencer 1
    msg $chan 6Pour connaître les règles du jeu, tapez 4!helpn
    msg $chan 6NOMBRE PROGRAMME PAR 7 SHIRYA 6, CHANNEL MASTER DE 7 #gothiks
    msg $chan 6TROUVER UN NOMBRE ENTRE 1 ET LE NIVEAU DE DIFFICULTE CHOISI!
    hadd -m nombre master $address($nick,4)
    hadd -m Stage 1 10 | hadd -m Stage 2 50 | hadd -m Stage 3 100
    hadd -m Stage 4 250 | hadd -m Stage 5 500 | hadd -m Stage 6 1000
    hadd -m Stage 7 5000 | hadd -m Stage 8 10000 | hadd -m Stage 9 15000
    hadd -m Stage 10 100000
  }
  elseif ($1- == !suite) {
    if ($hget(nombre,stage) == 10) { timer 1 3 msg $chan 7 $+ $nick $+  : 6 OMFG... Ben j peu pas faire plus dur... =P Plus dur que ça, c'est le mariage... ^^
      hfree nombre | hfree stage
    msg $chan 6 Jeu des nombres programmé par 7 SHIRYA ! 6Merci d'avoir joué ! A bientôt :) RAPPEL: pour jouer en PV, faire:  4!pvnombre  6en privé. }
    else { timer 1 3 msg $chan 7 $+ $nick $+  : 6 On change de stage maintenant :)
      hinc nombre stage
      if ($hget(nombre,stage) isnum 2-10) {
        hadd -m nombre essai 0 | hadd -m nombre intervalle $hget(Stage,$v1)
        timer 1 5 msg $chan  7 $+ $nick $+ :6 Stage $v1 SELECTIONNÉ (1 à $hget(Stage,$v1) $+ )
      hdel nombre nombredevine }
      else { hadd -m nombre essai 0 | hadd -m nombre intervalle 10 | timer 1 5 msg $chan 7 $+ $nick $+ : 6 Stage 1 SELECTIONNE (1 à 10) | hdel nombre nombredevine }
      timer 1 9 hdel nombre trouver
    }
  }
  elseif ($1 == !stage && $hget(nombre,commencer) && !$hget(nombre,trouver)) {  
    if ($2 == perso && $3- isnum && $3 > 10 && $3 != $hget(nombre,stage)) { hadd -m nombre stage $3 | hadd -m nombre essai 0 | hadd -m nombre intervalle $3 | msg $chan 7 $+ $nick $+ : 6 Stage perso SELECTIONNE (1 à $3) | hdel nombre nombredevine }
    elseif ($hget(nombre,master) == $address($nick,4) && $2 isnum 1-10 && $2 != $hget(nombre,stage)) { hadd -m nombre stage $2
    hadd -m nombre essai 0 | hadd -m nombre intervalle $token(10.50.100.250.500.1000.5000.10000.15000.100000,$2,46) | msg $chan 7 $+ $nick $+ : 6 Stage $2 SELECTIONNE (1 à $hget(nombre,intervalle $+ ) $+ )  | hdel nombre nombredevine }
    else { msg $chan 7 $+ $nick $+ : 6 Ce stage est déjà sélectionné ou mal tapé. }
  }
  elseif ($1 == !stopnombre && $hget(nombre,commencer)) {
    if ($hget(nombre,master) == $address($nick,4)) { 
      hfree nombre | hfree stage
      msg $chan 6 Jeu des nombres programmé par 7 SHIRYA ! 6Merci d'avoir joué ! A bientôt :) RAPPEL: pour jouer en PV, faire:  4!pvnombre  6en privé.
    }
    else { msg # 6 Seul celui qui a lancé la partie peut l'arrêter. Ou alors demander a Shirya. }
  }
  elseif ($1 == !helpn && $hget(nombre,commencer)) { 
    notice $nick   6 tapez:7!stage <1 à 10>  6pour régler la difficulté
    timer 1 1 notice $nick 7!stage 1 6----> entre 1 et 10, 7!stage 2 6----> entre 1 et 50, 
    timer 1 3 notice $nick 7!stage 3 6----> entre 1 et 100, 7!stage 4 6----> entre 1 et 250, 
    timer 1 5 notice $nick 7!stage 5 6----> entre 1 et 500, 7!stage 6 6----> entre 1 et 1000, 
    timer 1 7 notice $nick 7!stage 7 6----> entre 1 et 5000, 7!stage 8 6----> entre 1 et 10000, 
    timer 1 9 notice $nick 7!stage 9 6----> entre 1 et 15000, 7!stage 10 6----> entre 1 et 100000.
    timer 1 11 notice $nick 7!stage perso <max> 6----> entre 1 et le nombre max déterminé.
    timer 1 13 notice $nick 7!scorenombre 6pour connaître le nombre d'essai, 7!resetn  6pour recommencer la partie. 7!stopnombre 6pour arrêter le jeu. Amusez vous bien =) 12By Shirya
    timer 1 15 notice $nick 6Le jeu commence dès lors que vous entrez un nombre. Si aucun stage n'est sélectionné, le stage par défaut sera activé, soit le stage 1. 4SEUL CELUI QUI A LANCE LE JEU PEU MODIFIER LES PARAMETRES OU ARRETER LA PARTIE. VOUS POUVEZ EGALEMENT JOUER SEUL EN PV
  }
  elseif ($1 == !scorenombre && $hget(nombre,commencer)) { msg $chan 7 $+ $nick $+  : 6 Nombre de tentativess: 4 $hget(nombre,essai)
    msg $chan 7 $+ $nick $+  : 6 Stage : 4 $hget(nombre,stage) 6 Intervalle (1 à $hget(nombre,intervalle $+ ) $+ )
  }
  elseif ($1- isalnum  && $hget(nombre,commencer) && !$hget(nombre,trouver)) { hadd -m nombre propose $1 | nombre }
  elseif ($1 == !resetn && $hget(nombre,commencer)) {
    if ($read(kickbanauto\authscriptmasteruser.txt,w,[ [ $address($nick,4) ] ])) { hadd -m nombre essai 0 | hdel nombre nombredevine | msg $chan 7 $+ $nick $+ : 6 Réinitialisation de votre partie. }
    elseif ($hget(nombre,master) == $address($nick,4)) { hadd -m nombre essai 0 | hdel nombre nombredevine | msg $chan 7 $+ $nick $+ : 6 Réinitialisation de votre partie. }
    else { msg $chan 6 Seul celui qui a lancé la partie peut la réinitialiser. Ou alors demander a Shirya. }
  }
}
#nombre end
alias nombre {
  if (!$hget(nombre,trouver)) {
    if (!$hget(nombre,intervalle $+ )) { hadd -m nombre essai 0 | hadd -m nombre stage 1 | hadd -m nombre intervalle 10 | msg $chan 7 $+ $nick $+  : 6 Stage 1 SELECTIONNE (1 à 10) }
    if (!$hget(nombre,nombredevine)) hadd -m nombre nombredevine $rand(1, $hget(nombre,intervalle $+ ) )
    if ($hget(nombre,propose) <= $hget(nombre,intervalle $+ )) {
      if ($hget(nombre,propose) == 0) { timer 1 1 msg $chan 7 $+ $nick $+  : 4 uh? Dis donc, tu connais les règles? }
      if ($hget(nombre,propose) > $hget(nombre,nombredevine)) { hinc nombre essai | timer 1 1 msg $chan 7 $+ $nick $+ : 6 Le nombre est plus  9petit! }
      if ($hget(nombre,propose) < $hget(nombre,nombredevine)) { hinc nombre essai | timer 1 1 msg $chan 7 $+ $nick $+ : 6 Le nombre est plus  4grand! }
      if ($hget(nombre,propose) == $hget(nombre,nombredevine)) { hadd -m nombre trouver 1 | disable #nombrebegin | hinc nombre essai | timer 1 1 msg $chan 7 $+ $nick $+ : 12 $hget(nombre,nombredevine)  6BRAVO!! 6Nombre de tentativess: 4 $hget(nombre,essai)  6 Stage : 9 $hget(nombre,stage)
        timer 1 5 msg $chan 6Tapez 4!suite 6pour continuer le jeu.
      }
    }
  }
}

;***** JEU EN PRIVE *****

#pvnombre on
on *:text:*:?:{
  if ($1 == !pvnombre) {
    hadd -m pvStage 1 10 | hadd -m pvStage 2 50 | hadd -m pvStage 3 100
    hadd -m pvStage 4 250 | hadd -m pvStage 5 500 | hadd -m pvStage 6 1000
    hadd -m pvStage 7 5000 | hadd -m pvStage 8 10000 | hadd -m pvStage 9 15000
    hadd -m pvStage 10 100000
    msg $nick 6Pour connaître les règles du jeu, tapez  4!pvhelp
    msg $nick 6 NOMBRE PROGRAMME PAR7 SHIRYA  6, CHANNEL MASTER DE 7 #gothiks
  }
  if ($1 == !pvstage) {
    if ($2 == perso && $3- isnum && $3 > 10 && $3 != $hget(pvnombre,$nick $+ stage)) { hadd -m pvnombre $nick $+ essai 0 | hadd -m pvnombre $nick $+ stage $3 | hadd -m pvnombre $nick $+ intervalle $3 | msg $nick 6 Stage perso SELECTIONNE (1 à $3) | hdel pvnombre $nick $+ nombredevine }
    elseif ($2 != $hget(pvnombre,$nick $+ stage) && $2 isnum 1-10) {
    hadd -m pvnombre $nick $+ essai 0 | hadd -m pvnombre $nick $+ stage $2 | hadd -m pvnombre $nick $+ intervalle $token(10.50.100.250.500.1000.5000.10000.15000.100000,$2,46) | msg $nick 6 Stage $2 SELECTIONNE (1 à $hget(pvnombre,$nick $+ intervalle $+ ) $+ ) | hdel pvnombre $nick $+ nombredevine }
    else { msg $nick 6 Ce stage est déjà sélectionné ou mal tapé. }
  }
  if (!$hget(pvnombre,$nick $+ essai)) hadd -m pvnombre $nick $+ essai 0
  if ($1 == !pvhelp) { 
    msg $nick   6 tapez: 7!pvstage <1 à 10>  6pour régler la difficulté
    timer 1 1 msg $nick 7!pvstage 1  6----> entre 1 et 10,  7!pvstage 2  6----> entre 1 et 50, 
    timer 1 3 msg $nick 7!pvstage 3  6----> entre 1 et 100,  7!pvstage 4  6----> entre 1 et 250, 
    timer 1 5 msg $nick 7!pvstage 5  6----> entre 1 et 500,  7!pvstage 6  6----> entre 1 et 1000, 
    timer 1 7 msg $nick 7!pvstage 7  6----> entre 1 et 5000,  7!pvstage 8  6----> entre 1 et 10000, 
    timer 1 9 msg $nick 7!pvstage 9  6----> entre 1 et 15000,  7!pvstage 10  6----> entre 1 et 100000.
    timer 1 11 msg $nick 7!stage perso <max>  6----> entre 1 et le nombre max déterminé.
    timer 1 13 msg $nick 7!scorepvnombre  6pour connaître le nombre d'essai, 7!pvreset  6pour recommencer la partie. Amusez vous bien =)  12By Shirya
  timer 1 15 msg $nick 6Le jeu commence dès lors que vous entrez un nombre. Si aucun stage n'est sélectionné, le stage par défaut sera activé, soit le stage 1 }
  if ($1 == !scorepvnombre) { msg $nick 6 nombre de tentatives: 4 $hget(pvnombre,$nick $+ essai)
    msg $nick 6 Stage : 4 $hget(pvnombre,$nick $+ stage) 6Intervalle 1 à $hget(pvnombre,$nick $+ intervalle $+ )
  }
  if ($1 isalnum ) { hadd -m pvnombre $nick $+ propose $1
    if (!$hget(pvnombre,$nick $+ intervalle)) { hadd -m pvnombre $nick $+ essai 0 | hadd -m pvnombre $nick $+ stage 1 | hadd -m pvnombre $nick $+ intervalle 10 | msg $nick 7 $+ $nick $+  : 6 Stage 1 SELECTIONNE (1 à 10) }
    if (!$hget(pvnombre,$nick $+ pvnombredevine)) hadd -m pvnombre $nick $+ pvnombredevine $rand(1, $hget(pvnombre,$nick $+ intervalle) )
    if ($hget(pvnombre,$nick $+ propose) <= $hget(pvnombre,$nick $+ intervalle)) {
      if ($hget(pvnombre,$nick $+ propose) == 0) { timer 1 1 msg $nick 7 $+ $nick $+  : 4 uh? Dis donc, tu connais les règles? }
      if ($hget(pvnombre,$nick $+ propose) > $hget(pvnombre,$nick $+ pvnombredevine)) { hinc pvnombre $nick $+ essai | timer 1 1 msg $nick 6 Le nombre à trouver est plus  9 petit! 6 Nombre de tentatives: 4 $hget(pvnombre,$nick $+ essai) }
      if ($hget(pvnombre,$nick $+ propose) < $hget(pvnombre,$nick $+ pvnombredevine)) { hinc pvnombre $nick $+ essai | timer 1 1 msg $nick 6 Le nombre à trouver est plus  4 grand! 6 Nombre de tentatives: 4 $hget(pvnombre,$nick $+ essai) }
      if ($hget(pvnombre,$nick $+ propose) == $hget(pvnombre,$nick $+ pvnombredevine)) { hinc pvnombre $nick $+ essai | timer 1 1 msg $nick 12 UHUH ! AND THE WINNER IIIIIIIIIIIIIIIIS ? hehe 6 nombre de tentatives: 4 $hget(pvnombre,$nick $+ essai)  6 Stage : 9 $hget(pvnombre,$nick $+ stage)
        if ($hget(pvnombre,$nick $+ stage) == 10) { timer 1 3 msg $nick 6 OMFG... Ben j peu pas faire plus dur... =P Plus dur que ça, c'est le mariage... ^^
          hfree pvnombre | hfree pvstage
        msg $nick 6 Jeu des nombres programmé par 7 SHIRYA ! 6Merci d'avoir joué ! A bientôt :) RAPPEL: pour jouer sur le channel, faire:  4!nombre }
        else { timer 1 3 msg $nick 6 On change de stage maintenant :)
          hinc pvnombre $nick $+ stage
          if ($hget(pvnombre,$nick $+ stage) isnum 2-10) {
            hadd -m pvnombre $nick $+ essai 0 | hadd -m pvnombre $nick $+ intervalle $hget(pvStage,$v1)
            timer 1 5 msg $nick 6 Stage $v1 SELECTIONNÉ (1 à $hget(pvStage,$v1) $+ )
          hdel pvnombre $nick $+ pvnombredevine }
          else { hadd -m pvnombre $nick $+ essai 0 | hadd -m pvnombre $nick $+ intervalle 10 | timer 1 5 msg $nick 6 Stage 1 SELECTIONNE (1 à 10) | hdel pvnombre $nick $+ nombredevine }
          timer 1 9 hdel pvnombre $nick $+ trouver
        }
      }
    }
  }
  if ($1 == !pvreset) { hadd -m pvnombre $nick $+ essai 0 | hdel pvnombre $nick $+ pvnombredevine | msg $nick 6 Réinitialisation de votre partie. }
}
#pvnombre end

Conclusion :


Copier le fichier.mrc dans votre dossier mIRC du bot
Entrer dans le IRC du bot:

/load -rs nombrebotgame.mrc

Pour jouer sur le channel:
!nombre

pour jouer en PV:
!pvnombre (ecrire ceci directement dans la fenetre PV du bot)

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

killmanme
Messages postés
2
Date d'inscription
mardi 28 décembre 2004
Statut
Membre
Dernière intervention
12 février 2010

moi j'aime bien je te remerci j'ai just pas pris le coter pv

mais bravos
jeanbart1
Messages postés
8
Date d'inscription
vendredi 20 avril 2007
Statut
Membre
Dernière intervention
15 septembre 2007

Bonjour darknessneo

J'e vient de mettre cette remote dans mon bot...Super..
Mais il y aurait pas moyen dy mettre un timer ?
(exemple pour que les joueurs ne puisses donner une réponque que tout les x minutes ?)

Je demand cela car j'ai déja vu cela sur un chan anglais ...et comme moi je suis un gros noob je ne sait le faire :)

mais bravo quand même c super ..A bientôt...
RCA ArKanis
Messages postés
1287
Date d'inscription
mercredi 21 avril 2004
Statut
Membre
Dernière intervention
21 février 2009

le prend pas comme ça ...
je te dis ce que tu dois corriger, et comment tu pourrais gagner en efficacité, en place, et en temps ...

avoue que c'est quand même mieux d'avoir un jeu sans fautes, non ? tu passes pour un boulet si tu sais pas écrire ...

excuse moi de pas féliciter chaque personne qui met son premier code sur ce site, bien que le tien soit un peu mieux que la moyenne des 1ers codes ...
darknessneo
Messages postés
45
Date d'inscription
samedi 6 novembre 2004
Statut
Membre
Dernière intervention
9 septembre 2007

bon voila, je pense qu on peut dire que ma version est terminée, je remerci tout le monde pour leurs precieux conseils et pour m'avoir appris des nouveaux trucs.
Je viendrais encore peu etre de temps en temps voir mais je vais passer a l'optimisation de mon premier jeu, que je maittrais quand il sera bon. a bientot.
cs_wims
Messages postés
2466
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
1 août 2010
1
Son commentaire etais pas mechant , ca facon de donner ses idée d'optimisation est juste differentes , les poinn devant les commande ( .notice)
serve a cacher les message donné par mirc

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.