Menu

(Solved) : 2 Nd Take Trying Get Help First Answer Got Said Add Pairofdice Class Forgot Add Listed Cod Q28401538 . . .

My 2 nd take trying to get help with this, the first answer Igot said to add PairOfDice class, which I had I just forgot to addit to the listed code the first time around. So, I have added thatclass and my question remains the same, Please help. GUI is notcompiling without error, and my other classes have been workingproperly and follow my UML. Is it a import or inherritanceproblem?? I am not sure what I am missing, I think it is somethingbasic, I just am too green to find it.

JAVA, I keep getting errors in my GUIDriver? Not sure what I amdoing wrong but compile errors keep happening. I am using eclipseIDE. I will list all my other class code. Everything but my GUI hasbeen tested and is working correct. I also will put my gameTesterat bottom of pertinent code. I think maybe there is a problembetween my player class to GUI or maybe my Game class to GUI?  

import javafx.application.Application;

import javafx.event.ActionEvent;

import javafx.scene.Node;

import javafx.scene.Scene;

import javafx.scene.control.Button;

import javafx.scene.text.Text;

import javafx.stage.Stage;

import javafx.scene.image.Image;

import javafx.scene.image.ImageView;

import javafx.scene.layout.FlowPane;

//**********************************************************************

// GUIDriver.java Author: 3-15-18

//

// Demonstrates JavaFX pushButton and Die Images

//**********************************************************************

public class GUIDriver extends Application

{

private Text sumText;

private PigDice p;

private ImageView die1View, die2View;

private Game g;

private Button rollButton, passButton, continueButton,closeAndProceed;   

private Text humanGameboard, compGameboard, currentPlayerIs,pigGreed;   

private Scene scene, scene2;

private Stage primaryStage;

  

//——————————————————————

// Presents GUI containing two dice images, a roll button, andlabel

// that displays the results of Die roll

//——————————————————————

public void start(Stage primaryStage)

{

p = new PigDice();

g = new Game();

sumText = new Text (“Sum is 2”);

  

Image pig1 = p.getDie1Image();

Image pig2 = p.getDie2Image();

die1View = new ImageView(pig1);

die2View = new ImageView(pig2);

rollButton = new Button(“Be a Pig, roll dice!”);

rollButton.setOnAction(this::processButtonPress);

passButton = new Button (“Complete Turn”);

passButton.setOnAction(this::processButtonPress);

continueButton = new Button (“Continue rolling”);

continueButton.setOnAction(this::processButtonPress);

continueButton.setDisable(g.getCurrentPlayer() ==g.getHuman());

closeAndProceed = new Button (“Close window and proceed withgame”);

closeAndProceed.setOnAction(this::processButtonPress);

humanGameboard = new Text(g.getHuman().toString());

compGameboard = new Text(g.getComputer().toString());

currentPlayerIs = new Text(g.getComputer().getName());

pigGreed = new Text(“You have broken the 8th Cardinal sin of PigGreed! “);

FlowPane pane = FlowPane(humanGameboard, compGameboard,currentPlayerIs);

pane.setStyle(“-fx-background-color: blue”);

pane.setAlignment(javafx.geometry.Pos.CENTER);

pane.setHgap(20);

pane.setVgap(40);

FlowPane pane2 = new FlowPane(die1View, die2View, sumText);

pane2.setStyle(“-fx-background-color: green”);

pane2.setAlignment(javafx.geometry.Pos.CENTER);

pane2.setHgap(20);

pane2.setVgap(40);

//—————————————————————

// Setting scene for Pigger Game

//—————————————————————

Scene scene = new Scene(pane, 1250, 700);

//Scene scene2 = new Scene(pane2, 1250, 700);

primaryStage.setTitle(“Pigger Game”);

primaryStage.setScene(scene);

primaryStage.show();

}

//private FlowPane FlowPane(Text humanGameboard2, TextcompGameboard2, Text currentPlayerIs2) {

// TODO Auto-generated method stub

//return null;

private FlowPane FlowPane(Text humanGameboard2, TextcompGameboard2, Text currentPlayerIs2) {

// TODO Auto-generated method stub

return null;

}

//——————————————————————–

// Updates the Images and Die1, Die2, and Sum totals

//——————————————————————–

public void processButtonPress(ActionEvent event)

{

p.roll();

sumText.setText(” Results are:n ” + p.toString());

die1View.setImage(p.getDie1Image());

die2View.setImage(p.getDie2Image());

}

//——————————————————————-

// optional depending on IDE

//——————————————————————-

public void processButtonPress1(ActionEvent event)

{

if(!g.gameOver())

{

if(rollButton == event.getSource())

{

g.getCurrentPlayer().beAPig(true);

}

else

{

g.getCurrentPlayer().beAPig(false);

}

}

else

{

if(closeAndProceed != event.getSource())

{

primaryStage.setScene(scene2);

}

if(closeAndProceed == event.getSource())

{

primaryStage.setScene(scene);

}

}

g.playGame();

currentPlayerIs.setText(g.getCurrentPlayer().getName());

humanGameboard.setText(g.getHuman().toString());

compGameboard.setText(g.getComputer().toString());

sumText.setText((g.getPigDice().toString()));

die1View.setImage((g.getPigDice().getDie1Image()));

die2View.setImage((g.getPigDice().getDie2Image()));

rollButton.setDisable(g.getCurrentPlayer() ==g.getComputer());

passButton.setDisable(g.getCurrentPlayer() ==g.getComputer());

continueButton.setDisable(g.getCurrentPlayer() ==g.getHuman());

}

}

