From 1c4e5c300b75a377daa6289810bad58a1e0db033 Mon Sep 17 00:00:00 2001 From: Ethan Date: Sat, 30 Sep 2023 20:59:37 -0700 Subject: [PATCH] 9/30/23 --- .idea/misc.xml | 3 +-- src/Dice.java | 20 ++++++++++++++++++++ src/Game.java | 46 +++++++++++++++++++++++++++++++++++++++------- src/Player.java | 24 ++++++++++++++++++++++++ 4 files changed, 84 insertions(+), 9 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..e355421 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,6 +1,5 @@ - - + \ No newline at end of file diff --git a/src/Dice.java b/src/Dice.java new file mode 100644 index 0000000..57c1d08 --- /dev/null +++ b/src/Dice.java @@ -0,0 +1,20 @@ +import java.util.Random; + +public class Dice { + private int sideFacingUp; + private int sides; + private Random randomGenerator; + public Dice(int sides) { + this.sides = sides; + this.randomGenerator = new Random(); + } + + public void roll(){ + sideFacingUp = randomGenerator.nextInt(sides)+1; + } + public int view(){ + return sideFacingUp; + } +} + + diff --git a/src/Game.java b/src/Game.java index f4a3a3c..128ab20 100644 --- a/src/Game.java +++ b/src/Game.java @@ -1,23 +1,55 @@ import java.util.Scanner; - public class Game { - Player p1; - Player p2; - Dice die; - public void play() { + private Player p1; + private Player p2; + private Dice die; + + public Game(Player p1, Player p2, Dice die) { + this.p1 = p1; + this.p2 = p2; + this.die = die; } - public Player nextPlayer(Player current) { + public void play() { + Player current = p1; + takeTurn(current); + current = nextPlayer(current); + takeTurn(current); + System.out.println(announceWinner()); } public void takeTurn(Player player) { - player.toss(this.die); + player.toss(die); + } + + public Player nextPlayer(Player player) { + if (player == p1) { + return p2; + } else { + return p1; + } } public String announceWinner() { + String result = ""; + result += "Player 1: " + p1.getName() + ", Score: " + p1.getScore() + "\n"; + result += "Player 2: " + p2.getName() + ", Score: " + p2.getScore() + "\n"; + if (p1.getScore() > p2.getScore()) { + result += "The winner is " + p1.getName() + "!"; + } else if (p1.getScore() < p2.getScore()) { + result += "The winner is " + p2.getName() + "!"; + } else { + result += "It's a tie!"; + } + return result; } public static void main(String[] args) { + Scanner scanner = new Scanner(System.in); + System.out.println("How many sides should the dice have?"); + int sides = scanner.nextInt(); + Game game = new Game(new Player("Alice"), new Player("Bob"), new Dice(sides)); + game.play(); } } diff --git a/src/Player.java b/src/Player.java new file mode 100644 index 0000000..88efcad --- /dev/null +++ b/src/Player.java @@ -0,0 +1,24 @@ +public class Player { + + private String name; + private int score; + + public Player(String name) { + this.name = name; + } + + public String getName() { + return name; + } + + public int getScore() { + return score; + } + + public void toss(Dice die) { + die.roll(); + int view = die.view(); + score += view; + } +} +