From 7978053b0eea56e438cc928e85d27cdcc15b89da Mon Sep 17 00:00:00 2001 From: tchristie119 Date: Fri, 29 Sep 2023 13:38:48 -0700 Subject: [PATCH] tc Commit --- .idea/misc.xml | 6 +++++- src/Dice.java | 20 ++++++++++++++++++++ src/Game.java | 48 +++++++++++++++++++++++++++++++++++++++++------- src/Player.java | 18 ++++++++++++++++++ 4 files changed, 84 insertions(+), 8 deletions(-) create mode 100644 src/Dice.java create mode 100644 src/Player.java diff --git a/.idea/misc.xml b/.idea/misc.xml index 78381ea..61ce530 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,6 +1,10 @@ - + + + \ No newline at end of file diff --git a/src/Dice.java b/src/Dice.java new file mode 100644 index 0000000..4d70e7f --- /dev/null +++ b/src/Dice.java @@ -0,0 +1,20 @@ +import java.util.Random; +public class Dice { + // Instance variables + private int sideFacingUp; + private int sides; + private Random randomGenerator; + // Constructor + public Dice(int sides) { + this.sides = sides; + this.randomGenerator = new Random(); + } + // Roll method + public void roll() { + this.sideFacingUp = randomGenerator.nextInt(this.sides) + 1; + } + // View method + public int view() { + return this.sideFacingUp; + } +} \ No newline at end of file diff --git a/src/Game.java b/src/Game.java index f4a3a3c..331d876 100644 --- a/src/Game.java +++ b/src/Game.java @@ -1,23 +1,57 @@ import java.util.Scanner; - public class Game { + // instance variables Player p1; Player p2; Dice die; - + // constructor + public Game(Player p1, Player p2, Dice die) { + this.p1 = p1; + this.p2 = p2; + this.die = die; + } + // play method public void play() { + Player current = this.p1; + takeTurn(current); + current = nextPlayer(current); + takeTurn(current); + announceWinner(); } - + // next player method public Player nextPlayer(Player current) { + if(current.equals(this.p1)) { + return this.p2; + } + return this.p1; } - + // take turn method public void takeTurn(Player player) { player.toss(this.die); } - - public String announceWinner() { + // announce winner method + public void announceWinner() { + System.out.printf("Name: %s Score: %d%n", this.p1.getName(), this.p1.getScore()); + System.out.printf("Name: %s Score: %d%n", this.p2.getName(), this.p2.getScore()); + if (p1.getScore() > p2.getScore()) { + System.out.println(this.p1.getName() + " is the winner!"); + } + else if (p1.getScore() < p2.getScore()) { + System.out.println(this.p2.getName() + " is the winner!"); + } + else if (p1.getScore() == p2.getScore()) { + System.out.println("It's a draw!"); + } } - + // main method public static void main(String[] args) { + Scanner scan = new Scanner(System.in); + System.out.println("How many sides on the die? "); + int sides = scan.nextInt(); + Player play1 = new Player("Taylor"); + Player play2 = new Player("Ann"); + Dice d = new Dice(sides); + Game game = new Game(play1, play2, d); + game.play(); } } diff --git a/src/Player.java b/src/Player.java new file mode 100644 index 0000000..86d2b58 --- /dev/null +++ b/src/Player.java @@ -0,0 +1,18 @@ +public class Player { + private String name; + private int score; + public Player(String name) { + this.name = name; + } + public String getName() { + return this.name; + } + public int getScore() { + return this.score; + } + public void toss(Dice die) { + die.roll(); + this.score = die.view(); + } + } +