—————————————————————————————————————————————————

PlayerClass

—————————————————————————————————————————————————

//*************************************************************************************

// Player.java Author: 3-31-18

//

//*************************************************************************************

public abstract class Player

{

//———————————————————————————

// declaring protected variables

//———————————————————————————

protected String name;

protected int roundPoints, gamePoints;

protected boolean pigness;

//———————————————————————————

// constructor for name

//———————————————————————————

public Player(String name)

{

this.name = name;

roundPoints = 0;

gamePoints = 0;

pigness = true;

}

//———————————————————————————

// getter name

//———————————————————————————

public String getName()

{

return name;

}

//———————————————————————————

// getter RoundPoints

//———————————————————————————

public int getRoundPoints()

{

return roundPoints;

}

//———————————————————————————

// getter GamePoints

//———————————————————————————

public int getGamePoints()

{

return gamePoints;

}

//———————————————————————————

// getter boolean Pigness

//———————————————————————————

public boolean getPigness()

{

return pigness;

}

//———————————————————————————

//

//———————————————————————————

public void takeTurn(PigDice p)

{

if(pigness)

{

int points = p.roll();

switch (points)

{

case 2:

{

gamePoints = 0;

}

case 3:

{

roundPoints = 0;

pigness = false;

break;

}

default:

{

roundPoints += points;

pigness = true;

}

}

}

else

{

gamePoints = gamePoints + roundPoints;

roundPoints = 0;

pigness = false;

}

}

//———————————————————————————

//

//———————————————————————————

public abstract boolean beAPig(boolean isPig);

@Override

public String toString()

{

return “Player{” +

“name = ” + name +

“, roundPoints =” + roundPoints +

“, gamePoints =” + gamePoints +

“, pigness =” + pigness + “}”;

}

}

———————————————————————————————————————————————————————————————-

GameClass

———————————————————————————————————————————————————————————————-

import java.util.Scanner;

//******************************************************************************************

//

//

//******************************************************************************************

public class Game

