Classement Attaque

Faites vos suggestions de modifications ou d'ajout, discutez des options en place etc...
Répondre
Messages : 188
Enregistré le : dim. 22 déc. 2024 22:29
Numéro du seigneur : 1056

Numéro du Commodore : 1619

Classement Attaque

Message par DamonYa »

Il manque un tableau classement dans les classements avec un gros trou à côté du classement technologie.

Ca tombe bien, il n'existe aucun classement à propos des conflits. Nombre de destructions de vaisseau devrait aussi faire partie du classement, avec un bonus par type de vaisseau. Exemple :

Commodore 30 points
Leviathan 20 points
Croiseur 10 points
Frégate 5 points
Navette 1 point

Z'en pensez quoi ?
Messages : 15
Enregistré le : mar. 18 mars 2025 20:37
Seigneur : Jhaeros Dlardrageth

Numéro du seigneur : 1044

Numéro du Commodore : 1556

Re: Classement Attaque

Message par Belgarath »

Tout les classements actuels classe les joueurs par rapports à des possessions/productions en jeu, en fonction des actions il peut fluctuer. Les valeurs d'un classement de destruction et/ou nombre de tir ne ferai que augmenter et serai très vite inaccessible pour les nouveaux.

Donc pas très intéressant
Messages : 188
Enregistré le : dim. 22 déc. 2024 22:29
Numéro du seigneur : 1056

Numéro du Commodore : 1619

Re: Classement Attaque

Message par DamonYa »

Je vois pas très bien ce que t'essayes de dire, c'est juste un classement, ça ne donne aucun bonus. C'est une lecture d'un type de jeu qui n'est pas représenté actuellement, c'est tout. Je vois pas très bien le lien avec les nouveaux du coup.
Modifié en dernier par DamonYa le dim. 27 avr. 2025 17:36, modifié 1 fois.
Avatar du membre
Max
Administrateur du site
Messages : 975
Enregistré le : lun. 12 août 2024 17:28

Re: Classement Attaque

Message par Max »

Un classement basé sur des actions pourraient se limiter aux actions des 10 derniers tours.
Mais je voudrais pas être celui qui fait le code, parce que ça va être pénible d'historiser les points de chaque joueur :mrgreen:
Messages : 188
Enregistré le : dim. 22 déc. 2024 22:29
Numéro du seigneur : 1056

Numéro du Commodore : 1619

Re: Classement Attaque

Message par DamonYa »

Ok, alors celui qui a donné le plus de coup de canons dans le tour ou détruit le plus de slots. En tout cas, c'est un classement qui serait scruté et intéressant à suivre ^^
Messages : 15
Enregistré le : mar. 18 mars 2025 20:37
Seigneur : Jhaeros Dlardrageth

Numéro du seigneur : 1044

Numéro du Commodore : 1556

Re: Classement Attaque

Message par Belgarath »

Max a écrit : dim. 27 avr. 2025 17:36 Un classement basé sur des actions pourraient se limiter aux actions des 10 derniers tours.
Mais je voudrais pas être celui qui fait le code, parce que ça va être pénible d'historiser les points de chaque joueur :mrgreen:
Ca reste à mon avis un classement qui ne devrait pas être ou alors faut faire la même chose avec les autres actions mais voilà une proposition de code qui devrait créer ce classement. Le code doit être compatible avec n'importe quel action.

Code : Tout sélectionner

// à mettre avant la boucle (classement est stockée dans un fichier) mais pourrait être stocké dans la DB
        $ranking = json_decode(file_get_contents('chemin vers fichier json qui contient les infos'), true);

        // boucle qui retire l'élément le plus ancien pour avoir l'historique que sur les x derniers cycle
        foreach ($ranking as $id => $values)
        {
            $values = array_shift($values);

            $rankings[$id] = $values;
        }

// dans la boucle des tirs de canons
// Permet de faire un décompte des tirs par joueur
// $id = Id du joueur
        $shoots[$id] = isset($shoots[$id]) ? $shoots[$id]++ : 0;


// Après la boucle qui traite les tirs
        foreach ($shoots as $id => $value)
        {
            if (isset($ranking[$id]))
            {
                $ranking[$id][] = $value;
            }
            else
            {
                // Le nombre de 0 définie le recul.  Dans ce cas-ci on a les dix derniers cycles.  Pour augmenter ou diminuer modifier le nombre de 0.

                $ranking[$id] = [0, 0, 0, 0, 0, 0, 0, 0, 0, $value];
            }
        }

        // Stockage des valeurs dans un fichier json.  Idéalement le fichier de stockage ici n'est pas le même que le précédent pour permettre un retoru en arrière en cas de problème dans le cycle.
        file_put_contents('chemin vers fichier json qui contient les infos mise à jour', json_encode($ranking));


// Création du classement.  A mettre n'importe où dans le traitement du cycle.  Mais dans une partie qui cloture le cycle parce que pas de retour en arrière
        $ranking = json_decode(file_get_contents('chemin vers fichier json qui contient les infos mise à jour'), true);

        foreach ($ranking as $id => $values)
        {
            $rank[$id] = array_sum($values);

            $total += $rank[$id];
        }

        // Du classement on ne devrait pas pouvoir déduire le nombre exact de canons donc j'ajoute une valeur aléatoire au total.  Idéalement à la place du 50 faudrait mettre le nombre total de joueur
        $total = rand(10, 50);

        foreach ($rank as $id => $value)
        {
            $rank[$id] = ($value / $total) * 100;
        }
        
        asort($rank);

        // Stockage final des infos.  Remplace le fichier le plus ancien par celui calculé pendant le cycle.
        file_put_contents('chemin vers fichier json qui contient les infos', json_encode($ranking));

        unlink('chemin vers fichier json qui contient les infos mise à jour');
J'ai ajouté dedans une part d'aléatoire pour empêcher de déterminé le nombre de canons au départ du classement.
Ca ne fait qu'un décompte du nombre de coups de canons mais on pourrai rapidement modifié pour y inclure des pondérations en fonction du type de cible est/ou destruction.
Messages : 113
Enregistré le : dim. 15 déc. 2024 21:12
Seigneur : Powder

Numéro du seigneur : 1032

Numéro du Commodore : 1544

Re: Classement Attaque

Message par Jinx »

Si on reste sur les actions agressives, on peut rajouter la prise de planètes ennemie et les pillages et la prise de capitale etc... Regrouper plusieurs choses permettrait de complexifier le calcul et qu'on ne sache pas vraiment qu'est ce qui rapporte quoi, mais afficherais les personnes les plus agressives des derniers tours.
Répondre

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité