HighScores
HighScores
/** @param score an int value representing the player’s most recent score
* updates the value of highScore to score if this is higher than the current value
*/
public void updateScore(int score)
{
if(score > highScore)
highScore = score;
}
The following class ScoreList is used to create the database of players who have played the game. The
players are sorted into order according to their highScore value from greatest to least.
/** Moves the Player object at index pos upwards in scoreboard to the correct
* position in the list according to its highScore value
* @param pos a valid index for the scoreboard list
*/
public void moveUp(int pos)
{ /* to be implemented in part (a) */ }
/** Searches for a Player in scoreboard with a matching name and updates the high
* score if there is one. Otherwise a new player is created with the name and high score
* passed at the end of scoreboard. The new/updated Player object is moved up to
* the correct place on the list using the method moveUp.
* @param name the name of the player who recorded the score
* @param score the score recorded
* @return true if a new Player was created; false otherwise
*/
public boolean newScore(String name, int score)
{ /* to be implemented in part (b) */ }
// There may be instance variables, constructors, and methods that are not shown.
}
(a) Write the scoreList method moveUp that compares the highScore of the Player object at the
index pos to each Player in the list above it. This object will be moved to the correct position in the list
(you may assume that all items with an index smaller than pos in the list are in the correct order). If the
Player initially at pos has a score which is equal to one or more other players in the list it should be
placed after the other players on the list (i.e at a higher index).
/** Moves the Player object at index pos upwards in scoreboard to the correct
* position in the list according to its highScore value
* @param pos a valid index for the scoreboard list
*/
public void moveUp(int pos)
(b) Write the scoreList method newScore that updates the highScore of a player if a player with
the name passed to the method already exists, and creates a player with the specified name and score
if there is no such player already. The method then moves the player that was added/had a score
updated to the correct position.
In writing newScore, assume that moveUp works as specified regardless of what you wrote in part (a).
/** Searches for a Player in scoreboard with a matching name and updates the high
* score if there is one. Otherwise a new player is created with the name and high score
* passed at the end of scoreboard. The new/updated Player object is moved up to
* the correct place on the list using the method moveUp.
* @param name the name of the player who recorded the score
* @param score the score recorded
* @return true if a new Player was created; false otherwise
*/
public boolean newScore(String name, int score)