{

//—————————————————————————————

//

//—————————————————————————————

private Player p1, p2, current;

private PigDice d;

private boolean gameOver;

private final int WINNING_SCORE;

//—————————————————————————————

//creates the two players and a pigDice, initializes the currentplayer to start the game

//and sets game over condition to false.

//—————————————————————————————

public Game()

{

p1 = new Human(“Player”);

p2 = new Computer(“Computer”);

d = new PigDice();

WINNING_SCORE = 100;

gameOver = false;

current = p1;

}

//—————————————————————————————

// algorithm: if the game is not over, has the current playertake its turn.

// If the current players pigness value is false after the turn,switches the

// current player. Returns true if the currentPlayer changes,false otherwise.

//—————————————————————————————

public boolean playGame()

{

boolean result = false;

if(!gameOver)

{

current.takeTurn(d);

  

if(!current.getPigness())

{

if(current == p1)

{

current = p2;

result = true;

}

else

{

current = p1;

result = true;

}

}

}

return result;

}

//—————————————————————————————

// if either player’s current round points + accumulated gamepoints is

// greater or equal to the winning score,

// sets the value of game over to true (false otherwise) andreturns the result.

//—————————————————————————————

public boolean gameOver()

{

if(current.getGamePoints() + current.getRoundPoints() >=WINNING_SCORE)

{

current.gamePoints = (current.getGamePoints() +current.getRoundPoints());

gameOver = true;

}

return gameOver;

}

//—————————————————————————————

//

//—————————————————————————————

public Player getCurrentPlayer()

{

return current;

}

//—————————————————————————————

//

//—————————————————————————————

public Player getHuman()

{

return p1;

}

//—————————————————————————————

//

//—————————————————————————————

public Player getComputer()

{

return p2;

}

//————————————————————————————–

//

//————————————————————————————–

public PigDice getPigDice()

{

return d;

}

//————————————————————————————–

//

//————————————————————————————–

public String toString()

{

return “”;

}

}

—————————————————————————————————————————————————————————————–

HumanClass

—————————————————————————————————————————————————————————————–

//*********************************************************************

//

//

//*********************************************************************

public class Human extends Player

{

//—————————————————————–

// Constructor

//—————————————————————–

public Human(String name)

{

super(name);

}

//—————————————————————–

//

//—————————————————————–

public boolean beAPig(boolean isPig)

{

pigness = isPig;

return isPig;

}

}

—————————————————————————————————————————————————————-

ComputerClass

—————————————————————————————————————————————————————–

