From bdd891365427d38d9eabd941a0fdc91c63830fc0 Mon Sep 17 00:00:00 2001 From: root Date: Tue, 27 Sep 2022 15:15:15 +0400 Subject: [PATCH] init --- Direction.java | 6 + DrawTransport.java | 14 ++ DrawningBoat.java | 127 ++++++++++++++++++ EntityBoat.java | 37 +++++ FormBoat.java | 3 + Main.java | 5 + .../Form1.Designer.cs | 39 ------ PIbd-22_Kalyshev_Y_V_MotorBoat_Hard/Form1.cs | 10 -- .../Form1.resx | 120 ----------------- ...PIbd-22_Kalyshev_Y_V_MotorBoat_Hard.csproj | 12 -- .../PIbd-22_Kalyshev_Y_V_MotorBoat_Hard.sln | 25 ---- .../Program.cs | 17 --- 12 files changed, 192 insertions(+), 223 deletions(-) create mode 100644 Direction.java create mode 100644 DrawTransport.java create mode 100644 DrawningBoat.java create mode 100644 EntityBoat.java create mode 100644 FormBoat.java create mode 100644 Main.java delete mode 100644 PIbd-22_Kalyshev_Y_V_MotorBoat_Hard/Form1.Designer.cs delete mode 100644 PIbd-22_Kalyshev_Y_V_MotorBoat_Hard/Form1.cs delete mode 100644 PIbd-22_Kalyshev_Y_V_MotorBoat_Hard/Form1.resx delete mode 100644 PIbd-22_Kalyshev_Y_V_MotorBoat_Hard/PIbd-22_Kalyshev_Y_V_MotorBoat_Hard.csproj delete mode 100644 PIbd-22_Kalyshev_Y_V_MotorBoat_Hard/PIbd-22_Kalyshev_Y_V_MotorBoat_Hard.sln delete mode 100644 PIbd-22_Kalyshev_Y_V_MotorBoat_Hard/Program.cs diff --git a/Direction.java b/Direction.java new file mode 100644 index 0000000..d3ef881 --- /dev/null +++ b/Direction.java @@ -0,0 +1,6 @@ +public enum Direction { + Up, + Down, + Left, + Right +} \ No newline at end of file diff --git a/DrawTransport.java b/DrawTransport.java new file mode 100644 index 0000000..85ac8b5 --- /dev/null +++ b/DrawTransport.java @@ -0,0 +1,14 @@ +import javax.swing.JPanel; + +import java.awt.*; +import javax.swing.*; + +public class DrawTransport extends JPanel { + @Override + public void paintComponent(Graphics g) { + super.paintComponent(g); + Graphics2D g2d = (Graphics2D)g; + g2d.setColor(Color.black); + g2d.drawLine(_startPosX, _startPosY, _startPosX + 120, _startPosY + 0); + } +} diff --git a/DrawningBoat.java b/DrawningBoat.java new file mode 100644 index 0000000..4fb6145 --- /dev/null +++ b/DrawningBoat.java @@ -0,0 +1,127 @@ +import java.awt.*; +import javax.swing.*; +import java.awt.event.*; +import java.util.Random; +import java.util.Timer; +import java.util.TimerTask; +import java.io.*; +import java.util.Scanner; +import java.util.Stack; + + + +public class DrawningBoat { + private EntityBoat Boat; + public EntityBoat Boat() { + return Boat; + } + + private float _startPosX; + public float get_startPosX() { + return _startPosX; + } + + private float _startPosY; + public float get_startPosY() { + return _startPosY; + } + + private int _pictureWidth; + + private int _pictureHeight; + + private int _boatWidth = 170; + public int get_boatWidth() { + return _boatWidth; + } + + private int _boatHeight = 60; + public int get_boatHeight() { + return _boatHeight; + } + + public void Init(int speed, float weight, Color bodyColor) + { + Boat = new EntityBoat(); + Boat.Init(speed, weight, bodyColor); + } + + public void SetPosition(int x, int y, int width, int height) { + if (x + _boatWidth <= width && y + _boatHeight <= height && x > 0 && y > 0) + { + _startPosX = x; + _startPosY = y; + _pictureWidth = width; + _pictureHeight = height; + } + } + + public void MoveTransport(Direction direction) { + try { + Integer.valueOf(_pictureWidth); + Integer.valueOf(_pictureHeight); + } catch (Exception e) { + return; + } + switch (direction) + { + // вправо + case Right: + if (_startPosX + _boatWidth + Boat.Step < _pictureWidth) + { + _startPosX += Boat.Step; + } + break; + //влево + case Left: + if (_startPosX - Boat.Step > 0) + { + _startPosX -= Boat.Step; + } + break; + //вверх + case Up: + if (_startPosY - Boat.Step > 0) + { + _startPosY -= Boat.Step; + } + break; + //вниз + case Down: + if (_startPosY + _boatHeight + Boat.Step < _pictureHeight) + { + _startPosY += Boat.Step; + } + break; + } + } + + public void DrawTransport(Graphics g) { + if (_startPosX < 0 || _startPosY < 0) { + return; + } + try { + Integer.valueOf(_pictureWidth); + Integer.valueOf(_pictureHeight); + } catch (Exception e) { + return; + } + Pen pen = new(Color.Black, 3); + Brush br = new SolidBrush(Boat?.BodyColor ?? Color.Black); + Brush brBrown = new SolidBrush(Color.Brown); + // Внешняя часть лодки + g.DrawLine(pen, _startPosX, _startPosY, _startPosX + 120, _startPosY + 0); + g.DrawLine(pen, _startPosX + 120, _startPosY, _startPosX + 170, _startPosY + 30); + g.DrawLine(pen, _startPosX + 170, _startPosY + 30, _startPosX + 120, _startPosY + 60); + g.DrawLine(pen, _startPosX + 120, _startPosY + 60, _startPosX, _startPosY + 60); + g.DrawLine(pen, _startPosX, _startPosY + 60, _startPosX, _startPosY); + PointF pt1 = new PointF(_startPosX, _startPosY); + PointF pt2 = new PointF(_startPosX + 120, _startPosY); + PointF pt3 = new PointF(_startPosX + 170, _startPosY + 30); + PointF pt4 = new PointF(_startPosX + 120, _startPosY + 60); + PointF pt5 = new PointF(_startPosX, _startPosY + 60); + g.FillPolygon(br, new PointF[] { pt1, pt2, pt3, pt4, pt5}); + // Внутренняя часть лодки + g.FillEllipse(brBrown, _startPosX + 10, _startPosY + 10, 110, 40); + } +} diff --git a/EntityBoat.java b/EntityBoat.java new file mode 100644 index 0000000..0045542 --- /dev/null +++ b/EntityBoat.java @@ -0,0 +1,37 @@ +import java.awt.*; +import java.util.Random; +public class EntityBoat { + private int Speed; + public int getSpeed() { + return Speed; + } + private void setSpeed(int Speed) { + this.Speed = Speed; + } + + private float Weight; + public float getWeight() { + return Weight; + } + private void setWeight(float Weight) { + this.Weight = Weight; + } + + private Color BodyColor; + public Color getBoColor() { + return BodyColor; + } + private void setBodyColor(Color BodyColor) { + this.BodyColor = BodyColor; + } + + public float Step; + + public void Init(int speed, float weight, Color bodyColor) { + Random rnd = new Random(); + Speed = speed <= 0 ? rnd.nextInt(5, 30) : speed; + Weight = weight <= 0 ? rnd.nextInt(30, 100) : weight; + BodyColor = bodyColor; + Step = Speed * 100 / Weight; + } +} diff --git a/FormBoat.java b/FormBoat.java new file mode 100644 index 0000000..8f59930 --- /dev/null +++ b/FormBoat.java @@ -0,0 +1,3 @@ +public class FormBoat { + +} diff --git a/Main.java b/Main.java new file mode 100644 index 0000000..31a3477 --- /dev/null +++ b/Main.java @@ -0,0 +1,5 @@ +public class Main{ + public static void main(String[] args) { + new FormBoat(); + } +} \ No newline at end of file diff --git a/PIbd-22_Kalyshev_Y_V_MotorBoat_Hard/Form1.Designer.cs b/PIbd-22_Kalyshev_Y_V_MotorBoat_Hard/Form1.Designer.cs deleted file mode 100644 index 8b78cc2..0000000 --- a/PIbd-22_Kalyshev_Y_V_MotorBoat_Hard/Form1.Designer.cs +++ /dev/null @@ -1,39 +0,0 @@ -namespace PIbd_22_Kalyshev_Y_V_MotorBoat_Hard -{ - partial class Form1 - { - /// - /// Required designer variable. - /// - private System.ComponentModel.IContainer components = null; - - /// - /// Clean up any resources being used. - /// - /// true if managed resources should be disposed; otherwise, false. - protected override void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); - } - - #region Windows Form Designer generated code - - /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// - private void InitializeComponent() - { - this.components = new System.ComponentModel.Container(); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(800, 450); - this.Text = "Form1"; - } - - #endregion - } -} \ No newline at end of file diff --git a/PIbd-22_Kalyshev_Y_V_MotorBoat_Hard/Form1.cs b/PIbd-22_Kalyshev_Y_V_MotorBoat_Hard/Form1.cs deleted file mode 100644 index abfb5f8..0000000 --- a/PIbd-22_Kalyshev_Y_V_MotorBoat_Hard/Form1.cs +++ /dev/null @@ -1,10 +0,0 @@ -namespace PIbd_22_Kalyshev_Y_V_MotorBoat_Hard -{ - public partial class Form1 : Form - { - public Form1() - { - InitializeComponent(); - } - } -} \ No newline at end of file diff --git a/PIbd-22_Kalyshev_Y_V_MotorBoat_Hard/Form1.resx b/PIbd-22_Kalyshev_Y_V_MotorBoat_Hard/Form1.resx deleted file mode 100644 index 1af7de1..0000000 --- a/PIbd-22_Kalyshev_Y_V_MotorBoat_Hard/Form1.resx +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - \ No newline at end of file diff --git a/PIbd-22_Kalyshev_Y_V_MotorBoat_Hard/PIbd-22_Kalyshev_Y_V_MotorBoat_Hard.csproj b/PIbd-22_Kalyshev_Y_V_MotorBoat_Hard/PIbd-22_Kalyshev_Y_V_MotorBoat_Hard.csproj deleted file mode 100644 index 1627031..0000000 --- a/PIbd-22_Kalyshev_Y_V_MotorBoat_Hard/PIbd-22_Kalyshev_Y_V_MotorBoat_Hard.csproj +++ /dev/null @@ -1,12 +0,0 @@ - - - - WinExe - net6.0-windows - PIbd_22_Kalyshev_Y_V_MotorBoat_Hard - enable - true - enable - - - \ No newline at end of file diff --git a/PIbd-22_Kalyshev_Y_V_MotorBoat_Hard/PIbd-22_Kalyshev_Y_V_MotorBoat_Hard.sln b/PIbd-22_Kalyshev_Y_V_MotorBoat_Hard/PIbd-22_Kalyshev_Y_V_MotorBoat_Hard.sln deleted file mode 100644 index cc66038..0000000 --- a/PIbd-22_Kalyshev_Y_V_MotorBoat_Hard/PIbd-22_Kalyshev_Y_V_MotorBoat_Hard.sln +++ /dev/null @@ -1,25 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 17 -VisualStudioVersion = 17.3.32825.248 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PIbd-22_Kalyshev_Y_V_MotorBoat_Hard", "PIbd-22_Kalyshev_Y_V_MotorBoat_Hard.csproj", "{2C325352-D777-4C59-A84F-730BFF456178}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Any CPU = Debug|Any CPU - Release|Any CPU = Release|Any CPU - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {2C325352-D777-4C59-A84F-730BFF456178}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {2C325352-D777-4C59-A84F-730BFF456178}.Debug|Any CPU.Build.0 = Debug|Any CPU - {2C325352-D777-4C59-A84F-730BFF456178}.Release|Any CPU.ActiveCfg = Release|Any CPU - {2C325352-D777-4C59-A84F-730BFF456178}.Release|Any CPU.Build.0 = Release|Any CPU - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {8E6BE7BE-5BDD-4307-B7B5-BDFB47CF86DA} - EndGlobalSection -EndGlobal diff --git a/PIbd-22_Kalyshev_Y_V_MotorBoat_Hard/Program.cs b/PIbd-22_Kalyshev_Y_V_MotorBoat_Hard/Program.cs deleted file mode 100644 index 6dbde96..0000000 --- a/PIbd-22_Kalyshev_Y_V_MotorBoat_Hard/Program.cs +++ /dev/null @@ -1,17 +0,0 @@ -namespace PIbd_22_Kalyshev_Y_V_MotorBoat_Hard -{ - internal static class Program - { - /// - /// The main entry point for the application. - /// - [STAThread] - static void Main() - { - // To customize application configuration such as set high DPI settings or default font, - // see https://aka.ms/applicationconfiguration. - ApplicationConfiguration.Initialize(); - Application.Run(new Form1()); - } - } -} \ No newline at end of file