From 92d9addee6338a4c23bc65a2bc81637c716418dd Mon Sep 17 00:00:00 2001 From: FinnCl4rk Date: Thu, 28 Sep 2023 12:50:38 -0700 Subject: [PATCH 1/2] TBC Lab 5 --- src/Dice.java | 31 +++++++++++++++++++++++++++++++ src/Game.java | 16 ++++++++++++++++ src/Player.java | 20 ++++++++++++++++++++ 3 files changed, 67 insertions(+) create mode 100644 src/Dice.java create mode 100644 src/Player.java diff --git a/src/Dice.java b/src/Dice.java new file mode 100644 index 0000000..a3676e5 --- /dev/null +++ b/src/Dice.java @@ -0,0 +1,31 @@ +import java.util.Random; +import java.util.random.RandomGenerator; + + +public class Dice { + private int sideFacingUp; + private int sides; + private Random randomGenerator; + + public Dice(int sides) { + this.sides = sides; + this.randomGenerator = new Random(); + } + + public int getSides() { + return this.sides; + } + + public int roll() { + this.sideFacingUp = this.randomGenerator.nextInt(this.sides) + 1; + return sideFacingUp; + } + + public int view() { + return this.sideFacingUp; + } +} + + + + diff --git a/src/Game.java b/src/Game.java index f4a3a3c..f4306b6 100644 --- a/src/Game.java +++ b/src/Game.java @@ -6,9 +6,16 @@ public class Game { Dice die; public void play() { + Player current = p1; + takeTurn(current); + current = nextPlayer(current); + takeTurn(current); + System.out.print(announceWinner()); + } public Player nextPlayer(Player current) { + } public void takeTurn(Player player) { @@ -17,7 +24,16 @@ public void takeTurn(Player player) { public String announceWinner() { } + public Game(Player p1,Player p2,Dice die){ + this.p1= p1; + this.p2 = p2; + this.die = die; + + } public static void main(String[] args) { + Dice d1 = new Dice(6); + Player p1 = new Player("Finn"); + Game g = new Game(p1, p2, die); } } diff --git a/src/Player.java b/src/Player.java new file mode 100644 index 0000000..7540e62 --- /dev/null +++ b/src/Player.java @@ -0,0 +1,20 @@ +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(); + } + +} +Player p1 = new Player("Finn"); +Player p2 = new Player("Elias"); \ No newline at end of file From 40a480c47f7c15312e1ae85cedde593216491bdf Mon Sep 17 00:00:00 2001 From: FinnCl4rk Date: Sat, 30 Sep 2023 16:03:26 -0700 Subject: [PATCH 2/2] Completed Java Lab 005 --- .idea/misc.xml | 3 +-- src/Dice.java | 1 - src/Game.java | 26 ++++++++++++++++---------- src/Main.java | 17 +++++++++++++++++ src/Player.java | 2 -- 5 files changed, 34 insertions(+), 15 deletions(-) create mode 100644 src/Main.java diff --git a/.idea/misc.xml b/.idea/misc.xml index 78381ea..12fbc75 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 index a3676e5..4956f43 100644 --- a/src/Dice.java +++ b/src/Dice.java @@ -1,7 +1,6 @@ import java.util.Random; import java.util.random.RandomGenerator; - public class Dice { private int sideFacingUp; private int sides; diff --git a/src/Game.java b/src/Game.java index f4306b6..76da664 100644 --- a/src/Game.java +++ b/src/Game.java @@ -10,19 +10,31 @@ public void play() { takeTurn(current); current = nextPlayer(current); takeTurn(current); - System.out.print(announceWinner()); - - } - public Player nextPlayer(Player current) { + System.out.print(announceWinner()); } 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", p1.getName(), p1.getScore(), p2.getName(), p2.getScore()); + if(this.p1.getScore() > this.p2.getScore()){ + return String.format("%n%s won!", p1.getName());} + else if(this.p2.getScore() > this.p1.getScore()){ + return String.format("%n%s won!", p2.getName());} + else { + return String.format("%n%s and %s tied!", p1.getName(), p2.getName()); + } } public Game(Player p1,Player p2,Dice die){ this.p1= p1; @@ -30,10 +42,4 @@ public Game(Player p1,Player p2,Dice die){ this.die = die; } - - public static void main(String[] args) { - Dice d1 = new Dice(6); - Player p1 = new Player("Finn"); - Game g = new Game(p1, p2, die); - } } diff --git a/src/Main.java b/src/Main.java new file mode 100644 index 0000000..041f3da --- /dev/null +++ b/src/Main.java @@ -0,0 +1,17 @@ +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("How many sides does the die you're playing with have? "); + 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 index 7540e62..5d2d88d 100644 --- a/src/Player.java +++ b/src/Player.java @@ -16,5 +16,3 @@ public void toss(Dice die){ } } -Player p1 = new Player("Finn"); -Player p2 = new Player("Elias"); \ No newline at end of file