JEU : DEVINER UN NOMBRE (POUR BOT)

darknessneo Messages postés 45 Date d'inscription samedi 6 novembre 2004 Statut Membre Dernière intervention 9 septembre 2007 - 27 janv. 2006 à 02:52
killmanme Messages postés 2 Date d'inscription mardi 28 décembre 2004 Statut Membre Dernière intervention 12 février 2010 - 15 sept. 2007 à 23:20
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/35766-jeu-deviner-un-nombre-pour-bot

killmanme Messages postés 2 Date d'inscription mardi 28 décembre 2004 Statut Membre Dernière intervention 12 février 2010
15 sept. 2007 à 23:20
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 1
28 juil. 2007 à 16:54
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
2 févr. 2006 à 09:12
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
2 févr. 2006 à 00:42
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
30 janv. 2006 à 23:23
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
darknessneo Messages postés 45 Date d'inscription samedi 6 novembre 2004 Statut Membre Dernière intervention 9 septembre 2007
29 janv. 2006 à 20:46
COOLMAN002: merci pour m'avoir appris le $v1, j'ai essayé d'integrer ton bout de code dans le mien.
Ca a encore allégé mon code de quelques lignes, hehe c pas mal :)

Pour Mr Arken!s qui bien sur n'est plus un debutant en script:

Mon screen est plus lisible, l ancien etait sombre parce que le fond de mon script est noir >_> mais bon... j'arrivais à le voir mon ancien screen... arf...

Pour les S qui manquent... oulaa ben dsl de t'avoir tant choqué. J'espere avoir suffisament regardé et les avoir rajoutés.. hum...

Les / qui ne servent a rien... pourquoi mettre un . genre .notice alors qu'apparement on peu tout semblement les enlevés? j'vois pas alors l'interet des . hum... mais j'ai enlevé tout mes /, merci pour l'info.

Mettre tout mes on text en 1 seul text ? ... euh c pas ce que je recherche... j'veux qu on puisse jouer sur le channel et en privé... alors non dsl mais j'vais en garder 2.
Mais pour te faire plaisir, j'en ai enlevé 2 des on text... alors... heureux?

Y a moyen de faire plus court...
euh la c l'hopital qui se fou de la charité... j'ai ecris ceci :

C ma toute premiere source, avant je n'y connaissais rien en script IRC, j'ai essayé d'apprendre le plus possible de moi meme avant de vous proposer cette source. J'imagine que c'est codé tres maladroitement, mais maintenant que j'ai travaillé sur ma source depuis un moment (plusieurs jours en realité) je suis pres à la développer encore plus, et au moins, s'il y a une erreur je pourrais comprendre où et progresser grace a vos commentaires. Donc, tout commentaire est vraiment la bienvenue dans l'optique de remarques constructives qui me permettront d'évoluer !!!

mis a par ta remarque sur les / j ai rien vu de constructif...
Alors t'en as peu etre rien a cirer d'un mec qui debute vu tes competances en codage, j'ai pu tester tes scripts, meme si j'en ai gardé aucuns, il est clair que ton niveau est sensiblement different du mien. Mais voila, au lieu de me dire de faire plus court, tu pourrais peu etre partagé tes competances si larges en la matiere. sinon tu peu t'abstenir de mettre un commentaire... merci de ta comprehension...
RCA ArKanis Messages postés 1287 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 21 février 2009
28 janv. 2006 à 14:53
on voit rien sur ton screen :x trop sombre

il y a pas mal de fautes d'orthographe/grammaire :/// (des S qui manquent au pluriel)

les / ne servent à rien (/notice => .notice à la limite)

mets tous les on text sous un et un seul on text ? :x
y'a largement moyen de faire plus court
COOLMAN002 Messages postés 969 Date d'inscription lundi 16 juin 2003 Statut Membre Dernière intervention 1 juillet 2012 1
28 janv. 2006 à 13:59
Puisque tu utilises les hash table, tu pourrais créer une table qui aurait les nombres minimum et maximum des stages... tu pourrais ainsi largement optimisé ça!

Exemple, tu as:
if ($hget(nombre,stage) == 2) { hadd -m nombre essai 0 | hadd -m nombre intervalle 50 | timer 1 5 /msg $chan 7 $+ $nick $+ :6 Stage 2 SELECTIONNE (1 50) | hdel nombre nombredevine }
elseif ($hget(nombre,stage) == 3) { hadd -m nombre essai 0 | hadd -m nombre intervalle 100 | timer 1 5 /msg $chan 7 $+ $nick $+ :6 Stage 3 SELECTIONNE (1 100) | hdel nombre nombredevine }
elseif ($hget(nombre,stage) == 4) { hadd -m nombre essai 0 | hadd -m nombre intervalle 250 | timer 1 5 /msg $chan 7 $+ $nick $+ :6 Stage 4 SELECTIONNE (1 250) | hdel nombre nombredevine }

