3 Stimmen

im Puzzlespiel in der Spielwertung anhand der Züge und der verbleibenden Zeit erkennen können

Ich bin die Umsetzung Puzzle-Spiel app in Android. in dieser Anwendung ein Level abzuschließen, dann bekommen Punktzahl Anzahl der Züge und verbleibenden Level-Abschluss auf Zeit. ich bin Ebene abgeschlossen zeigen in Dialogbox zeigt es bewegen nächste Ebene, dann Anzahl der Züge und verbleibende Zeit in jedem Level-Wert-Anzeige in diesen Dialogfeld todisplay (Anzahl der Züge + verbleibende Zeit)...

((TextView)findViewById(R.id.MovesTextView)).setText("Moves-"+moves); ((TextView)findViewById(R.id.ScoreTextView1)).setText("Zeit-"+(Zeit/(1000*60))+": "+((Zeit%(1000*60))/1000));

wie kann dieses Problem implementiert werden, bitte übermitteln Sie eine Lösung, die dringend notwendig ist

2voto

Gareth Davidson Punkte 4704

Wenn ich Sie richtig verstehe, wollen Sie den Punktestand von der verbleibenden Zeit und der Gesamtzahl der Züge abhängig machen? Das Problem ist also, den Algorithmus zu finden f(time, moves) .

Die Punktevergabe ist in der Regel keine exakte Wissenschaft. Man könnte das mathematisch ausrechnen, aber die beste Lösung ist eine faire: Man gibt den Spielern eine Punktzahl für das Abschließen des Levels und dann einen Bonus, der proportional dazu ist, wie gut sie im Vergleich zu anderen Spielern sind.

Um diese Daten zu sammeln, müssen viele Tester mit unterschiedlichen Fähigkeiten das Spiel viele Male spielen. Erfassen Sie Informationen wie average time per move , total number of moves y time remaining und stellen Sie diese Daten dann grafisch dar. Sobald Sie die Form dieser Daten verstanden haben, verfügen Sie über die notwendigen Informationen, um eine faire f(time, moves)

Eine naive Lösung wäre in etwa so:

level_score = level * 100;
max_bonus = 100000;
bonus_score = max_bonus / (time_taken + moves_taken + level*10);
score = level_score + bonus_score;

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X