Select Git revision
ListMatrix.class
Forked from
YAGOUBI Rim / Game of life Template
Source project has a limited visibility.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
RoadFactory.java 1.20 KiB
package model;
import util.Position;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Random;
public class RoadFactory implements ElementFactory{
Random random = new Random();
public Element getNewElement(BoardData boardData, Position position){
int[][] dir={{0,1},{0,-1},{1,0},{-1,0},{1,1},{1,-1},{-1,1},{-1,-1}};
int[] currentDirection1,currentDirection2;
do{
currentDirection1 = dir[random.nextInt(8)];
currentDirection2 = dir[random.nextInt(8)];
}while(currentDirection1==currentDirection2);
for (int i = position.row(),j= position.column();
i < boardData.getRowCount() && i >= 0 && j < boardData.getColumnCount() && j >= 0 ;
i+=currentDirection1[0],j+=currentDirection1[1]) {
boardData.addElement(new Road(new Position(i,j)));
}
for (int i = position.row(),j= position.column();
i < boardData.getRowCount() && i >= 0 && j < boardData.getColumnCount() && j >= 0 ;
i+=currentDirection2[0],j+=currentDirection2[1]) {
boardData.addElement(new Road(new Position(i,j)));
}
return new Road(position);
}
}