hadd -m Stage 1 50
hadd -m Stage 2 100
etc.

ça pourrait vite devenir:
if ($hget(nombre,stage) isnum 2-4) { hadd -m nombre essai 0 | hadd -m nombre interval $hget(Stage,$v1) | .timer 1 5 msg $chan 7 $+ $nick $+ :6 Stage $v1 SELECTIONNÉ (1 $+ $hget(Stage,$v1) $+ ) | hdel nombre nombredevine }

(PS: $v1 $ifmatch 1ere valeur du if)
darknessneo Messages postés 45 Date d'inscription samedi 6 novembre 2004 Statut Membre Dernière intervention 9 septembre 2007
28 janv. 2006 à 02:36
voila, code modifié encore hehe. C cool j'ai appris des petits trucs sympas aujourd hui! merci WIMS.
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
28 janv. 2006 à 00:35
c juste au cas ou , ca t'evitera davoir des bug
darknessneo Messages postés 45 Date d'inscription samedi 6 novembre 2004 Statut Membre Dernière intervention 9 septembre 2007
28 janv. 2006 à 00:09
pour le -m c pas un peu pompeux de la rajouter a tout mes hadd plutot que de la creer une bonne fois pour toute avec une seule phrase des le debut? a moins que je charge un truc bidon au depart genre hadd -m nombre demarrer 1 ? juste pour faire la table nombre et apres c bon?
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
27 janv. 2006 à 23:50
a tient aussi :
if !$hget(nombre) { hmake nombre 100 }
ca ne sert a rien , quand tu hadd , rajoute -m et la table sera automatiquement crée si elle n'existe pas

et les comparaison du style if (machin == $null) ou if (machin != $null) ca donne :
if (!machin) pour == $null et
f (machin) pour != $null
darknessneo Messages postés 45 Date d'inscription samedi 6 novembre 2004 Statut Membre Dernière intervention 9 septembre 2007
27 janv. 2006 à 23:21
a ben vi, dis comme ca c simple. Merci, je comprend mieu le 46 now. :) c archie simple enfait lol. j peu meme encore peu etre optimiser mon script avec ca, j vais bosser dessus. merci pour ton aide !!
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
27 janv. 2006 à 23:13
Ya pas trop de tuto
*
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
27 janv. 2006 à 23:11
ya pas de trop tuto mais l'aide de mirc suffit ;


$gettok(texte,N,C)

retourne le Nieme token dans le texte.C c'est le caractère ascii qui separe.
ex : $gettok(test1.test2.test3.test4,1,46)
retourne test1 . 46 = le point
$gettok(test.test1.test2.test3,3,46)
retourne test3 .

apres faut t'entrainé
darknessneo Messages postés 45 Date d'inscription samedi 6 novembre 2004 Statut Membre Dernière intervention 9 septembre 2007
27 janv. 2006 à 19:32
arf oue, c clair que la... j vais essayer ca des que j ai le temps. faut que j etudie les tokens, me faudrais un petit tuto pour n00b si quelqu un peu m aiguiller.
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
27 janv. 2006 à 18:24
En fait une fois que on a lancé le jeu et qu'on dois choisir le nivo , tu regarde
a chaque fois la meme chose , c pareil pour le !suite
par ex pour le !stage tu as :

on *:text:*:#:{
  if (($1 !stage) && ($hget(nombre,master) $address($nick,4))) {
   if (($2 == 1) && ($hget(nombre,stage) != 1)) { hadd nombre essai 0 | hadd nombre stage 1 | hadd nombre intervalle 10 | msg $chan 7 $+ $nick $+ :6 Stage 1 SELECTIONNE (1 à 10) | hdel nombre nombredevine }
   elseif (($2 == 2) && ($hget(nombre,stage) != 2)) { hadd nombre essai 0 | hadd nombre stage 2 | hadd nombre intervalle 50 | msg $chan 7 $+ $nick $+ :6 Stage 2 SELECTIONNE (1 à 50) | hdel nombre nombredevine }
...

ca donne


on *:text:*:#:{
if ($2 == !perso && $3- isnum) { hadd nombre essai 0 | hadd nombre stage perso | hadd nombre intervalle $3 | msg $chan 7 $+ $nick $+ :6 Stage perso SELECTIONNE (1 à $3 ) | hdel nombre nombredevine }
elseif ($1 !stage && $hget(nombre,master) $address($nick,4) && $2 != $hget(nombre,stage) && $2 isnum 1-10) {
hadd nombre essai 0 | hadd nombre stage $2 | hadd 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 }
}

c'est bien plus court :)
darknessneo Messages postés 45 Date d'inscription samedi 6 novembre 2004 Statut Membre Dernière intervention 9 septembre 2007
27 janv. 2006 à 17:43
wims:
a ben c sur, si j enleve la partie du jeu en privé, mon code est reduit de moitier.
ton code source fait 214 lignes (bon ok y a bcp d'espace on est d'accord comparé au mien mais...) le mien 188, et avec la partie PV en moins il fait 120 lignes =P
Ta source est pas mal, j'aime bien l'idée des recompenses suivant les points.

