Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // kliknieta mysza
- // klasa GameWindow
- addMouseListener(new MouseAdapter() {
- public void mousePressed(MouseEvent e) {
- boolean t = MyWindow.isInclusion.isSelected();
- boolean diagonalPick = MyWindow.chcBoxInclusionDiagonal
- .isSelected();
- boolean radiusPick = MyWindow.chcBoxInclusionRadius
- .isSelected();
- System.out.println(t);
- if (t) {
- if (diagonalPick) {
- int mDiagonal = Integer
- .parseInt(MyWindow.tfInclusionDiagonalSize
- .getText());
- System.out.println(mDiagonal);
- automat.generateInclusionWithDiagonal(mDiagonal,
- e.getX(), e.getY(), colorCounter, WIDTH);
- }
- if (radiusPick) {
- int mRadius = Integer
- .parseInt(MyWindow.tfInclusionRadiusSize.getText());
- System.out.println(mRadius);
- automat.generateInclusionWithRadius(mRadius, e.getX(),
- e.getY(), colorCounter, WIDTH);
- } else {
- colorCounter++;
- System.out
- .println("Powinienem wrzucic teraz wtracenie!");
- System.out.println(colorCounter);
- colors.add(new Color(0, 0, 0));
- automat.setState(-1, e.getX() / WIDTH, e.getY() / WIDTH);
- }
- } else {
- colorCounter++;
- colors.add(new Color(rand.nextInt(255), rand.nextInt(255),
- rand.nextInt(255)));
- automat.setState(colorCounter, e.getX() / WIDTH, e.getY()
- / WIDTH);
- System.out.println("Wrzucilem cos!");
- }
- repaint();
- }
- });
- // klasa Automat
- /**
- * Funkcja generujaca ziarno z poczatkowym promieniem
- * @param radius
- */
- public void generateWithRadius(int radius) {
- if (radius > 20) {
- radius = 20;
- MyWindow.tfRadius.setText("20");
- }
- Random rand = new Random();
- int c = 0;
- GameWindow.colorCounter++;
- GameWindow.colors.add(new Color(rand.nextInt(255), rand
- .nextInt(255), rand.nextInt(255)));
- c += (((int) Math.sqrt((radius * radius) / 2)) + 2);
- c %= size;
- setState(GameWindow.colorCounter, c, c);
- }
- // utworzenie wtracenia z zadanym promieniem:
- public void generateInclusionWithRadius(int pRadius, int pX, int pY, int pColorC, int pWidth){
- int a = 0;
- int xCoord = pX/pWidth;
- int yCoord = pY/pWidth;
- a = (int) (pRadius * Math.sqrt(2));
- System.out.println("Bok kwadratu: " + a);
- System.out.println("X: " + xCoord + " Y: " + yCoord);
- pColorC++;
- GameWindow.colors.add(new Color(0, 0, 0));
- // for (int i = xCoord; i < xCoord + a; i++) {
- // for (int j = yCoord; j < yCoord + a; j++) {
- // setState(-1, i, j);
- // }
- // }
- // rownanie okregu, rysuje se
- // xcoord = wspolrzedna x piksela
- // ycoord = wspolrzedna y pixela
- // pRadius - zadany promien
- for (int i = xCoord - pRadius; i < xCoord + pRadius; i++) {
- for (int j = yCoord - pRadius; j < yCoord + pRadius; j++) {
- if(Math.pow(i - xCoord, 2) + Math.pow(j - yCoord, 2) < Math.pow(pRadius, 2)){
- setState(-1, i, j);
- }
- }
- }
- }
- // utworzenie wtracenia z zadana przekatna:
- public void generateInclusionWithDiagonal(int pDiagonal, int pX, int pY, int pColorC, int pWidth){
- int a = 0;
- int xCoord = pX/pWidth;
- int yCoord = pY/pWidth;
- a = (int) ((pDiagonal * Math.sqrt(2)) / 2);
- System.out.println("Bok kwadratu: " + a);
- System.out.println("X: " + xCoord + " Y: " + yCoord);
- pColorC++;
- GameWindow.colors.add(new Color(0, 0, 0));
- // wypelnia od lewy gorny rog
- for (int i = xCoord; i < xCoord + a; i++) {
- for (int j = yCoord; j < yCoord + a; j++) {
- setState(-1, i, j);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement