LabWork02: Выполнено

This commit is contained in:
Safgerd 2022-11-07 02:08:18 +04:00
parent 4805ad09d0
commit 67255fd203
4 changed files with 50 additions and 46 deletions

View File

@ -23,64 +23,67 @@ public class DrawningCrossRollers implements IDrawningRollers{
Color mainColor = colorRollers==null ? Color.LIGHT_GRAY : colorRollers;
// Крупные катки - всегда
// 1
g.setColor(mainColor);
g.fillOval((int)_startPosX + 5, (int)_startPosY + 60, 22, 22);
g.setColor(penColor);
g.drawOval((int)_startPosX + 5, (int)_startPosY + 60, 22, 22);
// вертикальное перекрестие
g.fillRect((int)_startPosX + 5 + 9, (int)_startPosY + 60 + 5, 5, 14);
g.fillRect((int)_startPosX + 14, (int)_startPosY + 65, 5, 14);
// горизонтальное перекрестие
g.fillRect((int)_startPosX + 5 + 5, (int)_startPosY + 60 + 9, 13, 5);
g.fillRect((int)_startPosX + 10, (int)_startPosY + 69, 13, 5);
// 2
g.setColor(mainColor);
g.fillOval((int)_startPosX + 83, (int)_startPosY + 60, 22, 22);
g.setColor(penColor);
g.drawOval((int)_startPosX + 83, (int)_startPosY + 60, 22, 22);
// вертикальное перекрестие
g.fillRect((int)_startPosX + 83 + 9, (int)_startPosY + 60 + 5, 5, 14);
g.fillRect((int)_startPosX + 92, (int)_startPosY + 65, 5, 14);
// горизонтальное перекрестие
g.fillRect((int)_startPosX + 83 + 5, (int)_startPosY + 60 + 9, 13, 5);
g.fillRect((int)_startPosX + 88, (int)_startPosY + 69, 13, 5);
// Малые катки - всегда
// 1
g.setColor(mainColor);
g.fillOval((int)_startPosX + 43, (int)_startPosY + 58, 6, 6);
g.setColor(penColor);
g.drawOval((int)_startPosX + 43, (int)_startPosY + 58, 6, 6);
// вертикальное перекрестие
g.fillRect((int)_startPosX + 43 + 3, (int)_startPosY + 58 + 2, 1, 3);
g.fillRect((int)_startPosX + 46, (int)_startPosY + 60, 1, 3);
// горизонтальное перекрестие
g.fillRect((int)_startPosX + 43 + 2, (int)_startPosY + 58 + 3, 3, 1);
g.fillRect((int)_startPosX + 45, (int)_startPosY + 61, 3, 1);
// 2
g.setColor(mainColor);
g.fillOval((int)_startPosX + 61, (int)_startPosY + 58, 6, 6);
g.setColor(penColor);
g.drawOval((int)_startPosX + 61, (int)_startPosY + 58, 6, 6);
// вертикальное перекрестие
g.fillRect((int)_startPosX + 61 + 3, (int)_startPosY + 58 + 2, 1, 3);
g.fillRect((int)_startPosX + 64, (int)_startPosY + 60, 1, 3);
// горизонтальное перекрестие
g.fillRect((int)_startPosX + 61 + 2, (int)_startPosY + 58 + 3, 3, 1);
g.fillRect((int)_startPosX + 63, (int)_startPosY + 61, 3, 1);
// Средние катки - не всегда
switch (rollersCount){
case Six:
// 1
g.setColor(mainColor);
g.fillOval((int)_startPosX + 33, (int)_startPosY + 73, 10, 10);
g.setColor(penColor);
g.drawOval((int)_startPosX + 33, (int)_startPosY + 73, 10, 10);
// вертикальное перекрестие
g.fillRect((int)_startPosX + 33 + 4, (int)_startPosY + 73 + 2, 2, 6);
g.fillRect((int)_startPosX + 37, (int)_startPosY + 75, 2, 6);
// горизонтальное перекрестие
g.fillRect((int)_startPosX + 33 + 2, (int)_startPosY + 73 + 4, 6, 2);
g.fillRect((int)_startPosX + 35, (int)_startPosY + 77, 6, 2);
case Five:
// 2
g.setColor(mainColor);
g.fillOval((int)_startPosX + 68, (int)_startPosY + 73, 10, 10);
g.setColor(penColor);
g.drawOval((int)_startPosX + 68, (int)_startPosY + 73, 10, 10);
// вертикальное перекрестие
g.fillRect((int)_startPosX + 68 + 4, (int)_startPosY + 73 + 2, 2, 6);
g.fillRect((int)_startPosX + 72, (int)_startPosY + 75, 2, 6);
// горизонтальное перекрестие
g.fillRect((int)_startPosX + 68 + 2, (int)_startPosY + 73 + 4, 6, 2);
g.fillRect((int)_startPosX + 70, (int)_startPosY + 77, 6, 2);
}
// Центры крупных катков

View File

@ -23,20 +23,24 @@ public class DrawningRollers implements IDrawningRollers {
Color mainColor = colorRollers==null ? Color.LIGHT_GRAY : colorRollers;
// Крупные катки - всегда
// 1
g.setColor(mainColor);
g.fillOval((int)_startPosX + 5, (int)_startPosY + 60, 22, 22);
g.setColor(penColor);
g.drawOval((int)_startPosX + 5, (int)_startPosY + 60, 22, 22);
// 2
g.setColor(mainColor);
g.fillOval((int)_startPosX + 83, (int)_startPosY + 60, 22, 22);
g.setColor(penColor);
g.drawOval((int)_startPosX + 83, (int)_startPosY + 60, 22, 22);
// Малые катки - всегда
// 1
g.setColor(mainColor);
g.fillOval((int)_startPosX + 43, (int)_startPosY + 58, 6, 6);
g.setColor(penColor);
g.drawOval((int)_startPosX + 43, (int)_startPosY + 58, 6, 6);
// 2
g.setColor(mainColor);
g.fillOval((int)_startPosX + 61, (int)_startPosY + 58, 6, 6);
g.setColor(penColor);
@ -45,11 +49,13 @@ public class DrawningRollers implements IDrawningRollers {
// Средние катки - не всегда
switch (rollersCount){
case Six:
// 1
g.setColor(mainColor);
g.fillOval((int)_startPosX + 33, (int)_startPosY + 73, 10, 10);
g.setColor(penColor);
g.drawOval((int)_startPosX + 33, (int)_startPosY + 73, 10, 10);
case Five:
// 2
g.setColor(mainColor);
g.fillOval((int)_startPosX + 68, (int)_startPosY + 73, 10, 10);
g.setColor(penColor);

View File

@ -23,29 +23,28 @@ public class DrawningSquaredRollers implements IDrawningRollers {
Color mainColor = colorRollers==null ? Color.LIGHT_GRAY : colorRollers;
// Крупные катки - всегда
// Узор для больших катков
Polygon bigRomb = new Polygon(
new int[]{(int)_startPosX + 5, (int)_startPosX + 16, (int)_startPosX + 27, (int)_startPosX + 16},
new int[]{(int)_startPosY + 71, (int)_startPosY + 60, (int)_startPosY + 71, (int)_startPosY + 82},
4
);
Polygon bigCube = new Polygon(
new int[]{(int)_startPosX + 10, (int)_startPosX + 22, (int)_startPosX + 22, (int)_startPosX + 10},
new int[]{(int)_startPosY + 65, (int)_startPosY + 65, (int)_startPosY + 77, (int)_startPosY + 77},
4
);
// 1
g.setColor(mainColor);
g.fillOval((int)_startPosX + 5, (int)_startPosY + 60, 22, 22);
g.setColor(penColor);
g.drawOval((int)_startPosX + 5, (int)_startPosY + 60, 22, 22);
// Узор для больших катков
//1
Polygon bigRomb = new Polygon(
new int[]{(int)_startPosX + 5, (int)_startPosX + 5 + 11, (int)_startPosX + 5 + 22, (int)_startPosX + 5 + 11},
new int[]{(int)_startPosY + 60 + 11, (int)_startPosY + 60, (int)_startPosY + 60 + 11, (int)_startPosY + 60 + 22},
4
);
Polygon bigCube = new Polygon(
new int[]{(int)_startPosX + 5 + 5, (int)_startPosX + 5 + 22 - 5, (int)_startPosX + 5 + 22 - 5, (int)_startPosX + 5 + 5},
new int[]{(int)_startPosY + 60 + 5, (int)_startPosY + 60 + 5, (int)_startPosY + 60 + 22 - 5, (int)_startPosY + 60 + 22 - 5},
4
);
g.drawPolygon(bigRomb);
g.drawPolygon(bigCube);
// Сдвиг
bigRomb.translate(78,0);
bigCube.translate(78,0);
//2
// 2
g.setColor(mainColor);
g.fillOval((int)_startPosX + 83, (int)_startPosY + 60, 22, 22);
g.setColor(penColor);
@ -54,15 +53,15 @@ public class DrawningSquaredRollers implements IDrawningRollers {
g.drawPolygon(bigCube);
// Малые катки - всегда
//
// Узор
Polygon smallRomb = new Polygon(
new int[]{(int)_startPosX + 43, (int)_startPosX + 43 + 3, (int)_startPosX + 43 + 6, (int)_startPosX + 43 + 3},
new int[]{(int)_startPosY + 58 + 3, (int)_startPosY + 58, (int)_startPosY + 58 + 3, (int)_startPosY + 58 + 6},
new int[]{(int)_startPosX + 43, (int)_startPosX + 46, (int)_startPosX + 49, (int)_startPosX + 46},
new int[]{(int)_startPosY + 61, (int)_startPosY + 58, (int)_startPosY + 61, (int)_startPosY + 64},
4
);
Polygon smallCube = new Polygon(
new int[]{(int)_startPosX + 43 + 1, (int)_startPosX + 43 + 6 - 1, (int)_startPosX + 43 + 6 - 1, (int)_startPosX + 43 + 1},
new int[]{(int)_startPosY + 58 + 1, (int)_startPosY + 58 + 6 - 1, (int)_startPosY + 58 + 6 - 1, (int)_startPosY + 58 + 1},
new int[]{(int)_startPosX + 44, (int)_startPosX + 48, (int)_startPosX + 48, (int)_startPosX + 44},
new int[]{(int)_startPosY + 59, (int)_startPosY + 63, (int)_startPosY + 63, (int)_startPosY + 59},
4
);
// 1
@ -83,25 +82,25 @@ public class DrawningSquaredRollers implements IDrawningRollers {
g.drawPolygon(smallRomb);
g.drawPolygon(smallCube);
// Средние катки - не всегда
// Узор
Polygon middleRomb = new Polygon(
new int[]{(int)_startPosX + 33, (int)_startPosX + 33 + 5, (int)_startPosX + 33 + 10, (int)_startPosX + 33 + 5},
new int[]{(int)_startPosY + 73 + 5, (int)_startPosY + 73, (int)_startPosY + 73 + 5, (int)_startPosY + 73 + 10},
new int[]{(int)_startPosX + 33, (int)_startPosX + 38, (int)_startPosX + 43, (int)_startPosX + 38},
new int[]{(int)_startPosY + 78, (int)_startPosY + 73, (int)_startPosY + 78, (int)_startPosY + 83},
4
);
Polygon middleCube = new Polygon(
new int[]{(int)_startPosX + 33 + 2, (int)_startPosX + 33 + 8, (int)_startPosX + 33 + 8, (int)_startPosX + 33 + 2},
new int[]{(int)_startPosY + 73 + 2, (int)_startPosY + 73 + 2, (int)_startPosY + 73 + 8, (int)_startPosY + 73 + 8},
new int[]{(int)_startPosX + 35, (int)_startPosX + 41, (int)_startPosX + 41, (int)_startPosX + 35},
new int[]{(int)_startPosY + 75, (int)_startPosY + 75, (int)_startPosY + 81, (int)_startPosY + 81},
4
);
// Средние катки - не всегда
switch (rollersCount){
case Six:
// 1
g.setColor(mainColor);
g.fillOval((int)_startPosX + 33, (int)_startPosY + 73, 10, 10);
g.setColor(penColor);
g.drawOval((int)_startPosX + 33, (int)_startPosY + 73, 10, 10);
g.drawPolygon(middleRomb);
g.drawPolygon(middleCube);
@ -109,13 +108,11 @@ public class DrawningSquaredRollers implements IDrawningRollers {
// Сдвиг
middleRomb.translate(35,0);
middleCube.translate(35,0);
// 2
g.setColor(mainColor);
g.fillOval((int)_startPosX + 68, (int)_startPosY + 73, 10, 10);
g.setColor(penColor);
g.drawOval((int)_startPosX + 68, (int)_startPosY + 73, 10, 10);
g.drawPolygon(middleRomb);
g.drawPolygon(middleCube);
}

View File

@ -1,7 +1,5 @@
import javax.swing.*;
import java.awt.*;
import java.awt.event.ComponentAdapter;
import java.awt.event.ComponentEvent;
import java.awt.event.ItemEvent;
import java.util.Random;