diff --git a/.idea/misc.xml b/.idea/misc.xml index 78381ea..2e1c410 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,6 +1,6 @@ - + \ No newline at end of file diff --git a/src/Dice.java b/src/Dice.java new file mode 100644 index 0000000..b21ecf5 --- /dev/null +++ b/src/Dice.java @@ -0,0 +1,27 @@ +/** + * + * @author Trevor Hartman + * @author Angelina Perez + * + * @since Version 1.0 + * + */ +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..8023ce8 100644 --- a/src/Game.java +++ b/src/Game.java @@ -1,3 +1,12 @@ +/** + * + * @author Trevor Hartman + * @author Angelina Perez + * + * @since Version 1.0 + * + */ + import java.util.Scanner; public class Game { @@ -5,19 +14,43 @@ public class Game { Player p2; Dice die; - public void play() { + 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(p1); + takeTurn(current); + + System.out.println(announceWinner()); } public void takeTurn(Player player) { player.toss(this.die); } - public String announceWinner() { + public Player nextPlayer(Player current) { + if(current == this.p1) { + return this.p2; + } else { + return this.p1; + } } - public static void main(String[] args) { + 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()); + } } } + diff --git a/src/Main.java b/src/Main.java new file mode 100644 index 0000000..c55d861 --- /dev/null +++ b/src/Main.java @@ -0,0 +1,25 @@ +/** + * + * @author Trevor Hartman + * @author Angelina Perez + * + * @since Version 1.0 + * + */ +import java.util.Scanner; +public class Main { + 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 we 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..c91f10a --- /dev/null +++ b/src/Player.java @@ -0,0 +1,28 @@ +/** + * + * @author Trevor Hartman + * @author Angelina Perez + * + * @since Version 1.0 + * + */ +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(); + } +}