From b5c2fb1ed923d43412694729b4445a66fa9f47fc Mon Sep 17 00:00:00 2001 From: Ben Culkin Date: Sat, 21 Nov 2020 18:10:30 -0500 Subject: Restructure new die implementation --- .../main/java/bjc/dicelang/neodice/DieFactory.java | 63 ---------------------- 1 file changed, 63 deletions(-) delete mode 100644 dice/src/main/java/bjc/dicelang/neodice/DieFactory.java (limited to 'dice/src/main/java/bjc/dicelang/neodice/DieFactory.java') diff --git a/dice/src/main/java/bjc/dicelang/neodice/DieFactory.java b/dice/src/main/java/bjc/dicelang/neodice/DieFactory.java deleted file mode 100644 index d9bae7e..0000000 --- a/dice/src/main/java/bjc/dicelang/neodice/DieFactory.java +++ /dev/null @@ -1,63 +0,0 @@ -package bjc.dicelang.neodice; - -import java.util.*; - -/** - * Various static functions which create instances of Die. - * - * @author Ben Culkin - * - */ -public class DieFactory { - /** - * Create a simple polyhedral die with a fixed number of sides. - * - * @param sides The number of sides for the die. - * - * @return A die which returns a result from 1 to sides. - */ - public static Die polyhedral(int sides) { - return new PolyhedralDie(sides); - } -} - -final class PolyhedralDie implements Die { - private final int sides; - - public PolyhedralDie(int sides) { - this.sides = sides; - } - - @Override - public int roll(Random rng) { - // Dice are one-based, not zero-based. - return rng.nextInt(sides) + 1; - } - - @Override - public String toString() { - return String.format("d%d", sides); - } - - @Override - public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + sides; - return result; - } - - @Override - public boolean equals(Object obj) { - if (this == obj) return true; - if (obj == null) return false; - if (getClass() != obj.getClass()) return false; - - PolyhedralDie other = (PolyhedralDie) obj; - - if (sides != other.sides) return false; - else return true; - } - - -} \ No newline at end of file -- cgit v1.2.3