private static ArrayList<Towers> FindMultipleSkillsTower( int direction, FieldIndex startPoint, boolean[][] cluster) { // checks for the two last pieces of a multiple-skills tower in the given direction // startPoint should be the second index // returns number of found towers ArrayList<Towers> towerList = new ArrayList<Towers>(); FieldIndex right = startPoint.Right(direction); if (right.Valid() && cluster[right.x()][right.y()]) { FieldIndex down = right.Down(direction); if (down.Valid() && cluster[down.x()][down.y()]) { Towers tower = new Towers(startPoint, direction); // initing the tower tower.add(right); tower.add(down); tower.towerType = SkillType.SKILLCAP; towerList.add(tower); } } return towerList; }
private Towers(FieldIndex f, int direction) { tower = new ArrayList<FieldIndex>(4); tower.add(f.Down(direction)); tower.add(f); }