From eda9a86d8d48758e9982cfffd470c3b38a0a4b0b Mon Sep 17 00:00:00 2001 From: Ben Culkin Date: Sat, 21 Nov 2020 23:11:43 -0500 Subject: Make dice generic Convert dice from dealing exclusively with ints, to deal with objects of arbitrary types --- .../neodice/statements/DiePoolStatementValue.java | 6 ++- .../neodice/statements/DieStatementValue.java | 6 ++- .../neodice/statements/IntArrayStatementValue.java | 50 ---------------------- .../neodice/statements/StatementValue.java | 2 - 4 files changed, 8 insertions(+), 56 deletions(-) delete mode 100644 dice/src/example/java/bjc/dicelang/neodice/statements/IntArrayStatementValue.java (limited to 'dice/src/example/java/bjc/dicelang/neodice/statements') diff --git a/dice/src/example/java/bjc/dicelang/neodice/statements/DiePoolStatementValue.java b/dice/src/example/java/bjc/dicelang/neodice/statements/DiePoolStatementValue.java index a4a9104..551c0e9 100644 --- a/dice/src/example/java/bjc/dicelang/neodice/statements/DiePoolStatementValue.java +++ b/dice/src/example/java/bjc/dicelang/neodice/statements/DiePoolStatementValue.java @@ -7,11 +7,13 @@ import java.util.*; import bjc.dicelang.neodice.*; public class DiePoolStatementValue extends StatementValue { - public final DiePool value; + public final Type elementType; + public final IDiePool value; - public DiePoolStatementValue(DiePool value) { + public DiePoolStatementValue(Type elementType, IDiePool value) { super(DIEPOOL); + this.elementType = elementType; this.value = value; } diff --git a/dice/src/example/java/bjc/dicelang/neodice/statements/DieStatementValue.java b/dice/src/example/java/bjc/dicelang/neodice/statements/DieStatementValue.java index 55a6856..e1dbde8 100644 --- a/dice/src/example/java/bjc/dicelang/neodice/statements/DieStatementValue.java +++ b/dice/src/example/java/bjc/dicelang/neodice/statements/DieStatementValue.java @@ -7,11 +7,13 @@ import java.util.*; import bjc.dicelang.neodice.*; public class DieStatementValue extends StatementValue { - public final Die value; + public final Type sideType; + public final IDie value; - public DieStatementValue(Die value) { + public DieStatementValue(Type sideType, IDie value) { super(DIE); + this.sideType = sideType; this.value = value; } diff --git a/dice/src/example/java/bjc/dicelang/neodice/statements/IntArrayStatementValue.java b/dice/src/example/java/bjc/dicelang/neodice/statements/IntArrayStatementValue.java deleted file mode 100644 index b313d42..0000000 --- a/dice/src/example/java/bjc/dicelang/neodice/statements/IntArrayStatementValue.java +++ /dev/null @@ -1,50 +0,0 @@ -package bjc.dicelang.neodice.statements; - -import static bjc.dicelang.neodice.statements.StatementValue.Type.*; - -import java.util.*; - -public class IntArrayStatementValue extends StatementValue { - public final int[] values; - - public IntArrayStatementValue(int... values) { - super(INT_ARRAY); - - this.values = values; - } - - @Override - public String toString() { - StringBuilder buffer = new StringBuilder(); - - buffer.append('('); - for (int index = 0; index < values.length; index++) { - int value = values[index]; - - buffer.append(value); - if (index < values.length - 1) buffer.append(", "); - } - buffer.append(')'); - - return buffer.toString(); - } - - @Override - public int hashCode() { - final int prime = 31; - int result = super.hashCode(); - result = prime * result + Arrays.hashCode(values); - return result; - } - - @Override - public boolean equals(Object obj) { - if (this == obj) return true; - if (!super.equals(obj)) return false; - if (getClass() != obj.getClass()) return false; - - IntArrayStatementValue other = (IntArrayStatementValue) obj; - - return Arrays.equals(values, other.values); - } -} \ No newline at end of file diff --git a/dice/src/example/java/bjc/dicelang/neodice/statements/StatementValue.java b/dice/src/example/java/bjc/dicelang/neodice/statements/StatementValue.java index 5090bc7..de796e5 100644 --- a/dice/src/example/java/bjc/dicelang/neodice/statements/StatementValue.java +++ b/dice/src/example/java/bjc/dicelang/neodice/statements/StatementValue.java @@ -8,8 +8,6 @@ public abstract class StatementValue { BOOLEAN, INTEGER, - INT_ARRAY, - DIE, DIEPOOL, -- cgit v1.2.3