Habe folgendes Problem, ich habe einen Zuffallsgenerator welcher paar Dummy User immer paar Punkte dazu gibt.
Die Namen werden dann in einer Sortierte Liste angezeigt, damit der Anwender (welcher alleine spielt) meint die anderen "Anwender" würden auch mitspielen.
Problem ist dass durch den Zufallsgenerator, Dummys mit geringen Punktzahl die anderen Dummys einhollen können.
Visualisiertes Problem (Liste wird nach je 10 Fragen aktualisiert):
Rank
Meine Liste sieht so aus:
11 Mike
12 Bernd, Sabine
12 Jahn, George
13 Markus
14 Wiebke
14 Ana, Johan
Sollte aber so aussehen:
11 Mike
12 Bernd, Sabine, Jahn, George
13 Markus
14 Wiebke, Ana, Johan
Befor ich das Zeug noch weiter aufblase, würde ich gerne paar Meinungen / Vorschläge / Ideen hören, kann sein dass ich den Wald vor lauter Bäume nicht sehe oder mein Ansatz für den Zweck nicht geeignet ist.
Die Namen werden dann in einer Sortierte Liste angezeigt, damit der Anwender (welcher alleine spielt) meint die anderen "Anwender" würden auch mitspielen.
Problem ist dass durch den Zufallsgenerator, Dummys mit geringen Punktzahl die anderen Dummys einhollen können.
Visualisiertes Problem (Liste wird nach je 10 Fragen aktualisiert):
Rank
Meine Liste sieht so aus:
11 Mike
12 Bernd, Sabine
12 Jahn, George
13 Markus
14 Wiebke
14 Ana, Johan
Sollte aber so aussehen:
11 Mike
12 Bernd, Sabine, Jahn, George
13 Markus
14 Wiebke, Ana, Johan
Befor ich das Zeug noch weiter aufblase, würde ich gerne paar Meinungen / Vorschläge / Ideen hören, kann sein dass ich den Wald vor lauter Bäume nicht sehe oder mein Ansatz für den Zweck nicht geeignet ist.
Java:
public static Object[] list_RF_Rnk(int a, String nam){ // ---------------------------------------- LISTE für RF_Rnk -----------------------------------------
int n1=1 , n2=2, n3=3, n4=4, n5=5, n6=6, n7=7, n8=8, n9=9, n10=10;
n1 = n1 + Experiment_RF_Rnk.n1a;
n2 = n2 + Experiment_RF_Rnk.n2a;
n3 = n3 + Experiment_RF_Rnk.n3a;
n4 = n4 + Experiment_RF_Rnk.n4a;
n5 = n5 + Experiment_RF_Rnk.n5a;
n6 = n6 + Experiment_RF_Rnk.n6a;
n7 = n7 + Experiment_RF_Rnk.n7a;
n8 = n8 + Experiment_RF_Rnk.n8a;
n9 = n9 + Experiment_RF_Rnk.n9a;
n10 = n10 + Experiment_RF_Rnk.n10a;
int RF_Rnk=0; // bis zu 10 Fragen zeige eine leere 11, dass noch niemand soviele beantwortet hat
//if(Experiment_RF_Rnk.anzeige_Variable >=11) RF_Rnk = Experiment_RF_Rnk.anzeige_Variable;
// lokale variable RF_Rnk bekommt wert richtige Antw. aus der Klasse Experiment_RF_Rnk, über die liste anzahl richtiger fragen
Object result []; // für das richtige sortieren des eigenen Namens innerhalb der liste
String name = "--> "+ nam +" <--";
if (a ==RF_Rnk) a11 = name + ", ";
else if (a ==n1) a1 = name + ", ";
else if (a ==n2) a2 = name + ", ";
else if (a ==n3) a3 = name+ ", ";
else if (a ==n4) a4 = name+ ", ";
else if (a ==n5)a5 =name+ ", ";
else if (a ==n6)a6 =name+ ", ";
else if (a ==n7)a7 =name+ ", ";
else if (a ==n8)a8 =name+ ", ";
else if (a ==n9)a9 =name+ ", ";
else if (a ==n10)a10 =name+ ", ";
//Punktzahl noch nicht in der Liste
else{
neuu = "\n " + a + " Fragen: \t" + name;
}
String[] coll = {//"\n " + RF_Rnk + " Fragen: \t" + a11 + "",
"\n" + n10 + " Fragen: \t" + a10 + "Frank, Lisa03, Mark Schanz, TAbea",
"\n" + n9 + " Fragen: \t" + a9 + "David",
"\n" + n8 + " Fragen: \t" + a8 + "Christian, Julian",
"\n" + n7 + " Fragen: \t" + a7 + "Anka",
"\n" + n6 + " Fragen: \t" + a6 + "Ben",
"\n" + n5 + " Fragen: \t" + a5 + "Michaela",
"\n" + n4 + " Fragen: \t" + a4 + "Mustafa",
"\n" + n3 +" Fragen: \t" + a3 + "Jerry",
"\n" + n2 + " Fragen: \t" + a2 + "Uwe",
"\n" + n1 + " Fragen: \t" + a1 + "Jahn"
};
Arrays.sort(coll); // sortiere Array liste
ArrayList<String> liste = new ArrayList<String>() ;
for (int i = 0; i<coll.length; i++){
liste.add(coll[i]);
}
// neue Zeile in die Liste einfügen
if(a1.equals("")&&a2.equals("")&&a3.equals("")&&a4.equals("")&&a5.equals("")&&a6.equals("")&&a7.equals("")&&a8.equals("")&&a9.equals("")&&a10.equals("")&&a11.equals("")){
if(a<10) liste.add(neuu);
if(a>10) liste.add(neuu);
}
result = liste.toArray();
a1="";
a2="";
a3="";
a4="";
a5="";
a6="";
a7="";
a8="";
a9="";
a10="";
a11="";
neuo = "";
neuu = "";
return result;
}