Newer
Older
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
package model.automata;
import model.CellularAutomaton;
import java.util.Random;
import static model.automata.WireWorldState.WIRE;
public class WireWorldAutomaton implements CellularAutomaton<WireWorldState> {
private final int numberOfColumns;
private final int numberOfRows;
public WireWorldAutomaton(int numberOfColumns, int numberOfRows) {
this.numberOfColumns = numberOfColumns;
this.numberOfRows = numberOfRows;
}
@Override
public int numberOfColumns() {
return numberOfColumns;
}
@Override
public int numberOfRows() {
return numberOfRows;
}
@Override
public WireWorldState defaultState() {
return WireWorldState.DEAD;
}
@Override
public WireWorldState randomState(Random generator) {
int r = generator.nextInt(10);
return r < 3 ? WireWorldState.WIRE: WireWorldState.DEAD;
}
}