06. februar 2004 - 17:30Der er
2 kommentarer og 1 løsning
Søger et godt rankingsystem.
Er der nogle som kender et godt rankingsystem. Når to spiller er færdig med at spille skal deres rang ændres alt efter om de har tabt eller vundet. Spiller en dårlig med de god skal den dårlige have flere points, end hvis de var lige godt osv. Det jeg søger er selve metoden som udregner rangen.
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
Jeg har lavet følgende koder men har problemer med at finde ud af hvormange rang-point man skal tildele henholdsvis vinderen og taber, så det bliver retfærdig.
public class Hej {
public int[] calculateRank(int rankA, boolean winA, int rankB, boolean winB){
int differens = Math.abs(rankA-rankB); int newRank = 0; int[] tabel = new int[2]; //spillerA ligger på tabel[0]
//************************************************************************* // Hvis en af spillerne vinder //************************************************************************* //************************************************* // Hvis spiller A vindeer og har større rang end B // eller spiller B vinder og har større rang end A //************************************************* if(winA && rankA > rankB) tabel[0] = rankA + 5; else if(winB && rankB > rankA) tabel[1] = rankB +5;
// Hvis spiller A vindeer og har mindre rang end B if(winA && rankA < rankB){ if(differens < 20) tabel[0] = rankA + 10; if(differens >= 20 && differens < 100) tabel[0] = rankA + 20; if(differens >=100 && differens <100000) tabel[0] = rankA + 30; } // spiller B vinder og har mindre rang end A else if ( winB && rankB < rankA){ if(differens < 20) tabel[1] = rankB + 10; if(differens >= 20 && differens < 100) tabel[1] = rankB + 20; if(differens >=100 && differens <100000) tabel[1] = rankB + 30; }
//************************************************************************* // Hvis en af spillerne taber //*************************************************************************
// Hvis spiller A taber og har større rang end B if( !winA && rankA > rankB){ if(differens < 20) tabel[0] = rankA - 10; if(differens >= 20 && differens < 100) tabel[0] = rankA - 20; if(differens >=100 && differens <100000) tabel[0] = rankA - 30; }
// Hvis spiller B taber og har større rang end A if( !winB && rankB > rankA){ if(differens < 20) tabel[1] = rankB - 10; if(differens >= 20 && differens < 100) tabel[1] = rankB - 20; if(differens >=100 && differens <100000) tabel[1] = rankB - 30; }
// Hvis spiller A taber og har mindre rang end B // og spiller B taber og har mindre rang end A if( !winA && rankA < rankB) tabel[0] = rankA - 5; else if ( !winB && rankB < rankA) tabel[1] = rankB - 5;
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.