begin process at 2010 02 10 03:34:58
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Divers

 > JEU DE LA DEVINETTE

JEU DE LA DEVINETTE


 Information sur la source

Note :
10 / 10 - par 1 personne
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Divers Classé sous :jeu, devinette, inutile, fun Niveau :Débutant Date de création :31/10/2006 Vu :8 204

Auteur : hisoka2501

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (8)
Ajouter un commentaire et/ou une note


 Description

le but du jeu est de deviner un nombre mystere, il se joue seul (pour le moment car lidée d'implementer un mode deux joueurs vien de me prendre !)

il se lance par: /start.play
il se deroulle dans une @window pour éviter de pourir une fenetre de serveur ou de chan ou defile votre vie sociale, heu les converses ircéenes...


Source

  • on *:start:{
  • if ($hget(wbs.devinete)) hfree wbs.devinete
  • }
  • alias -l wbs.devinete.show.version {
  • aline $1 Script devinete version: 1.2 par Adamaru alias Chr0nos
  • aline $1 Contact: #xiato@irc.dreams-fr.net
  • }
  • alias -l wcolor return $+($chr(3),04,$1-,$chr(15))
  • alias -l wbs.devinete.show.help {
  • var %win = $1 , %table = $2
  • aline %win Aide
  • aline %win $wcolor(new) : Commencer une nouvelle partie
  • aline %win $wcolor(stop) : Arreter la partie en cour
  • aline %win $wcolor(clear) : Efface la fenetre en cour
  • aline %win $wcolor(version) : Affiche la version du script
  • aline %win $wcolor(setmax) : Vous permet de determiner le nombre max à deviner (1000000 par defaut) $iif($hget(%table,max),[Actuel: $ifmatch $+ $chr(93))
  • aline %win $wcolor(solution) : Donne la solution mais met un terme à la partie en cours
  • aline %win $wcolor(help) : Affiche l'aide
  • aline %win $wcolor(quit) : fermer
  • if ($hget(%table,partie)) aline %win Une partie est actuelement en cours
  • }
  • alias start.play {
  • if ($hget(wbs.devinete)) hfree wbs.devinete
  • hmake wbs.devinete
  • var %win = @devinette
  • if ($window(%win)) window -c %win
  • window -e %win
  • wbs.devinete.show.help %win wbs.devinete
  • }
  • on *:input:@:{
  • if ($active == @devinette) {
  • var %win = @devinette , %table = wbs.devinete
  • aline %win $1-
  • if ($1 == new) {
  • if (!$hget(%table,partie)) {
  • var %max = $iif($hget(%table,max),$ifmatch,1000000)
  • aline %win Nouvelle partie.
  • aline %win Entrez un nombre entre 1 et %max
  • hadd -m %table num $encode($rand(1,%max),m)
  • hadd %table partie 1
  • hadd %table ctime $ctime
  • }
  • else aline %win Une partie est deja en cours: demande rejetée, faites " $+ $wcolor(stop) $+ " pour arreter la partie
  • }
  • elseif ($1 == stop) {
  • if ($hget(%table,partie)) {
  • hadd %table partie 0
  • hdel %table num
  • aline %win Partie annulée.
  • wbs.devinete.show.help %win %table
  • }
  • else aline %win Aucune partie en cours: demande rejetée
  • }
  • elseif ($1 == help) wbs.devinete.show.help %win %table
  • elseif ($1 == version) wbs.devinete.show.version %win
  • elseif ($1 == clear) {
  • window -c %win
  • window -e %win
  • wbs.devinete.show.help %win %table
  • }
  • elseif ($1 == solution) {
  • if ($hget(%table,partie)) {
  • aline %win La solution était: $decode($hget(%table,num),m)
  • aline %win Vous aviez tenté $hget(%table,try) éssai(s)
  • hdel %table num
  • hdel %table ctime
  • hadd %table partie 0
  • hadd %table try 0
  • aline %win Fin de la partie, tappez ' $+ $wcolor(new) $+ ' pour une nouvelle partie ou ' $+ $wcolor(help) $+ ' pour afficher l'aide
  • }
  • else {
  • aline %win Aucune partie en cours: demande rejetée
  • aline %win tappez ' $+ $wcolor(help) $+ ' pour afficher l'aide
  • }
  • }
  • elseif ($1 == setmax) {
  • if (!$2) aline %win Parametre manquant: setmax x
  • else {
  • if ($2 isnum) {
  • if ($hget(%table,max)) && ($hget(%table,max) == $2) {
  • aline %win Le nombre demandé est le même que celui actuelement parametré: rien à faire.
  • aline %win Demande rejetée.
  • aline %win tappez ' $+ $wcolor(help) $+ ' pour afficher l'aide
  • return
  • }
  • hadd -m %table max $2
  • if ($hget(%table,partie)) {
  • aline %win Anulation de la partie en cour
  • aline %win Demarage d'une nouvelle partie
  • hadd %table num $encode($rand(1,$2),m)
  • hadd %table try 0
  • hadd %table ctime $ctime
  • }
  • aline %win Changement OK
  • }
  • else aline %win Parametre invalide: setmax x (x doit etre un nombre entier positif)
  • }
  • }
  • elseif ($1- isnum) {
  • if ($hget(%table,partie)) {
  • var %num = $decode($hget(%table,num),m) , %max = $iif($hget(%table,max),$ifmatch,1000000)
  • if ($hget(%table,try)) hinc %table try
  • else hadd -m %table try 1
  • if ($1 > %max) aline %win Le nombre ne peut depasser %max
  • if ($1 < %num) aline %win Plus grand
  • elseif ($1 > %num) aline %win Plus petit
  • elseif ($1 == %num) {
  • aline %win Bravo $1 était effectivement le bon nombre !
  • aline %win tu l'a trouvé apres $hget(%table,try) éssai(s) !
  • aline %win Il vous à falut $duration($calc($ctime - $hget(%table,ctime))) !
  • hadd -m %table try 0
  • hadd %table partie 0
  • hdel %table num
  • hdel %table ctime
  • wbs.devinete.show.help %win %table
  • }
  • }
  • else aline %win Aucune partie en cours, faites ' $+ $wcolor(new) $+ ' pour demarer une nouvelle partie
  • }
  • else aline %win Commande ' $+ $1 $+ ' inconue: tappez ' $+ $wcolor(help) $+ ' pour la liste des commandes disponibles
  • }
  • }
  • on *:exit:{
  • if ($hget(wbs.devinete)) hfree wbs.devinete
  • }
on *:start:{
  if ($hget(wbs.devinete)) hfree wbs.devinete
}
alias -l wbs.devinete.show.version {
  aline $1 Script devinete version: 1.2 par Adamaru alias Chr0nos
  aline $1 Contact: #xiato@irc.dreams-fr.net
}
alias -l wcolor return $+($chr(3),04,$1-,$chr(15))
alias -l wbs.devinete.show.help {
  var %win = $1 , %table = $2
  aline %win Aide
  aline %win $wcolor(new) : Commencer une nouvelle partie
  aline %win $wcolor(stop) : Arreter la partie en cour
  aline %win $wcolor(clear) : Efface la fenetre en cour
  aline %win $wcolor(version) : Affiche la version du script
  aline %win $wcolor(setmax) : Vous permet de determiner le nombre max à deviner (1000000 par defaut) $iif($hget(%table,max),[Actuel: $ifmatch $+ $chr(93))
  aline %win $wcolor(solution) : Donne la solution mais met un terme à la partie en cours
  aline %win $wcolor(help) : Affiche l'aide
  aline %win $wcolor(quit) : fermer
  if ($hget(%table,partie)) aline %win Une partie est actuelement en cours
}
alias start.play {
  if ($hget(wbs.devinete)) hfree wbs.devinete
  hmake wbs.devinete
  var %win = @devinette
  if ($window(%win)) window -c %win
  window -e %win
  wbs.devinete.show.help %win wbs.devinete
}
on *:input:@:{
  if ($active == @devinette) {
    var %win = @devinette , %table = wbs.devinete
    aline %win $1- 
    if ($1 == new) {
      if (!$hget(%table,partie)) {
        var %max = $iif($hget(%table,max),$ifmatch,1000000)
        aline %win Nouvelle partie.
        aline %win Entrez un nombre entre 1 et %max
        hadd -m %table num $encode($rand(1,%max),m)
        hadd %table partie 1
        hadd %table ctime $ctime
      }
      else aline %win Une partie est deja en cours: demande rejetée, faites " $+ $wcolor(stop) $+ " pour arreter la partie
    }
    elseif ($1 == stop) {
      if ($hget(%table,partie)) {
        hadd %table partie 0
        hdel %table num
        aline %win Partie annulée.
        wbs.devinete.show.help %win %table
      }
      else aline %win Aucune partie en cours: demande rejetée
    }
    elseif ($1 == help) wbs.devinete.show.help %win %table
    elseif ($1 == version) wbs.devinete.show.version %win
    elseif ($1 == clear) {
      window -c %win
      window -e %win
      wbs.devinete.show.help %win %table
    }
    elseif ($1 == solution) {
      if ($hget(%table,partie)) {
        aline %win La solution était: $decode($hget(%table,num),m)
        aline %win Vous aviez tenté $hget(%table,try) éssai(s)
        hdel %table num
        hdel %table ctime
        hadd %table partie 0
        hadd %table try 0
        aline %win Fin de la partie, tappez ' $+ $wcolor(new) $+ ' pour une nouvelle partie ou ' $+ $wcolor(help) $+ ' pour afficher l'aide
      }
      else {
        aline %win Aucune partie en cours: demande rejetée
        aline %win tappez ' $+ $wcolor(help) $+ ' pour afficher l'aide
      }
    }
    elseif ($1 == setmax) {
      if (!$2) aline %win Parametre manquant: setmax x
      else {
        if ($2 isnum) {
          if ($hget(%table,max)) && ($hget(%table,max) == $2) {
            aline %win Le nombre demandé est le même que celui actuelement parametré: rien à faire.
            aline %win Demande rejetée.
            aline %win tappez ' $+ $wcolor(help) $+ ' pour afficher l'aide
            return
          }
          hadd -m %table max $2
          if ($hget(%table,partie)) {
            aline %win Anulation de la partie en cour
            aline %win Demarage d'une nouvelle partie
            hadd %table num $encode($rand(1,$2),m)
            hadd %table try 0
            hadd %table ctime $ctime
          }
          aline %win Changement OK
        }
        else aline %win Parametre invalide: setmax x (x doit etre un nombre entier positif)
      }
    }
    elseif ($1- isnum) {
      if ($hget(%table,partie)) {
        var %num = $decode($hget(%table,num),m) , %max = $iif($hget(%table,max),$ifmatch,1000000)
        if ($hget(%table,try)) hinc %table try
        else hadd -m %table try 1
        if ($1 > %max) aline %win Le nombre ne peut depasser %max
        if ($1 < %num) aline %win Plus grand
        elseif ($1 > %num) aline %win  Plus petit
        elseif ($1 == %num) {
          aline %win Bravo $1 était effectivement le bon nombre !
          aline %win tu l'a trouvé apres $hget(%table,try) éssai(s) !
          aline %win Il vous à falut $duration($calc($ctime - $hget(%table,ctime))) !
          hadd -m %table try 0
          hadd %table partie 0
          hdel %table num
          hdel %table ctime
          wbs.devinete.show.help %win %table
        }
      }
      else aline %win Aucune partie en cours, faites ' $+ $wcolor(new) $+ ' pour demarer une nouvelle partie
    }
    else aline %win Commande ' $+ $1 $+ ' inconue: tappez ' $+ $wcolor(help) $+ ' pour la liste des commandes disponibles
  }
}

on *:exit:{
  if ($hget(wbs.devinete)) hfree wbs.devinete
}

 Conclusion

voila postez vos avis :) et surtout des idées d'amélioration


 Sources du même auteur

SERVEUR FTP
TELECHARGEMENT DE FICHIER PAR PROTOCOLE HTTP 1.0 VIA SOCKET
ALIASES POUR FASCILITER L'USAGE DE MDX (FRAMEWORK)
Source avec Zip Source avec une capture MTOOLS : L'OUTIL DE MENCODER/MPLAYER
PENDU EN @WINDOW

 Sources de la même categorie

COMMANDES FANTAISIES ( OP DEOP , VOICE DEVOICE ) ORIGINALES par Orona
Source avec Zip Source avec une capture CORRECTEUR par Orona
Source avec Zip Source avec une capture [DLL] DESSINER COMME LES PICWINS SUR UNE DIALOGBOX (BONUS: J... par uaip
Source avec Zip Source avec une capture [DLL] AJOUT D'UN CONTRÔLE RICHEDIT SCINTILLA SUR LES DIALOG... par uaip
Source avec Zip Source avec une capture WORLDDMT - GESTION DE CAISSE V 1.0 par WorldDMT

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture LAZER (JEU EN PICWIN) par Zova
Source avec Zip Source avec une capture PACMAN ONLINE - 4 JOUEURS par wims
Source avec Zip Source avec une capture BELOTE (MULTIJOUEURS) EN PICWIN par RCA ArKanis
SOLVEUR DE SUDOKU par MaX_62
Source avec une capture SLAP FUN par J4Gu4R

Commentaires et avis

Commentaire de wims le 01/11/2006 03:04:52

Pas mal, bien présenté, propre, mais un peu chiant
La fourchette par défaut est un peu grande j'pense
Niveau code, utilise $+() :)

Commentaire de Panthouffle le 02/11/2006 02:41:49

lol classique comme jeu, ça me rappel des souvenirs x]

petit truc pour avoir la bonne soluce en 1 essai :

setmax 1
new
1

xD

ps: tu as oublié la commande quit (c'est pas très grave mais bon) xD

bon petit jeu bien scripté

Commentaire de hisoka2501 le 04/11/2006 23:20:13

je vais la metre d'ici peu la je me suis penché sur un mode deux joueurs, et jenvisage meme un mode de jeu en reseau a deux joueurs
étant donnée que ca reste faisable :)

et vi je sais que c'est classique mais c'est dans les vieux pots qu'on fait la bonne soupe non ?
qui n'a jammais joué a ce genre de jeu dans ses grands moments de solitude ? :)

Commentaire de wims le 05/11/2006 03:57:25

Pourquoi ne pas proposé d'autre jeu comme celui ci genre un pendu et d'autres

Commentaire de hisoka2501 le 06/11/2006 03:32:03

ca jusqu'a ce que tu me le suggere je n'avais pas eut l'idée d'un pendu, pour cela deja je pensse qu'il faudra que je me munise d'un dictionaire au format .txt (fascillement trouvable)

hum
c fascilement faisable en fait meme :)
je vais me pencher la dessus cette semaine :)

Commentaire de hisoka2501 le 06/11/2006 05:36:58

voila je vien de le finir:
http://www.ircfr.com/code.aspx?ID=40219

j'ai meme mis la commande quit ce coup la :p

Commentaire de IceTempest le 23/11/2006 20:33:30

comme ton autre remote : note : 1

Toujours useless et on la retrouve dans des scripts kikoolol.
Regression de ton niveau !?
Sinon niveau orthographe, un gros travail est attendu.

Commentaire de hisoka2501 le 24/11/2006 15:20:18

Regression de ton niveau !? <<< non juste une lassitude

deja je ne coderais surement plus jammais de trucs en graphique , finis les dialogs, pk ? => ca prends du code pour rien rends illisible (un $did == x c pas clair )
et la vitesse d'execution, un aline est plus rapide qu'un did -a

c'est pas pour rien que sous linux tout se fais via console, je ferais la meme chose pour mes scripts
une config se vera alors bien plus rapide et je pourais faire plus de choses, combien de fois je me suis dis "je peu pas metre cette option car j'ai plus de place dans mon dialog ou ca risque de faire trop gros" ben la la question ne se posera pas, j'ai dailleur commencé à faire mon terminal

ce script a au moin l'aventage de ne pas etre codé avec les pids malgres son ortographe laborieuse certes, il est legé et efficace

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

jeu pour bot ? maillon faible ? [ par MeF ] voilou j'ai déjà eu l'occasion de jouer sur irc au maillon faible.Yavait des sons qui accompagnaient le jeu, c'étaient bien sympathique, avec de nombr Recherche, qu'en pensez-vous ? [ par ScreaM ] Voici une p'tite idée que je viens d'avoir. Le but serait de reproduire le jeu du maillon faible mais sur un canal irc qui pourrait s'appeller #maillo affichage de serveur de jeu pour bot/bot dans la barre de tache [ par GVDS ] Bonjour, j'ai bien cherché et je n'ai pas trouvé, j'aimerais avoir la commande qui me permet de donner les infos de mon serveur ( nombres de joueurs, Comment mettre un top10 à mon jeu ... [ par Panther007 ] Bon voila j'aimerais mettre un top10 à mon jeu ... Je vous expliquer Brèvement ce qui en est .. Le jeu c'est comment un mot qui est donner en majuscul jeu [ par KiNdErMaXi ] je voudrai faire un ptit jeu en picwin, j'ai des tutos pr la parties graphique mais pour la configuration je sais pas comment fairesi vous pouviez m'a jeu [ par KiNdErMaXi ] bonjour, jvoudrai faire un jeu, le problème c'est que je ne sais pas comment faire jouer l'ordinateur, si il y avait un tuto la dessus:)merciKiNdErMaX le jeu du loup (tamagoshi fait par arkanis) [ par big_boss39 ] jen ai tro marre jarrive po as demarrer se jeu alors je vous en supli jui nouv' détaille moi tou de ché tou envoi de pv en aléatoire [ par oowaka ] bonjour je suis entrain de me faire un bot pour un jeu sur chan dans ce jeu interviendrait des conversations priv&#233;eset mon bot rechercherait dans bot pour jeu [ par oowaka ] bonjour je voudrait que ce bot envoie des messages a des personnes dans la liste mais je ne sais pas quel event utilis&#233; !!! :s alors je ne sais p #group [ par clem54 ] Bonjour a tous, je me pose une question parce que je m'amuse a realiser un jeu de morpion pour bot :pJusqu'a la tout va bien mais je pense avoir besoi


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,889 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales