- Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathAddSubOperator.java
More file actions
Latest commit
41 lines (32 loc) · 757 Bytes
/
Copy pathAddSubOperator.java
File metadata and controls
41 lines (32 loc) · 757 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
importjava.util.Random;
publicclassAddSubOperatorextendsOperator {
privateintvalue;
publicAddSubOperator(Difficultydiff, Randomrand) {
super(diff, rand);
shuffle();
}
publicOperatorcloneThis() {
AddSubOperatorn = newAddSubOperator(this.diff, this.rand);
n.value = this.value;
returnn;
}
publicvoidshuffle() {
value = rand.nextInt((int)(diff.max / 3)) + 1;
if (rand.nextBoolean()) {
value = -value;
}
}
publicbooleanworksForInput(intin) {
returnin + value < diff.max && in + value > diff.min;
}
publicintgetOutput() {
returnprev.getOutput() + value;
}
publicStringtoString() {
if (value < 0) {
return"" + (-value) + " abziehen";
} else {
return"" + value + " dazu";
}
}
}