Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

I can\'t solve this for the life of me. Can anyone help?? Entry-level java -----

ID: 655397 • Letter: I

Question

I can't solve this for the life of me. Can anyone help?? Entry-level java

----------- Assignment below ------------

Create a simple trivia game for 2 players. The program will work like this:

Starting with player 1, each player gets a turn at answering 5 trivia questions.There are 10 questions, 5 for each player. When a question is displayed, four possible answers are also displayed. Only one of the answers is correct, and if the player selects the correct answer, he or she earns a point.

After answers have been selected for all of the questions, the program displays the number of points earned by each player and declares the player with the highest number of points the winner.

Design a Question class to hold the data for a trivia question. The Question class should have String fields for the following data:

A trivia question

Possibe Answer 1

Possible Answer 2

Possible Answer 3

Possible Answer 4

The number of the correct answer (1,2, 3, or 4)

The Question class should have appropriate constructor(s), accessors, and mutator methods. The program should create an ArrayList of 10 Question objects, one for each trivia question. Make up your own trivia questions on the subject of your choice.

Explanation / Answer

public List<Question> getQuestions() {
return questions;
}

TrivaGame() throws IOException {
questions = readQuestions();
}


class Question {

private String question;
private List<String> possibleAnswers;
private int answer;

@Override
public String toString() {
return "Question [question=" + question + ", possibleAnswers="
+ possibleAnswers + ", answer=" + answer + "]";
}
}


/**
* This class represents player object
*/
class Player {

int playerNumber;
int points;

}


Function<String, Question> mapLineToQuestion = new Function<String, Question>() {

public Question apply(String line) {

Question question = new Question();

List<String> questionPieces = Splitter.on("|").trimResults()
.omitEmptyStrings().splitToList(line);

question.question = questionPieces.get(0);
question.possibleAnswers = Splitter.on(",").trimResults()
.omitEmptyStrings().splitToList(questionPieces.get(1));
question.answer = Integer.parseInt(questionPieces.get(2));

return question;
}
};


public List<Question> readQuestions() throws IOException {

List<Question> questions = Files
.lines(Paths
.get("src/main/resources/com/levelup/java/exercises/beginner/trivia.txt"))
.map(mapLineToQuestion).collect(Collectors.toList());

return questions;
}


public static int getRandomQuestionNumber(int numberOfQuestions) {

Random random = new Random();
OptionalInt questionNumber = random.ints(1, numberOfQuestions)
.findFirst();
{
return questionNumber.getAsInt();
}

/**
* Method should display a question passed
*
* @param q
* @param playerNum
*/
public static void displayQuestion(Question q, int playerNum) {

// Display the player number.
System.out.println("Question for player #" + playerNum);
System.out.println("------------------------");
{
// Display the question.
System.out.println(q.question);
for (int i = 0; i < q.possibleAnswers.size(); i++) {
System.out.println((i + 1) + ". " + q.possibleAnswers.get(i));
}
}

/**
* Method will output summary stats and declare a winner
*
* @param players
*/
public static void showGameResults(Player[] players) {

// Display the stats.
System.out.println("Game Over!");
System.out.println("---------------------");
System.out.println("Player 1's points: " + players[0].points);
System.out.println("Player 2's points: " + players[1].points);

// Declare the winner.
if (players[0].points > players[1].points) {
System.out.println("Player 1 wins!");
} else if (players[1].points > players[0].points) {
System.out.println("Player 2 wins!");
} else {
System.out.println("It's a TIE!");
}

}

static int NUMBER_OF_PLAYERS = 2;
static int NUMBER_OF_CHANCES = 5;

public static void main(String args[]) throws IOException
{

// Initiate trivia game
TrivaGame trivaGame = new TrivaGame();

Scanner keyboard = new Scanner(System.in);

// how many total questions exist
int numberOfQuestions = trivaGame.getQuestions().size();{

// create array of players
Player[] players = { trivaGame.new Player(), trivaGame.new Player() };

// Play the game for each player defined and number of chances
for (int x = 0; x < players.length; x++) {

Player currentPlayer = players[x];

for (int i = 0; i < NUMBER_OF_CHANCES; i++)
{

// get random question
Question question = trivaGame.getQuestions().get()
getRandomQuestionNumber(numberOfQuestions));

displayQuestion(question, x + 1);

// ask user to enter question
System.out.print("Enter the number of the correct answer: ");
int currentAnswer = keyboard.nextInt();

// answer logic
if (currentAnswer == question.answer) {
// The player's chosen answer is correct.
System.out.println("Correct! ");
currentPlayer.points += 1;
} else {

// The player chose the wrong answer.
System.out.println("Sorry, that is incorrect. The correct "
+ "answer is " + question.answer + ". ");
}

}
}

// close keyboard
keyboard.close();

// display game results
showGameResults(players);
}

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote