2016-07-27 15 views
0

Ich mache ein Spiel, ich möchte überprüfen, ob der Benutzer eine höhere Punktzahl als seine vorherige Punktzahl erhalten hat. Die Punktzahl basiert auf der Zeit und der Anzahl der Versuche. Je kürzer die Zeit und je geringer die Versuche sind, desto höher ist die Punktzahl.Score-Basis auf 2 Variablen Algorithmus

Was sollte der Algorithmus sein, um den Score zu berechnen?

+0

arithmetischer Vergleich –

+0

@JaromandaX Ich kann vergleichen, aber was zu vergleichen? –

+0

es ist unklar, von Ihrer Frage –

Antwort

0
Total Score = Base Score - (Time Penalty + Attempts Penalty) 

Time Penalty = Seconds * (Base Score * Time Penalty Const) 

Wo Zeitstrafe konst its a% der Basis Punktzahl, die Sie zum Beispiel für jede Sekunde subtrahieren wollen ... Zeitstrafe Konst = 0,01 1% von der Basis jeder zweite Tor Das Gleiche gilt für Versucht Strafe.

Wenn Gesamt Punkte erreichen einen Wert von weniger als 0 Spiel über

+0

gibt es keine Basis-Score hier. –

0

ich einfach mit Score = Konstante/(NumberOfAttempts * Zeit)

Auf diese Weise verringert sich Gäste mit mehr Zeit und höhere Versuche gehen würde, dann Sie können es jedoch mit der Konstante skalieren.

Allerdings ist ein besserer Algorithmus schwierig zu finden, wenn man so wenig Kontext betrachtet.

+0

was ist konstant? –

+0

Das kann deine Wahl sein. Sagen Sie zum Beispiel, Sie wollten 100 Punkte haben, wenn der Nutzer einen Versuch gemacht hat, und es hat 1 Sekunde gedauert, dann wäre diese Konstante 100. Wenn Sie wollten, dass der Wert 100 ist, wenn der Nutzer 1 Versuch in 1 Minute gemacht hat Konstante wäre 6000, da 6000/(1 * 60) = 100. Sie können diese Konstante auswählen, um Ihnen dabei zu helfen, die Bewertung für Anzeige, Bedienung usw. zu skalieren. – user3112622