Лабораторная работа №2

This commit is contained in:
2024-04-14 18:00:41 +04:00
parent eaef3c6307
commit c7056a691d
8 changed files with 80 additions and 4 deletions

View File

@@ -1,5 +1,7 @@
package Scripts;
import Scripts.Wheels.DrawingWheels;
import java.awt.*;
import java.util.Random;

View File

@@ -1,5 +1,7 @@
package Scripts;
import Scripts.Wheels.DrawingWheels;
import java.awt.*;
import java.util.Random;

View File

@@ -1,4 +1,4 @@
package Scripts;
package Scripts.Wheels;
public enum CountWheels {
Two(2),

View File

@@ -0,0 +1,13 @@
package Scripts.Wheels;
import java.awt.*;
public class DrawOrnament implements IOrnament {
private int _offsetDraw = 6;
@Override
public void DrawOrnament(int x, int y, int sizeX, int sizeY, Graphics2D g) {
g.setColor(Color.CYAN);
g.fillRect(x + _offsetDraw, y + _offsetDraw, sizeX - _offsetDraw, sizeY - _offsetDraw);
}
}

View File

@@ -0,0 +1,16 @@
package Scripts.Wheels;
import java.awt.*;
public class DrawOrnamentOval implements IOrnament {
private int _offsetDraw = 4;
@Override
public void DrawOrnament(int x, int y, int sizeX, int sizeY, Graphics2D g) {
g.setColor(Color.DARK_GRAY);
g.drawRect(x + _offsetDraw, y + _offsetDraw, sizeX - _offsetDraw, sizeY - _offsetDraw);
g.setColor(Color.PINK);
g.drawOval(x + _offsetDraw, y + _offsetDraw, sizeX - _offsetDraw, sizeY - _offsetDraw);
}
}

View File

@@ -0,0 +1,18 @@
package Scripts.Wheels;
import java.awt.*;
public class DrawOrnamentTriangle implements IOrnament {
private int _offsetDraw = 4;
@Override
public void DrawOrnament(int x, int y, int sizeX, int sizeY, Graphics2D g) {
g.setColor(Color.RED);
Polygon elements = new Polygon();
elements.addPoint(x + _offsetDraw, y + _offsetDraw * 2);
elements.addPoint(x + _offsetDraw * 2, y + _offsetDraw);
elements.addPoint(x+ _offsetDraw, y+ _offsetDraw);
g.fillPolygon(elements);
}
}

View File

@@ -1,10 +1,13 @@
package Scripts;
package Scripts.Wheels;
import Scripts.Wheels.CountWheels;
import java.awt.*;
import java.util.Random;
public class DrawingWheels {
private CountWheels _wheels;
private IOrnament _ornament;
public void SetCountWheels(int Count){
for (CountWheels temp: CountWheels.values())
@@ -19,10 +22,25 @@ public class DrawingWheels {
}
public void DrawWheels(Graphics2D g,int startPosX[], int startPosY, Color color) {
g.setColor(color);
Random rnd = new Random();
int ranOrnament = rnd.nextInt(0, 3);
switch (ranOrnament) {
case 0:
_ornament = new DrawOrnament();
break;
case 1:
_ornament = new DrawOrnamentTriangle();
break;
case 2:
_ornament = new DrawOrnamentOval();
break;
}
for (int i = 0; i < startPosX.length; i++) {
g.setColor(color);
g.drawOval(startPosX[i], startPosY, 10, 10);
g.fillOval(startPosX[i], startPosY, 10, 10);
_ornament.DrawOrnament(startPosX[i], startPosY, 10, 10, g);
}
}
}

View File

@@ -0,0 +1,7 @@
package Scripts.Wheels;
import java.awt.*;
public interface IOrnament {
void DrawOrnament(int x, int y, int sizeX, int sizeY, Graphics2D g);
}