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

View File

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

View File

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