En ce qui concerne mon codage, j aimerais bien savoir comment je m'en sors, je n'ai pas encore pu avoir d'avis la dessus et j'aimerais bien savoir où j'en suis.
cs_wims Messages postés 2466 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 1 août 2010 1
27 janv. 2006 à 17:25
J'avais fait la meme premiere source http://www.ircfr.com/code.aspx?id=29852 , elle etais super mal codé mais pas aussi grosse que celle la
darknessneo Messages postés 45 Date d'inscription samedi 6 novembre 2004 Statut Membre Dernière intervention 9 septembre 2007
27 janv. 2006 à 16:40
enfait, lol si tu regardes ici, dans les explications final c etait ecrit !! :)

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

comme quoi j y avais pensé, mais c vrai que dans le fichier text du zip c etait pas ecrit. Comme quoi faut tout lire :)
darknessneo Messages postés 45 Date d'inscription samedi 6 novembre 2004 Statut Membre Dernière intervention 9 septembre 2007
27 janv. 2006 à 16:33
ah ben oue, c vrai... j vais rectifier cela aussi !!! c vrai que moi qui est passé plus de 3 - 4 jours dessus, c devenu instinctif, j vais faire en sorte que ca soit plus clair.
punk6_2 Messages postés 65 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 1 décembre 2007
27 janv. 2006 à 16:29
Effectivement ... Mais dans l'aide c'est écrit "pour jouer en PV:
!pvnombre" ! Ce n'est pas dit qu'il faut aller en pv :p
darknessneo Messages postés 45 Date d'inscription samedi 6 novembre 2004 Statut Membre Dernière intervention 9 septembre 2007
27 janv. 2006 à 16:28
fjxokt:
il est aussi gros parce que c ma premiere source ici, et que c mon tout deuxieme script, que j'ai appris tout de moi meme et que donc forcement, c tres maladroitement ecrit, mais si tu as le moindre commentaire, pour me faire progresser et optimiser ma source, surtout partages toutes tes connaissances avec moi. merci. je tien quand meme a signaler que j'ai fais en sorte de sortir une premiere source ici pas trop mauvaise. je fais ce que je peu, maintenant c a vous de m'aider un peu aussi.
darknessneo Messages postés 45 Date d'inscription samedi 6 novembre 2004 Statut Membre Dernière intervention 9 septembre 2007
27 janv. 2006 à 16:26
il faut que tu ecrire !pvnombre en privé, tu dois ouvrir une fenetre de dialogue avec ton bot comme si tu voulais ecrire un priver avec lui, et tu ecris ca à ce moment là. :)

sinon tu peu faire: /msg <nick de ton bot> !pvnombre c pareil, ca ecrit en PV a ton bot
merci pour le renseignement sur mon cote, j vais rectifier le #gothiks, j pensais les avoirs tous virés.
fjxokt Messages postés 840 Date d'inscription vendredi 28 janvier 2005 Statut Membre Dernière intervention 25 février 2009 1
27 janv. 2006 à 16:23
j'ai pas regardé le code, mais j'ai du mal à comprendre pourquoi il est aussi gros ?
punk6_2 Messages postés 65 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 1 décembre 2007
27 janv. 2006 à 15:46
J'ai trouvé une petite erreur dans l'alias intronombre tu a oublié de remplacer le /msg #gothiks par /msg $chan ! Aussi, j'ai beau tappé 30 000 fois !pvnombre et activer 36 000 fois les groups j'attend encore mon pv avec le bot : j'ai pas cherché se qu'il n'allait pas dans le mode pv ...
darknessneo Messages postés 45 Date d'inscription samedi 6 novembre 2004 Statut Membre Dernière intervention 9 septembre 2007
27 janv. 2006 à 02:52
C ma toute premiere source, avant je n'y connaissais rien en script IRC, j'ai essayé d'apprendre le plus possible de moi meme avant de vous proposer cette source. J'imagine que c'est codé tres maladroitement, mais maintenant que j'ai travaillé sur ma source depuis un moment (plusieurs jours en realité) je suis pres à la développer encore plus, et au moins, s'il y a une erreur je pourrais comprendre où et progresser grace a vos commentaires. Donc, tout commentaire est vraiment la bienvenue dans l'optique de remarques constructives qui me permettront d'évoluer !!!

A noté que je l'est test depuis plusieurs jours deja et que le test final ma semblé satisfaisant. Je n'ai pas trop trifouillé la partie PV, qui me semble correct, contrairement à la partie Channel qui ma donné plus de fil à retordre je dois l'avouer.

NOTE: par defaut, les deux JEU sont DEACTIVES. il faut donc les activer via le menu.
Rejoignez-nous