Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Classement [ Divers / Aide et documentation ] (Corween)

vendredi 11 mai 2007 à 19:40:35 | Classement

Corween

Bonjour, pour votre plus grand plaisir : LA question de Corween ^_^

Donc en fait c'était pour savoir si vous conaissiez un site avec un tuto pour pouvoir faire un classement ( genre un top10 ) ou si c'est pas trop compliquer, m'expliquer :s

J'ai regardé dans quelques bots comment il été fait, mais j'me perd dans toutes les lignes :x
J'ai cherch& aussi sur Google, bah il veux po être mon ami aparement aujourd'hui, il m'donne rien du tout :'(

Vala, merci :p

vendredi 11 mai 2007 à 19:59:37 | Re : Classement

wims

j'avais fait un alias il a quelque temps pour qqun qui voulait faire la meme chose que toi, je te le laisse ici, je peux le commenté si tu veux, il marche pour des variables, tout les variables commence par le même nom %bla, il gère aussi les scores egaux

alias getpoint {
  .echo -q $regex($1-,/(?:^|\s)(\d+)\.+/g) | var %a = 1, %d = $regml(0), %c
  while (%a <= %d) { %c = %c $regml(%a) | inc %a } | return %c
}

alias top6 {
  Var -s %a 1 ,%b = $var(%bla*,0)
  while (%a <= %b) {
    var %v = $var(%bla*,%a).value ,%vv = $var(%bla*,%a)
    if ($findtok($getpoint(%s),%v,32)) var -s %s = $puttok(%s,$+(%v,.,$token($token(%s,$ifmatch,32),2,46),/,$remove($token($var(%bla*,%a),2,46),%bla)),$ifmatch,32)
    else var -s %s = %s $+($var(%bla*,%a).value,.,$remove($token($var(%bla*,%a),2,46),%bla))
    inc %a
  }
  var %ss = $sorttok(%s,32,nr) ,%c = 1 ,%d = $numtok(%ss,32)
  while (%c <= %d) { echo -a $+(%c,.) $replace($token($token(%ss,%c,32),2,46),/,$+($chr(44),$chr(32))) - $token($token(%ss,%c,32),1,46) dollar(s) - | inc %c }
}

Si ton code n'utilise pas les variables ou si tu ne compte pas classé par variables, détails un peu plus ce que tu veux avec des exemples ;)

vendredi 11 mai 2007 à 21:37:58 | Re : Classement

Corween

xD huhu j'comprend rien au code, donc j'pourrais pas te dire si c'est ça que je recherche en fait ^_^

Je cherche un truc du genre, j'fais un jeu avec des points comptés en variable, et si je tappe !top10 ya les 10 premier vec leurs points et si jtape !classement ya tous les joueurs classé du plus fort au moins fort vec les points toujours ( un truc du genre quoi )

Mais j'pensais que c'était plus simple que ça xD 'fin merci beaucoup en tout cas, je garde ^^ mais il fait quoi e nfait ce code ? il donne le top6 ?

vendredi 11 mai 2007 à 21:54:38 | Re : Classement

wims

Oui ok en variable mais t'es variable se présente comment ?
Montre moi un exemple...
Est ce que c'est dans ce genre là :
%score_pseudo1 score1
%score_pseudo2 score2



samedi 12 mai 2007 à 11:19:48 | Re : Classement

RCA ArKanis

Une solution simple, c'est de mettre le classement sous cette forme :
score1:nick1 score2:nick2 ...

Pour ajouter quelqu'un dans le classement :
var %top = $classement_actuel (à toi de le donner)

auquel tu rajoutes le score du nouveau (même s'il ne rentre pas dans le top 10)
var %top = $instok(%top,$+(%score_du_gars,:,%nick_du_gars),-1,32)

que tu tries :
var %top = $sorttok(%top,32,nr)

et tu ne gardes que les 10 premiers :
var %top = $gettok(%top,1-10,32)

Ce qui te donne au final :
var %top = $gettok($sorttok($instok($classement_actuel,$+(%score_du_gars,:,%nick_du_gars),-1,32),32,nr),1-10,32)

Si tu veux avoir sa place (pour un éventuel /msg), il te faudra alors :
var %n = $+(%score_du_gars,:,%nick_du_gars), %top = $gettok($sorttok($instok($classement_actuel,%n,-1,32),32,nr),1-10,32)
say $iif($findtok(%top,%n,1,32),Position : $+($ifmatch,e),Non classé)

En n'oubliant pas de sauvegarder le top 10 (.ini ou hashtable). Exemple avec .ini :
var %n = $1, %top = $gettok($sorttok($instok($readini(Classement.ini,Top,Top10),%n,-1,32),32,nr),1-10,32)
say Position de %nick_du_gars : $iif($findtok(%top,%n,1,32),$+($ifmatch,e),Non classé)
writeini -n Classement.ini Top Top10 %top

Puis si tu en as besoin :
ON *:TEXT:!top*:#:{
  var %n = $remove($1-,!top)
  if (%n isnum 1-) msg $chan Classement : $gettok($readini(Classement.ini,Top,Top10),$+(1-,%n),32)
}

Si tu comptes faire plus que 10, du genre une infinité avec ton !classement, ça risque de ne pas fonctionner puisque la ligne sera trop longue ^^



Cette discussion est classé dans : classement


Répondre à ce message

Sujets en rapport avec ce message

Classement des trois meilleur joueur... [ par Panther007 ] Salut , J'ai un Jeu , Le But du jeu est de retapez le mot donner par le robot le plus vite possible , le premier qui tape le mot gagne , mais ce que j


Nos sponsors

Sondage...

CalendriCode

Novembre 2008
LMMJVSD
     12
3456789
10111213141516
17181920212223
24252627282930

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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
Temps d'éxécution de la page : 0,406 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.