summaryrefslogtreecommitdiff
path: root/dice/src/main/java/bjc/dicelang/neodice/DieFactory.java
diff options
context:
space:
mode:
authorBen Culkin <scorpress@gmail.com>2020-11-21 18:10:30 -0500
committerBen Culkin <scorpress@gmail.com>2020-11-21 18:10:30 -0500
commitb5c2fb1ed923d43412694729b4445a66fa9f47fc (patch)
tree2b9dc847976f3a5f7d7a2d48cff0a50e962efeb0 /dice/src/main/java/bjc/dicelang/neodice/DieFactory.java
parent785a1ed2437d9810b39deb376c163e0e3e73160f (diff)
Restructure new die implementation
Diffstat (limited to 'dice/src/main/java/bjc/dicelang/neodice/DieFactory.java')
-rw-r--r--dice/src/main/java/bjc/dicelang/neodice/DieFactory.java63
1 files changed, 0 insertions, 63 deletions
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