/*********************************************************************

// Computer class

//

//*********************************************************************

public class Computer extends Player

{

//—————————————————————–

// Constructor

//—————————————————————–

public Computer(String name)

{

super(name);

}

//—————————————————————–

// rule of 20

//—————————————————————–

public boolean beAPig(boolean isPig)

{

if(roundPoints < 20)

{   

pigness = true;   

}

else

{

gamePoints = gamePoints + roundPoints;

roundPoints = 0;

pigness = false;   

}

return pigness;

}

}

——————————————————————————————————————————————————————

PigDice Class

——————————————————————————————————————————————————————-

//*******************************************************************************

// PigDice.java Author: 3-14-18

//

//*******************************************************************************

public class PigDice extends PairOfDice

{

//—————————————————————————

// Constructor PigDice

//—————————————————————————

public PigDice()

{

super();

}

  

//————————————————————————–

// Inheritance from PairOfDice

// Adjust the roll to output 3 everytime a 1 is rolled withany

// other number except one. Snake eyes produces sum: 2

//————————————————————————–

public int roll()

{

int sum = super.roll();

  

if (((getDie1()==1) && (getDie2()!=1)) ||((getDie2()==1) && (getDie1()!=1)))

sum = 3;

  

return sum;

}

//—————————————————————————-

//

//

//—————————————————————————-

public String toString()

{

int sum = getDie1() + getDie2();

if (((getDie1()==1) && (getDie2()!=1)) ||((getDie2()==1) && (getDie1()!=1)))

sum = 3;

return “tDie 1: ” + getDie1()

+ “ntDie 2: ” + getDie2()

+ “ntSum: ” + sum;

}

}

——————————————————————————————————————————————————–

Die Class

——————————————————————————————————————————————————–

import javafx.scene.image.Image;

//********************************************************************

// Die.java 3/13/2018

//

// Represents one die (singular of dice) with faces showingvalues

// between 1 and 6.

//********************************************************************

public class Die

{

private final int MAX = 6; // maximum face value

private int faceValue; // current value showing on the die

//—————————————————————–

// Constructor: Sets the initial face value.

//—————————————————————–

public Die()

{

faceValue = 1;

}

//—————————————————————–

// Rolls the die and returns the result.

//—————————————————————–

public int roll()

{

faceValue = (int)(Math.random() * MAX) + 1;

return faceValue;

}

//—————————————————————–

// Face value mutator.

//—————————————————————–

public void setFaceValue (int value)

{

faceValue = value;

}

//—————————————————————–

// Face value accessor.

//—————————————————————–

public int getFaceValue()

{

return faceValue;

}

//—————————————————————–

// Returns a string representation of this die.

//—————————————————————–

public String toString()

{

String result = Integer.toString(faceValue);

return result;

}

//—————————————————————-

// getter of 6 die images from file

// PairOfDice program, aggregation to get images form DieProgram

//—————————————————————-

public Image getDieImage()

{

Image pic = null;

switch (faceValue)

{

case 1:

pic = new Image(“die1.png”);

break;

case 2:

pic = new Image(“die2.png”);

break;

case 3:

pic = new Image(“die3.png”);

break;

case 4:

pic = new Image(“die4.png”);

break;

case 5:

pic = new Image(“die5.png”);

break;

case 6:

pic = new Image(“die6.png”);

break;

}

return pic ;

}

}

————————————————————————————————————————————————————-

GameTester

———————————————————————————————————————————————————-

import java.util.Scanner;

public class GameTester

{

public static void main(String[] args)

{

Game g = new Game();

Scanner s = new Scanner(System.in);

while (!g.gameOver())

{

System.out.println(g.getCurrentPlayer().getName() + “‘sturn”);

System.out.print(“tBe a Pig (Y/N)? “);

g.getCurrentPlayer().beAPig(s.nextLine().toUpperCase().equals(“Y”));

g.playGame();

System.out.println(“Dice: ” + g.getPigDice().toString());

System.out.println(g.getHuman().toString());

System.out.println(g.getComputer().toString());

}

System.out.println(“The winner is “

+ (g.getHuman().getGamePoints() >g.getComputer().getGamePoints() ? g.getHuman().getName() :g.getComputer().getName()));

}

}

——————————————————————————————————————————————-

PairOfDice

——————————————————————————————————————————————

import javafx.scene.image.Image;

//********************************************************************

// PairOfDice.java Author: 3/14/2018

//

// Represents a Pair of Dice that aggregates two Die objects

//********************************************************************

public class PairOfDice

{

//Class level variables

private Die die1, die2;

//—————————————————————–

// Constructor: Instantiates the two Die objects and storesthem

// as class level variables

//—————————————————————–

public PairOfDice()

{

die1 = new Die();

die2 = new Die();

}

//—————————————————————–

// die 1 value accessor (getter)

//—————————————————————–

public int getDie1()

{

return die1.getFaceValue();

}

//—————————————————————–

// die 2 value accessor (getter)

//—————————————————————–

public int getDie2()

{

return die2.getFaceValue();

}

//—————————————————————–

// die 1 value mutator (setter)

//—————————————————————–

public void setDie1(int val)

{

die1.setFaceValue(val);

}

//—————————————————————–

// die 2 value mutator (setter)

//—————————————————————–

public void setDie2(int val)

{

die2.setFaceValue(val);

}

//—————————————————————–

// Rolls both of the die objects and returns the sum of theroll

//—————————————————————–

public int roll()

{

return die1.roll() + die2.roll();

}

//—————————————————————–

// Returns a string representation of this PairOfDice objectwith

// the values labeled appropriately

// Overrides the toString method inherited from Object

//—————————————————————–

public String toString()

{

return “Die 1: ” + die1.toString()

+ “nDie 2: ” + die2.toString()

+ “ntSum: ” + (die1.getFaceValue() + die2.getFaceValue());

}

//—————————————————————–

// Image die1 (getter), from Die program aggregation

// PigDice program will use inheritance from PairOfDiceprogram

//—————————————————————–

public Image getDie1Image()

{

return die1.getDieImage();

}

  

//—————————————————————–

// Image die2 (getter), from Die program aggregation

// PigDice program will use inheritance from PairOfDiceprogram

//—————————————————————–

public Image getDie2Image()

{

return die2.getDieImage();

}

}

Expert Answer


Answer to 2 Nd Take Trying Get Help First Answer Got Said Add Pairofdice Class Forgot Add Listed Cod Q28401538 . . .

OR