From 8f3d58bdad73283cb4280e1e9228d740f7ffbe85 Mon Sep 17 00:00:00 2001 From: fires Date: Sat, 21 Oct 2023 21:53:35 -0700 Subject: [PATCH] Finished Lab 5 --- .idea/misc.xml | 1 - src/Dice.java | 20 ++++++++++++++++++++ src/Game.java | 50 +++++++++++++++++++++++++++++++++++++++++++------ src/Player.java | 18 ++++++++++++++++++ 4 files changed, 82 insertions(+), 7 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..80154d2 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,4 +1,3 @@ - diff --git a/src/Dice.java b/src/Dice.java new file mode 100644 index 0000000..68049bb --- /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(){ + this.sideFacingUp = this.randomGenerator.nextInt(this.sides)+1; + } + public int view(){ + return this.sideFacingUp; + } + + } + diff --git a/src/Game.java b/src/Game.java index f4a3a3c..5f65574 100644 --- a/src/Game.java +++ b/src/Game.java @@ -1,23 +1,61 @@ + 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 Player nextPlayer(Player current) { + public Game(Player p1, Player p2, Dice die){ + this.p1 = p1; + this.p2 = p2; + this.die = die; } + public void play() { + Player current = p1; + takeTurn(current); + current = nextPlayer(current); + takeTurn(current); + } public void takeTurn(Player player) { player.toss(this.die); } + public Player nextPlayer(Player current) { +if(current == this.p1){ + return this.p2; + +}else { + return this.p1; +} + } + + public String announceWinner() { + System.out.printf("%s rolled %d%n%s rolled %d%n", p1.getName(), p1.getScore(),p2.getName(),p2.getScore()); + if(this.p1.getScore() > this.p2.getScore()){ + return String.format("%s Won", p1.getName()); + }else if(this.p2.getScore() > this.p1.getScore()){ + return String.format("%s Won", p2.getName()); + }else { + return String.format("%s and %s tied", p1.getName(), p2.getName()); + } } public static void main(String[] args) { + Scanner s = new Scanner(System.in); + System.out.println("Enter Player 1's Name: "); + String playerName = s.nextLine(); + Player p1 = new Player(playerName); + System.out.println("Enter Player 2's Name: "); + playerName = s.nextLine(); + Player p2 = new Player(playerName); + System.out.println("What sided die are playing with?"); + int sides = Integer.parseInt(s.nextLine()); + + Game g = new Game(p1, p2, new Dice(sides)); + g.play(); } } diff --git a/src/Player.java b/src/Player.java new file mode 100644 index 0000000..75bd970 --- /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(); + } + }