Petit casse tete

Résolu
sbool Messages postés 115 Date d'inscription mercredi 27 août 2003 Statut Membre Dernière intervention 7 mars 2008 - 8 févr. 2008 à 23:02
sbool Messages postés 115 Date d'inscription mercredi 27 août 2003 Statut Membre Dernière intervention 7 mars 2008 - 12 févr. 2008 à 19:14
Petit casse tete -> Pour moi en tout cas...

Bonjour, je devellope actuellement un petit jeu multijoueur en php, lorsque j'arrive à la fin j'ai

<?php
$score array("Alex"> "12", "Marina" => "18", "Marc" => "12", "Dany" => "13");
arsort($score);
foreach ($score as $key => $val) {
   echo "$key = $val
";
}
?>
qui classe très bien par ordre numérique or, je souhaite juste en plus (juste) ajouter un moyen de determiner celui qui a mis le moins de temps a faire le niveau dans le cas ou les 2 (ou plus ) meilleurs scores soient egaux (j'obtiens déjà les secondes dans des varibles pour trier tout ca)...

J'espère vous avoir clairement exposé mon problème, & merci a vous encore une fois! ;)

4 réponses

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
10 févr. 2008 à 09:18
Hello,

<?php
$aScores = array(
    'toto' => 2000,
    'tata' => 2500,
    'titi' => 2000,
    'tutu' => 2500
);

$aTimes = array(
    'toto' => 25,
    'tata' => 30,
    'titi' => 22,
    'tutu' => 32
);

array_multisort($aScores, SORT_ASC, $aTimes, SORT_ASC);

foreach($aScores as $sUser => $iScore) {
    echo $sUser, ' => SCORE : ', $iScore, ' - TEMPS : '.$aTimes[$sUser]."\r\n";
}
?>
3
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
9 févr. 2008 à 10:05
salut

faut faire ton tableau comme ca :

user1 => array(score, time), user2 => ...

et utiliser la fonction de tri qui permet une fonction perso pour determiner l'ordre (cherche sort sur php.net, t'auras a mon avis cette fonction dans les fonctions associees)

/**
* @author coucou747 <coucou747@hotmail.com>
* @see irc://cominweb.uni-irc.net/#programmation
*/
0
sbool Messages postés 115 Date d'inscription mercredi 27 août 2003 Statut Membre Dernière intervention 7 mars 2008
9 févr. 2008 à 13:53
Mmm ca ne fonctionne pas, et pareil avec les multi dimentionel...
En faisant 1 seul tableau c impossible, je pourrais donc en faire deux -> 1 pour les temps et 1 pour les score, attribuer quelques varibles puis les comparer, si les 2 permiers scores sont egaux, ce sera celui qui a ete le plus rapide qui gagne, (mais a ce moment impossible de trier les temps en fonction du score....).
J'y vois un peu plus clair a cette heure mais c toujours pas ca .
Je rebidouille et quand j'y arrive (car j'ai pas le choix) je poste la solution, mais si quelqu'un connais la technnique appropriée, tenez moi informez avant que je sombre dans la folie
0
sbool Messages postés 115 Date d'inscription mercredi 27 août 2003 Statut Membre Dernière intervention 7 mars 2008
12 févr. 2008 à 19:14
OMG!!!
Ca tourne nickel  Malalam, a chaques fois tu me depatouille, merci vraiment.
MERCI Merci merci
0
Rejoignez-nous