load rule
This commit is contained in:
parent
83f59d1e15
commit
ac78093dfc
|
|
@ -322,6 +322,36 @@ public class Simulator extends Thread {
|
||||||
}
|
}
|
||||||
return rule;
|
return rule;
|
||||||
}
|
}
|
||||||
|
public void loadRule(ArrayList<String> lines) { //to check
|
||||||
|
/*
|
||||||
|
* First some checks that the file is usable
|
||||||
|
* We call early returns in conditions like this
|
||||||
|
* "Guard clauses", as they guard the method
|
||||||
|
* against unwanted inputs
|
||||||
|
*/
|
||||||
|
if(lines.size()<=0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
String firstLine = lines.get(0);
|
||||||
|
String[] firstLineElements = firstLine.split(";");
|
||||||
|
if(firstLineElements.length<=0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
* now we fill in the world
|
||||||
|
* with the content of the file
|
||||||
|
*/
|
||||||
|
for(int y =0; y<lines.size();y++) {
|
||||||
|
String line = lines.get(y);
|
||||||
|
String[] lineElements = line.split(";");
|
||||||
|
for(int x=0; x<lineElements.length;x++) {
|
||||||
|
String elem = lineElements[x];
|
||||||
|
int value = Integer.parseInt(elem);
|
||||||
|
setCell(x, y, value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void generateRandom(float chanceOfLife) {
|
public void generateRandom(float chanceOfLife) {
|
||||||
/*
|
/*
|
||||||
* Advice :
|
* Advice :
|
||||||
|
|
@ -369,31 +399,8 @@ public class Simulator extends Thread {
|
||||||
* @see loadRule for inverse process
|
* @see loadRule for inverse process
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public void loadRule(ArrayList<String> lines) {
|
|
||||||
if(lines.size()<=0) {
|
|
||||||
System.out.println("empty rule file");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
//TODO : remove previous rule (=emptying lists)
|
|
||||||
|
|
||||||
|
|
||||||
String surviveLine = lines.get(0);
|
|
||||||
String birthLine = lines.get(1);
|
|
||||||
String[] surviveElements = surviveLine.split(";");
|
|
||||||
for(int x=0; x<surviveElements.length;x++) {
|
|
||||||
String elem = surviveElements[x];
|
|
||||||
int value = Integer.parseInt(elem);
|
|
||||||
//TODO : add value to possible survive values
|
|
||||||
|
|
||||||
}
|
|
||||||
String[] birthElements = birthLine.split(";");
|
|
||||||
for(int x=0; x<birthElements.length;x++) {
|
|
||||||
String elem = birthElements[x];
|
|
||||||
int value = Integer.parseInt(elem);
|
|
||||||
//TODO : add value to possible birth values
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public ArrayList<String> getAgentsSave() {
|
public ArrayList<String> getAgentsSave() {
|
||||||
//TODO : Same idea as the other save method, but for agents
|
//TODO : Same idea as the other save method, but for agents
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue