Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Szukam wzoru na obliczanie rankingu


HAMMERxPL

Rekomendowane odpowiedzi

Opublikowano

Witam,

 

szukam wzoru na ranking po zabiciu gracza. Ma ktoś coś takiego?

Sprawdzałem taki:

 

(48 + (RANKING_ZABIJAJACEGO - RANKING_ZABITEGO)) * 0.2 

 

Działało średnio, ale też dawało zabierało ranking jak ktoś miał dużo mniej. Nie chciałbym, żeby zabierało, ewentualnie dawało 0.

4L0M4l0.png

Opublikowano

To może ci się przydać:

public class RankChanger {

	public static double[] getExpectations(Rank rankA, Rank rankB){
		double[] ranks = new double[2];
		double estA = 1.0D / (1.0D + Math.pow(10.0D, (rankB.getRank() - rankA.getRank()) / 400.0D));
	    double estB = 1.0D / (1.0D + Math.pow(10.0D, (rankA.getRank() - rankB.getRank()) / 400.0D));
	    ranks[0] = estA;
	    ranks[1] = estB;
		return ranks;
	}
	
	public static int getConstant(int ranking) {
		if (ranking < 2000)
			return 32;
		if (ranking < 2401)
			return 24;
		return 16;
	}

	public static int[] getNewRankings(Rank rankA, Rank rankB, boolean victoryA) {
		double[] ests = new double[2];
		int[] ret = new int[2];
		ests = getExpectations(rankA, rankB);
		int newRankA = (int)(rankA.getRank() + getConstant(rankA.getRank()) * ((victoryA ? 1 : 0) - ests[0]));
		int newRankB = (int)(rankB.getRank() + getConstant(rankB.getRank()) * ((victoryA ? 0 : 1) - ests[1]));
		ret[0] = Math.round(newRankA);
		ret[1] = Math.round(newRankB);
		return ret;
	}

Cały kod tu:

https://github.com/Kamilkime/YTGuilds/tree/master/pl/kamilkime/ytguilds/objects/utils

tumblr_mvmbjq2EGs1s3ulybo1_500.gif

Jeśli to czytasz, znaczy to że się opierdalasz :)

  • 3 tygodnie później...

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...