Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Sierpinski
- {
- public static ArrayList<Square> carpet(ArrayList<Square> l, int levels)
- {
- // TODO: Milestone 2
- if(levels < 0)
- throw new IllegalArgumentException();
- // TODO: Milestone 3
- if(levels == 0)
- return l;
- // TODO: Milestone 4
- ArrayList<Square> newSquares = new ArrayList<>();
- for(Square x: l)
- {
- Square newSquare1 = new Square();
- Square newSquare2 = new Square();
- Square newSquare3 = new Square();
- Square newSquare4 = new Square();
- Square newSquare5 = new Square();
- Square newSquare6 = new Square();
- Square newSquare7 = new Square();
- Square newSquare8 = new Square();
- if(levels > 0)
- {
- int newH = x.getHeight() / 3;
- int newW = x.getWidth() / 3;
- newSquare1.setHeight(newH);
- newSquare1.setWidth(newW);
- newSquare2.setHeight(newH);
- newSquare2.setWidth(newW);
- newSquare3.setHeight(newH);
- newSquare3.setWidth(newW);
- newSquare4.setHeight(newH);
- newSquare4.setWidth(newW);
- newSquare5.setHeight(newH);
- newSquare5.setWidth(newW);
- newSquare6.setHeight(newH);
- newSquare6.setWidth(newW);
- newSquare7.setHeight(newH);
- newSquare7.setWidth(newW);
- newSquare8.setHeight(newH);
- newSquare8.setWidth(newW);
- int x1 = x.getX();
- int x2 = x.getX() + newW;
- int x3 = x1 + 2 * newW;
- int y1 = x.getY();
- int y2 = y1 + newH;
- int y3 = y1 + 2 * newH;
- newSquare1.setX(x1);
- newSquare1.setY(y1);
- newSquares.add(newSquare1);
- newSquare2.setX(x2);
- newSquare2.setY(y1);
- newSquares.add(newSquare2);
- newSquare3.setX(x3);
- newSquare3.setY(y1);
- newSquares.add(newSquare3);
- newSquare4.setX(x1);
- newSquare4.setY(y2);
- newSquares.add(newSquare4);
- newSquare5.setX(x3);
- newSquare5.setY(y2);
- newSquares.add(newSquare5);
- newSquare6.setX(x1);
- newSquare6.setY(y3);
- newSquares.add(newSquare6);
- newSquare7.setX(x2);
- newSquare7.setY(y3);
- newSquares.add(newSquare7);
- newSquare8.setX(x3);
- newSquare8.setY(y3);
- newSquares.add(newSquare8);
- }
- }
- return carpet(newSquares, levels - 1);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement