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

Using Java, I need a spinner game program made. Players take turns spinning a fo

ID: 3546581 • Letter: U

Question

Using Java, I need a spinner game program made. Players take turns spinning a food wheel. This food wheel cotains sweets, fruits, and vegetables. Players start invidually with their own score of 0 and alternate turns of spinning the wheel. Once spun that either will either gain or lose points based on type of food that player lands on. Sweets take away 20 points, Vegetables give 10, and Fruits give 5 points. Turns will alternate between all the players until one players reaches a score that is >=50. At the start prompt for how many players will play the game. Each player will have a unique name, lets go with Player 1, Player 2, and Player 3.

Please include the script of each class.


Here is a UML model for reference.

There will be three vegetables: Peas,Celery,Broccoli

Four Fruits:Apple,Grape,Plum,Orange and

One sweet: Donuts

Using Java, I need a spinner game program made. Players take turns spinning a food wheel. This food wheel cotains sweets, fruits, and vegetables. Players start invidually with their own score of 0 and alternate turns of spinning the wheel. Once spun that either will either gain or lose points based on type of food that player lands on. Sweets take away 20 points, Vegetables give 10, and Fruits give 5 points. Turns will alternate between all the players until one players reaches a score that is >=50. At the start prompt for how many players will play the game. Each player will have a unique name, lets go with Player 1, Player 2, and Player 3.

Explanation / Answer


FoodGameTester.java

import java.util.Scanner;


public class FoodGameTester {

   
    public static void main(String[] args) {
        Scanner inScanner = new Scanner(System.in);
        System.out.println("How many players will play the game?");
        int n = inScanner.nextInt();
        FoodGame foodGame = new FoodGame(n);
        foodGame.playGame();
       

    }

}

FoodGame.java

import java.util.ArrayList;
import java.util.List;


public class FoodGame {

    List<Player> players;
    Spinner theSpinner;
    public FoodGame(int n) {
        players = new ArrayList<Player>();
        theSpinner = new Spinner();
        for (int i=0; i<n; i++) {
            players.add(new Player("Player " + i));
        }
       
    }
    public void playGame() {
        int i=0;
        Player player = null;
        do {
            if(i >= 3) {
                i=0;
            }
            player = players.get(i++);
            FoodItem foodItem = theSpinner.spin();
            player.setScore(player.getScore() + foodItem.getValue());
            System.out.println("Turn " + player.toString());
        }while(max(players) <= 50);
        System.out.println("The Winner is " + player.toString());
    }
    private int max(List<Player> players2) {
        int max = 0;
        for(Player p: players) {
            if(p.getScore() > max) {
                max = p.getScore();
            }
        }
        return max;
    }
   
}

FoodItem.java
public abstract class FoodItem {
    private String name;

    public FoodItem(String name) {
        super();
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
    public abstract int getValue();

    @Override
    public String toString() {
        return "FoodItem [name=" + name + "]";
    }
   
}

Fruit.java


public class Fruit extends FoodItem{
    private String name;

    public Fruit(String name) {
        super(name);
       
    }
    public int getValue() {
        return 5;
    }
   
}

Player.java


public class Player {
    private String name;
    private int score;
    public Player(String name) {
        super();
        this.name = name;
    }
    public int getScore() {
        return score;
    }
    public void takeTurn(Spinner spinner){
       
    }
    @Override
    public String toString() {
        return "Player [name=" + name + ", score=" + score + "]";
    }
    public void setScore(int n){
        this.score = n;
    }
   
   
}

Sweet.java


public class Sweet extends FoodItem{
    private String name;

    public Sweet(String name) {
        super(name);
       
    }
    public int getValue() {
        return -20;
    }
   
}

Vegetable.java


public class Vegetable extends FoodItem {
    private String name;

    public Vegetable(String name) {
        super(name);
       
    }
    public int getValue() {
        return 10;
    }
   
}


Spinner.java

import java.util.ArrayList;
import java.util.List;
import java.util.Random;


public class Spinner {
    private Random randomMaker;
    private List<FoodItem> foods;
   
    public Spinner() {
        foods = new ArrayList<FoodItem>();
        randomMaker = new Random();
        foods.add(new Vegetable("Peas"));
        foods.add(new Vegetable("Celery"));
        foods.add(new Vegetable("Broccoli"));
        foods.add(new Fruit("Apple"));
        foods.add(new Fruit("Grape"));
        foods.add(new Fruit("Plum"));
        foods.add(new Fruit("Orange"));
        foods.add(new Sweet("Donut"));
    }
    public FoodItem spin() {
        int index = randomMaker.nextInt(8);
        return foods.get(index);
    }
}

Output:

How many players will play the game?
3
Turn Player [name=Player 1, score=10]
Turn Player [name=Player 2, score=-20]
Turn Player [name=Player 3, score=10]
Turn Player [name=Player 1, score=20]
Turn Player [name=Player 2, score=-10]
Turn Player [name=Player 3, score=15]
Turn Player [name=Player 1, score=25]
Turn Player [name=Player 2, score=0]
Turn Player [name=Player 3, score=-5]
Turn Player [name=Player 1, score=30]
Turn Player [name=Player 2, score=10]
Turn Player [name=Player 3, score=0]
Turn Player [name=Player 1, score=40]
Turn Player [name=Player 2, score=15]
Turn Player [name=Player 3, score=10]
Turn Player [name=Player 1, score=45]
Turn Player [name=Player 2, score=20]
Turn Player [name=Player 3, score=20]
Turn Player [name=Player 1, score=50]
The Winner is Player [name=Player 1, score=50]


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