From aafdc107c1487b70ffc0b3f465972ba5b4975e51 Mon Sep 17 00:00:00 2001 From: Aleksey-Skvortsov Date: Wed, 5 Jun 2024 11:50:40 +0400 Subject: [PATCH] lab 1 --- .gitignore | 400 ++++++++++++++++++ AccordionBus/AccordionBus.sln | 25 ++ AccordionBus/AccordionBus/AccordionBus.csproj | 26 ++ AccordionBus/AccordionBus/DirectionType.cs | 31 ++ .../AccordionBus/DrawningAccordionBus.cs | 286 +++++++++++++ .../AccordionBus/EntityAccordionBus.cs | 63 +++ .../AccordionBus/FormAccordionBus.Designer.cs | 141 ++++++ AccordionBus/AccordionBus/FormAccordionBus.cs | 76 ++++ .../AccordionBus/FormAccordionBus.resx | 120 ++++++ AccordionBus/AccordionBus/Program.cs | 17 + .../Properties/Resources.Designer.cs | 103 +++++ .../AccordionBus/Properties/Resources.resx | 133 ++++++ .../AccordionBus/Resources/buttDown.png | Bin 0 -> 8418 bytes .../AccordionBus/Resources/buttLeft.png | Bin 0 -> 8366 bytes .../AccordionBus/Resources/buttRIght.png | Bin 0 -> 8163 bytes .../AccordionBus/Resources/buttUp.png | Bin 0 -> 8655 bytes AccordionBus/Graphics/buttDown.png | Bin 0 -> 8418 bytes AccordionBus/Graphics/buttLeft.png | Bin 0 -> 8366 bytes AccordionBus/Graphics/buttRIght.png | Bin 0 -> 8163 bytes AccordionBus/Graphics/buttUp.png | Bin 0 -> 8655 bytes 20 files changed, 1421 insertions(+) create mode 100644 .gitignore create mode 100644 AccordionBus/AccordionBus.sln create mode 100644 AccordionBus/AccordionBus/AccordionBus.csproj create mode 100644 AccordionBus/AccordionBus/DirectionType.cs create mode 100644 AccordionBus/AccordionBus/DrawningAccordionBus.cs create mode 100644 AccordionBus/AccordionBus/EntityAccordionBus.cs create mode 100644 AccordionBus/AccordionBus/FormAccordionBus.Designer.cs create mode 100644 AccordionBus/AccordionBus/FormAccordionBus.cs create mode 100644 AccordionBus/AccordionBus/FormAccordionBus.resx create mode 100644 AccordionBus/AccordionBus/Program.cs create mode 100644 AccordionBus/AccordionBus/Properties/Resources.Designer.cs create mode 100644 AccordionBus/AccordionBus/Properties/Resources.resx create mode 100644 AccordionBus/AccordionBus/Resources/buttDown.png create mode 100644 AccordionBus/AccordionBus/Resources/buttLeft.png create mode 100644 AccordionBus/AccordionBus/Resources/buttRIght.png create mode 100644 AccordionBus/AccordionBus/Resources/buttUp.png create mode 100644 AccordionBus/Graphics/buttDown.png create mode 100644 AccordionBus/Graphics/buttLeft.png create mode 100644 AccordionBus/Graphics/buttRIght.png create mode 100644 AccordionBus/Graphics/buttUp.png diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ca1c7a3 --- /dev/null +++ b/.gitignore @@ -0,0 +1,400 @@ +# ---> VisualStudio +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. +## +## Get latest from https://github.com/github/gitignore/blob/main/VisualStudio.gitignore + +# User-specific files +*.rsuser +*.suo +*.user +*.userosscache +*.sln.docstates + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + +# Mono auto generated files +mono_crash.* + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +[Ww][Ii][Nn]32/ +[Aa][Rr][Mm]/ +[Aa][Rr][Mm]64/ +bld/ +[Bb]in/ +[Oo]bj/ +[Ll]og/ +[Ll]ogs/ + +# Visual Studio 2015/2017 cache/options directory +.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ + +# Visual Studio 2017 auto generated files +Generated\ Files/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +# NUnit +*.VisualState.xml +TestResult.xml +nunit-*.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +# Benchmark Results +BenchmarkDotNet.Artifacts/ + +# .NET Core +project.lock.json +project.fragment.lock.json +artifacts/ + +# ASP.NET Scaffolding +ScaffoldingReadMe.txt + +# StyleCop +StyleCopReport.xml + +# Files built by Visual Studio +*_i.c +*_p.c +*_h.h +*.ilk +*.meta +*.obj +*.iobj +*.pch +*.pdb +*.ipdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*_wpftmp.csproj +*.log +*.tlog +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opendb +*.opensdf +*.sdf +*.cachefile +*.VC.db +*.VC.VC.opendb + +# Visual Studio profiler +*.psess +*.vsp +*.vspx +*.sap + +# Visual Studio Trace Files +*.e2e + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# AxoCover is a Code Coverage Tool +.axoCover/* +!.axoCover/settings.json + +# Coverlet is a free, cross platform Code Coverage Tool +coverage*.json +coverage*.xml +coverage*.info + +# Visual Studio code coverage results +*.coverage +*.coveragexml + +# NCrunch +_NCrunch_* +.*crunch*.local.xml +nCrunchTemp_* + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml +# Note: Comment the next line if you want to checkin your web deploy settings, +# but database connection strings (with potential passwords) will be unencrypted +*.pubxml +*.publishproj + +# Microsoft Azure Web App publish settings. Comment the next line if you want to +# checkin your Azure Web App publish settings, but sensitive information contained +# in these scripts will be unencrypted +PublishScripts/ + +# NuGet Packages +*.nupkg +# NuGet Symbol Packages +*.snupkg +# The packages folder can be ignored because of Package Restore +**/[Pp]ackages/* +# except build/, which is used as an MSBuild target. +!**/[Pp]ackages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/[Pp]ackages/repositories.config +# NuGet v3's project.json files produces more ignorable files +*.nuget.props +*.nuget.targets + +# Microsoft Azure Build Output +csx/ +*.build.csdef + +# Microsoft Azure Emulator +ecf/ +rcf/ + +# Windows Store app package directories and files +AppPackages/ +BundleArtifacts/ +Package.StoreAssociation.xml +_pkginfo.txt +*.appx +*.appxbundle +*.appxupload + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!?*.[Cc]ache/ + +# Others +ClientBin/ +~$* +*~ +*.dbmdl +*.dbproj.schemaview +*.jfm +*.pfx +*.publishsettings +orleans.codegen.cs + +# Including strong name files can present a security risk +# (https://github.com/github/gitignore/pull/2483#issue-259490424) +#*.snk + +# Since there are multiple workflows, uncomment next line to ignore bower_components +# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) +#bower_components/ + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm +ServiceFabricBackup/ +*.rptproj.bak + +# SQL Server files +*.mdf +*.ldf +*.ndf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings +*.rptproj.rsuser +*- [Bb]ackup.rdl +*- [Bb]ackup ([0-9]).rdl +*- [Bb]ackup ([0-9][0-9]).rdl + +# Microsoft Fakes +FakesAssemblies/ + +# GhostDoc plugin setting file +*.GhostDoc.xml + +# Node.js Tools for Visual Studio +.ntvs_analysis.dat +node_modules/ + +# Visual Studio 6 build log +*.plg + +# Visual Studio 6 workspace options file +*.opt + +# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) +*.vbw + +# Visual Studio 6 auto-generated project file (contains which files were open etc.) +*.vbp + +# Visual Studio 6 workspace and project file (working project files containing files to include in project) +*.dsw +*.dsp + +# Visual Studio 6 technical files +*.ncb +*.aps + +# Visual Studio LightSwitch build output +**/*.HTMLClient/GeneratedArtifacts +**/*.DesktopClient/GeneratedArtifacts +**/*.DesktopClient/ModelManifest.xml +**/*.Server/GeneratedArtifacts +**/*.Server/ModelManifest.xml +_Pvt_Extensions + +# Paket dependency manager +.paket/paket.exe +paket-files/ + +# FAKE - F# Make +.fake/ + +# CodeRush personal settings +.cr/personal + +# Python Tools for Visual Studio (PTVS) +__pycache__/ +*.pyc + +# Cake - Uncomment if you are using it +# tools/** +# !tools/packages.config + +# Tabs Studio +*.tss + +# Telerik's JustMock configuration file +*.jmconfig + +# BizTalk build output +*.btp.cs +*.btm.cs +*.odx.cs +*.xsd.cs + +# OpenCover UI analysis results +OpenCover/ + +# Azure Stream Analytics local run output +ASALocalRun/ + +# MSBuild Binary and Structured Log +*.binlog + +# NVidia Nsight GPU debugger configuration file +*.nvuser + +# MFractors (Xamarin productivity tool) working folder +.mfractor/ + +# Local History for Visual Studio +.localhistory/ + +# Visual Studio History (VSHistory) files +.vshistory/ + +# BeatPulse healthcheck temp database +healthchecksdb + +# Backup folder for Package Reference Convert tool in Visual Studio 2017 +MigrationBackup/ + +# Ionide (cross platform F# VS Code tools) working folder +.ionide/ + +# Fody - auto-generated XML schema +FodyWeavers.xsd + +# VS Code files for those working on multiple tools +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +*.code-workspace + +# Local History for Visual Studio Code +.history/ + +# Windows Installer files from build outputs +*.cab +*.msi +*.msix +*.msm +*.msp + +# JetBrains Rider +*.sln.iml + diff --git a/AccordionBus/AccordionBus.sln b/AccordionBus/AccordionBus.sln new file mode 100644 index 0000000..1ea7493 --- /dev/null +++ b/AccordionBus/AccordionBus.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.8.34525.116 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AccordionBus", "AccordionBus\AccordionBus.csproj", "{B5CF3FFC-9271-44CC-B29E-ED93A0DC2198}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {B5CF3FFC-9271-44CC-B29E-ED93A0DC2198}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B5CF3FFC-9271-44CC-B29E-ED93A0DC2198}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B5CF3FFC-9271-44CC-B29E-ED93A0DC2198}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B5CF3FFC-9271-44CC-B29E-ED93A0DC2198}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {5B04A669-75E0-4A3E-9CFD-06884CA347E0} + EndGlobalSection +EndGlobal diff --git a/AccordionBus/AccordionBus/AccordionBus.csproj b/AccordionBus/AccordionBus/AccordionBus.csproj new file mode 100644 index 0000000..af03d74 --- /dev/null +++ b/AccordionBus/AccordionBus/AccordionBus.csproj @@ -0,0 +1,26 @@ + + + + WinExe + net8.0-windows + enable + true + enable + + + + + True + True + Resources.resx + + + + + + ResXFileCodeGenerator + Resources.Designer.cs + + + + \ No newline at end of file diff --git a/AccordionBus/AccordionBus/DirectionType.cs b/AccordionBus/AccordionBus/DirectionType.cs new file mode 100644 index 0000000..82de324 --- /dev/null +++ b/AccordionBus/AccordionBus/DirectionType.cs @@ -0,0 +1,31 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AccordionBus +{ + /// + /// Направление премещения + /// + public enum DirectionType + { + /// + /// Вверх + /// + Up = 1, + /// + /// Вниз + /// + Down = 2, + /// + /// Влево + /// + Left = 3, + /// + /// Вправо + /// + Right = 4 + } +} diff --git a/AccordionBus/AccordionBus/DrawningAccordionBus.cs b/AccordionBus/AccordionBus/DrawningAccordionBus.cs new file mode 100644 index 0000000..d862537 --- /dev/null +++ b/AccordionBus/AccordionBus/DrawningAccordionBus.cs @@ -0,0 +1,286 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AccordionBus +{ + /// + /// Класс, отвечающий за перемещение и прорисовку объекта-сущности + /// + public class DrawningAccordionBus + { + /// + /// Класс-сущность + /// + public EntityAccordionBus? EntityAccordionBus { get; private set; } + /// + /// Ширина окна + /// + private int? _pictureWeight; + /// + /// Высота окна + /// + private int? _pictureHeight; + /// + /// Левая координата прорисовки авто + /// + private int? _startPosX; + /// + /// Верхняя координата прорисовки авто + /// + private int? _startPosY; + /// + /// Ширина прорисовки авто + /// + private readonly int _drawningBusWeight = 130; + /// + /// Высота прорисовки авто + /// + private readonly int _drawningBusHeight = 20; + /// + /// Инициализация свойств + /// + /// + /// + /// + /// + /// + /// + /// + public void Init(int speed, double weight, Color bodyColor, Color + additionalColor, bool onePart, bool fiveDoors) + { + EntityAccordionBus = new EntityAccordionBus(); + EntityAccordionBus.Init(speed, weight, bodyColor, additionalColor, onePart, fiveDoors); + _pictureWeight = null; + _pictureHeight = null; + _startPosX = null; + _startPosY = null; + } + /// + /// Установка границ поля + /// + /// Ширина + /// Высота + /// true - границы заданы, false - проверка не пройдена + public bool SetPictureSize(int weight, int height) + { + if (weight < _drawningBusWeight || height < _drawningBusHeight) + { + return false; + } + + _pictureWeight = weight; + _pictureHeight = height; + + if (_startPosX.HasValue && _startPosX.Value + _drawningBusWeight > _pictureWeight) + { + _startPosX -= _startPosX.Value + _drawningBusWeight - _pictureWeight; + } + else if (_startPosY.HasValue && _startPosY.Value + _drawningBusHeight > _pictureHeight) + { + _startPosY -= _startPosY.Value + _drawningBusHeight - _pictureHeight; + } + return true; + + + } + /// + /// Установка позиции + /// + /// Координата X + /// Координата Y + public void SetPosition(int x, int y) + { + if (!_pictureHeight.HasValue || !_pictureWeight.HasValue) + { + return; + } + + if (x + _drawningBusWeight > _pictureWeight) + { + _startPosX = x - ( x + _drawningBusWeight - _pictureWeight); + } + else if (x < 0) + { + _startPosX = 0; + } + else + { + _startPosX = x; + } + + if (y + _drawningBusHeight > _pictureHeight) + { + _startPosY = y - ( y + _drawningBusHeight - _pictureHeight); + } + else if (y < 0) + { + _startPosY = 0; + } + else + { + _startPosY = y; + } + } + /// + /// Перемещение + /// + /// Направление + /// true - перемещение выполнено, false - перемещение невозможнор + public bool MoveTransport(DirectionType direction) + { + if (EntityAccordionBus == null || !_startPosX.HasValue || + !_startPosY.HasValue) + { + return false; + } + + switch (direction) + { + + case DirectionType.Left: + if (_startPosX.Value - EntityAccordionBus.Step > 0) + { + _startPosX -= (int)EntityAccordionBus.Step; + } + else + { + _startPosX = 0; + } + return true; + + case DirectionType.Right: + if (_startPosX.Value + EntityAccordionBus.Step + _drawningBusWeight < _pictureWeight) + { + _startPosX += (int)EntityAccordionBus.Step; + } + else + { + _startPosX = _pictureWeight - _drawningBusWeight; + } + return true; + + case DirectionType.Up: + if (_startPosY.Value - EntityAccordionBus.Step > 0) + { + _startPosY -= (int)EntityAccordionBus.Step; + } + else + { + _startPosY = 0; + } + return true; + + case DirectionType.Down: + if (_startPosY.Value + EntityAccordionBus.Step + _drawningBusHeight < _pictureHeight) + { + _startPosY += (int)EntityAccordionBus.Step; + } + else + { + _startPosY = _pictureHeight - _drawningBusHeight; + } + return true; + + default: + return false; + } + } + /// + /// Отрисовка транспорта + /// + /// + public void DrawTransport(Graphics g) + { + if (EntityAccordionBus == null || !_startPosX.HasValue || + !_startPosY.HasValue) + { + return; + } + + Pen pen = new(Color.Black); + Brush additionalBrush = new SolidBrush(EntityAccordionBus.AdditionalColor); + + //корпус + Brush br = new SolidBrush(EntityAccordionBus.BodyColor); + g.FillRectangle(br, _startPosX.Value, _startPosY.Value, 60, 15); + g.DrawRectangle(pen, _startPosX.Value, _startPosY.Value, 60, 15); + + //колёса + Brush brWhite = new SolidBrush(Color.White); + g.FillEllipse(brWhite, _startPosX.Value + 5, _startPosY.Value + 10, 10, 10); + g.FillEllipse(brWhite, _startPosX.Value + 40, _startPosY.Value + 10, 10, 10); + g.DrawEllipse(pen, _startPosX.Value + 40, _startPosY.Value + 10, 10, 10); + g.DrawEllipse(pen, _startPosX.Value + 5, _startPosY.Value + 10, 10, 10); + + //стёкла + Brush brBlue = new SolidBrush(Color.LightBlue); + g.FillRectangle(brBlue, _startPosX.Value + 2, _startPosY.Value + 3, 5, 5); + g.DrawRectangle(pen, _startPosX.Value + 2, _startPosY.Value + 3, 5, 5); + g.FillRectangle(brBlue, _startPosX.Value + 12, _startPosY.Value + 3, 5, 5); + g.DrawRectangle(pen, _startPosX.Value + 12, _startPosY.Value + 3, 5, 5); + g.FillRectangle(brBlue, _startPosX.Value + 32, _startPosY.Value + 3, 5, 5); + g.DrawRectangle(pen, _startPosX.Value + 32, _startPosY.Value + 3, 5, 5); + g.FillRectangle(brBlue, _startPosX.Value + 42, _startPosY.Value + 3, 5, 5); + g.DrawRectangle(pen, _startPosX.Value + 42, _startPosY.Value + 3, 5, 5); + + //дверь + g.FillRectangle(additionalBrush, _startPosX.Value + 20, _startPosY.Value + 5, 5, 10); + g.DrawRectangle(pen, _startPosX.Value + 20, _startPosY.Value + 5, 5, 10); + + if (!EntityAccordionBus.OnePart) + { + //корпус + g.FillRectangle(br, _startPosX.Value + 70, _startPosY.Value, 60, 15); + g.DrawRectangle(pen, _startPosX.Value + 70, _startPosY.Value, 60, 15); + + //колёса + g.FillEllipse(brWhite, _startPosX.Value + 75, _startPosY.Value + 10, 10, 10); + g.FillEllipse(brWhite, _startPosX.Value + 110, _startPosY.Value + 10, 10, 10); + g.DrawEllipse(pen, _startPosX.Value + 110, _startPosY.Value + 10, 10, 10); + g.DrawEllipse(pen, _startPosX.Value + 75, _startPosY.Value + 10, 10, 10); + + //стёкла + g.FillRectangle(brBlue, _startPosX.Value + 72, _startPosY.Value + 3, 5, 5); + g.DrawRectangle(pen, _startPosX.Value + 72, _startPosY.Value + 3, 5, 5); + g.FillRectangle(brBlue, _startPosX.Value + 82, _startPosY.Value + 3, 5, 5); + g.DrawRectangle(pen, _startPosX.Value + 82, _startPosY.Value + 3, 5, 5); + g.FillRectangle(brBlue, _startPosX.Value + 92, _startPosY.Value + 3, 5, 5); + g.DrawRectangle(pen, _startPosX.Value + 92, _startPosY.Value + 3, 5, 5); + g.FillRectangle(brBlue, _startPosX.Value + 102, _startPosY.Value + 3, 5, 5); + g.DrawRectangle(pen, _startPosX.Value + 102, _startPosY.Value + 3, 5, 5); + g.FillRectangle(brBlue, _startPosX.Value + 112, _startPosY.Value + 3, 5, 5); + g.DrawRectangle(pen, _startPosX.Value + 112, _startPosY.Value + 3, 5, 5); + + //гормошка + g.DrawLine(pen, _startPosX.Value + 60, _startPosY.Value, _startPosX.Value + 62, _startPosY.Value + 3); + g.DrawLine(pen, _startPosX.Value + 62, _startPosY.Value + 3, _startPosX.Value + 65, _startPosY.Value); + g.DrawLine(pen, _startPosX.Value + 65, _startPosY.Value, _startPosX.Value + 67, _startPosY.Value + 3); + g.DrawLine(pen, _startPosX.Value + 67, _startPosY.Value + 3, _startPosX.Value + 70, _startPosY.Value); + g.DrawLine(pen, _startPosX.Value + 60, _startPosY.Value + 15, _startPosX.Value + 62, _startPosY.Value + 12); + g.DrawLine(pen, _startPosX.Value + 62, _startPosY.Value + 12, _startPosX.Value + 65, _startPosY.Value + 15); + g.DrawLine(pen, _startPosX.Value + 65, _startPosY.Value + 15, _startPosX.Value + 67, _startPosY.Value + 12); + g.DrawLine(pen, _startPosX.Value + 67, _startPosY.Value + 12, _startPosX.Value + 70, _startPosY.Value + 15); + g.DrawLine(pen, _startPosX.Value + 62, _startPosY.Value + 3, _startPosX.Value + 62, _startPosY.Value + 12); + g.DrawLine(pen, _startPosX.Value + 67, _startPosY.Value + 3, _startPosX.Value + 67, _startPosY.Value + 12); + g.DrawLine(pen, _startPosX.Value + 65, _startPosY.Value, _startPosX.Value + 65, _startPosY.Value + 15); + + //двери + g.FillRectangle(additionalBrush, _startPosX.Value + 123, _startPosY.Value + 5, 5, 10); + g.DrawRectangle(pen, _startPosX.Value + 123, _startPosY.Value + 5, 5, 10); + if (EntityAccordionBus.FiveDoors) + { + g.FillRectangle(additionalBrush, _startPosX.Value + 87, _startPosY.Value + 9, 21, 5); + g.DrawRectangle(pen, _startPosX.Value + 87, _startPosY.Value + 9, 21, 5); + g.FillRectangle(additionalBrush, _startPosX.Value + 53, _startPosY.Value + 5, 5, 10); + g.DrawRectangle(pen, _startPosX.Value + 53, _startPosY.Value + 5, 5, 10); + g.FillRectangle(additionalBrush, _startPosX.Value + 27, _startPosY.Value + 9, 11, 5); + g.DrawRectangle(pen, _startPosX.Value + 27, _startPosY.Value + 9, 11, 5); + } + } + } + } +} diff --git a/AccordionBus/AccordionBus/EntityAccordionBus.cs b/AccordionBus/AccordionBus/EntityAccordionBus.cs new file mode 100644 index 0000000..b6c06a7 --- /dev/null +++ b/AccordionBus/AccordionBus/EntityAccordionBus.cs @@ -0,0 +1,63 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AccordionBus +{ + /// + /// класс-сущность "автобус с гормошкой" + /// + public class EntityAccordionBus + { + /// + /// Скорость + /// + public int Speed { get; set; } + /// + /// Вес + /// + public double Weight { get; set; } + /// + /// Основной цвет + /// + public Color BodyColor { get; set; } + /// + /// Дополнительный цвет + /// + public Color AdditionalColor { get; set; } + /// + /// Одна часть + /// + public bool OnePart { get; set; } + /// + /// 5 дверей + /// + public bool FiveDoors { get; set; } + /// + /// Шаг + /// + public double Step => Speed * 100 / Weight; + /// + /// инициализация полей объекта-класса + /// + /// Скорость + /// вес + /// Основной цвет + /// Дополнительный цвет + /// 3 двери + /// 4 двери + /// 5 дверей + public void Init(int speed, double weight, Color bodyColor, Color + additionalColor, bool onePart, bool fiveDoors) + { + Speed = speed; + Weight = weight; + BodyColor = bodyColor; + AdditionalColor = additionalColor; + OnePart = onePart; + FiveDoors = fiveDoors; + } + } +} diff --git a/AccordionBus/AccordionBus/FormAccordionBus.Designer.cs b/AccordionBus/AccordionBus/FormAccordionBus.Designer.cs new file mode 100644 index 0000000..be03cce --- /dev/null +++ b/AccordionBus/AccordionBus/FormAccordionBus.Designer.cs @@ -0,0 +1,141 @@ +namespace AccordionBus +{ + partial class FormAccordionBus + { + /// + /// 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() + { + pictureBoxAccordionBus = new PictureBox(); + buttonCreate = new Button(); + ButtonUp = new Button(); + ButtonRight = new Button(); + ButtonLeft = new Button(); + ButtonDown = new Button(); + ((System.ComponentModel.ISupportInitialize)pictureBoxAccordionBus).BeginInit(); + SuspendLayout(); + // + // pictureBoxAccordionBus + // + pictureBoxAccordionBus.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right; + pictureBoxAccordionBus.Location = new Point(0, 0); + pictureBoxAccordionBus.Name = "pictureBoxAccordionBus"; + pictureBoxAccordionBus.Size = new Size(882, 453); + pictureBoxAccordionBus.SizeMode = PictureBoxSizeMode.AutoSize; + pictureBoxAccordionBus.TabIndex = 0; + pictureBoxAccordionBus.TabStop = false; + // + // buttonCreate + // + buttonCreate.Anchor = AnchorStyles.Bottom | AnchorStyles.Left; + buttonCreate.Location = new Point(12, 412); + buttonCreate.Name = "buttonCreate"; + buttonCreate.Size = new Size(94, 29); + buttonCreate.TabIndex = 1; + buttonCreate.Text = "создать"; + buttonCreate.UseVisualStyleBackColor = true; + buttonCreate.Click += ButtonCreate_Click; + // + // ButtonUp + // + ButtonUp.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; + ButtonUp.BackgroundImage = Properties.Resources.buttUp; + ButtonUp.BackgroundImageLayout = ImageLayout.Stretch; + ButtonUp.ImageAlign = ContentAlignment.MiddleLeft; + ButtonUp.Location = new Point(773, 375); + ButtonUp.Name = "ButtonUp"; + ButtonUp.Size = new Size(30, 30); + ButtonUp.TabIndex = 2; + ButtonUp.UseVisualStyleBackColor = true; + ButtonUp.Click += ButtonMove_Click; + // + // ButtonRight + // + ButtonRight.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; + ButtonRight.BackgroundImage = Properties.Resources.buttRIght; + ButtonRight.BackgroundImageLayout = ImageLayout.Stretch; + ButtonRight.ImageAlign = ContentAlignment.MiddleLeft; + ButtonRight.Location = new Point(809, 411); + ButtonRight.Name = "ButtonRight"; + ButtonRight.Size = new Size(30, 30); + ButtonRight.TabIndex = 3; + ButtonRight.UseVisualStyleBackColor = true; + ButtonRight.Click += ButtonMove_Click; + // + // ButtonLeft + // + ButtonLeft.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; + ButtonLeft.BackgroundImage = Properties.Resources.buttLeft; + ButtonLeft.BackgroundImageLayout = ImageLayout.Stretch; + ButtonLeft.ImageAlign = ContentAlignment.MiddleLeft; + ButtonLeft.Location = new Point(737, 411); + ButtonLeft.Name = "ButtonLeft"; + ButtonLeft.Size = new Size(30, 30); + ButtonLeft.TabIndex = 4; + ButtonLeft.UseVisualStyleBackColor = true; + ButtonLeft.Click += ButtonMove_Click; + // + // ButtonDown + // + ButtonDown.Anchor = AnchorStyles.Bottom | AnchorStyles.Right; + ButtonDown.BackgroundImage = Properties.Resources.buttDown; + ButtonDown.BackgroundImageLayout = ImageLayout.Stretch; + ButtonDown.ImageAlign = ContentAlignment.MiddleLeft; + ButtonDown.Location = new Point(773, 411); + ButtonDown.Name = "ButtonDown"; + ButtonDown.Size = new Size(30, 30); + ButtonDown.TabIndex = 5; + ButtonDown.UseVisualStyleBackColor = true; + ButtonDown.Click += ButtonMove_Click; + // + // FormAccordionBus + // + AutoScaleDimensions = new SizeF(8F, 20F); + AutoScaleMode = AutoScaleMode.Font; + ClientSize = new Size(882, 453); + Controls.Add(ButtonDown); + Controls.Add(ButtonLeft); + Controls.Add(ButtonRight); + Controls.Add(ButtonUp); + Controls.Add(buttonCreate); + Controls.Add(pictureBoxAccordionBus); + Name = "FormAccordionBus"; + StartPosition = FormStartPosition.CenterScreen; + Text = "Автобус с гормошкой"; + ((System.ComponentModel.ISupportInitialize)pictureBoxAccordionBus).EndInit(); + ResumeLayout(false); + PerformLayout(); + } + + #endregion + + private PictureBox pictureBoxAccordionBus; + private Button buttonCreate; + private Button ButtonUp; + private Button ButtonRight; + private Button ButtonLeft; + private Button ButtonDown; + } +} \ No newline at end of file diff --git a/AccordionBus/AccordionBus/FormAccordionBus.cs b/AccordionBus/AccordionBus/FormAccordionBus.cs new file mode 100644 index 0000000..99ee87b --- /dev/null +++ b/AccordionBus/AccordionBus/FormAccordionBus.cs @@ -0,0 +1,76 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace AccordionBus +{ + public partial class FormAccordionBus : Form + { + private DrawningAccordionBus? _drawningAccordionBus; + public FormAccordionBus() + { + InitializeComponent(); + } + + private void Draw() + { + if (_drawningAccordionBus == null) + { + return; + } + Bitmap bmp = new(pictureBoxAccordionBus.Width, pictureBoxAccordionBus.Height); + Graphics gr = Graphics.FromImage(bmp); + _drawningAccordionBus.DrawTransport(gr); + pictureBoxAccordionBus.Image = bmp; + } + + private void ButtonCreate_Click(object sender, EventArgs e) + { + Random random = new(); + _drawningAccordionBus = new DrawningAccordionBus(); + _drawningAccordionBus.Init(random.Next(100, 300), random.Next(1000, 3000), + Color.FromArgb(random.Next(0, 255), random.Next(0, 255), random.Next(0, 255)), + Color.FromArgb(random.Next(0, 255), random.Next(0, 255), random.Next(0, 255)), Convert.ToBoolean(random.Next(0, 2)), Convert.ToBoolean(random.Next(0, 2))); + _drawningAccordionBus.SetPictureSize(pictureBoxAccordionBus.Width, pictureBoxAccordionBus.Height); + _drawningAccordionBus.SetPosition(random.Next(50, 300), random.Next(50, 300)); + Draw(); + } + + private void ButtonMove_Click(object sender, EventArgs e) + { + if (_drawningAccordionBus == null) + { + return; + } + + string name = ((Button)sender)?.Name ?? string.Empty; + bool result = false; + switch (name) + { + case "ButtonUp": + result = _drawningAccordionBus.MoveTransport(DirectionType.Up); + break; + case "ButtonDown": + result = _drawningAccordionBus.MoveTransport(DirectionType.Down); + break; + case "ButtonLeft": + result = _drawningAccordionBus.MoveTransport(DirectionType.Left); + break; + case "ButtonRight": + result = _drawningAccordionBus.MoveTransport(DirectionType.Right); + break; + } + + if (result) + { + Draw(); + } + } + } +} diff --git a/AccordionBus/AccordionBus/FormAccordionBus.resx b/AccordionBus/AccordionBus/FormAccordionBus.resx new file mode 100644 index 0000000..af32865 --- /dev/null +++ b/AccordionBus/AccordionBus/FormAccordionBus.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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/AccordionBus/AccordionBus/Program.cs b/AccordionBus/AccordionBus/Program.cs new file mode 100644 index 0000000..ae15180 --- /dev/null +++ b/AccordionBus/AccordionBus/Program.cs @@ -0,0 +1,17 @@ +namespace AccordionBus +{ + 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 FormAccordionBus()); + } + } +} \ No newline at end of file diff --git a/AccordionBus/AccordionBus/Properties/Resources.Designer.cs b/AccordionBus/AccordionBus/Properties/Resources.Designer.cs new file mode 100644 index 0000000..23deacd --- /dev/null +++ b/AccordionBus/AccordionBus/Properties/Resources.Designer.cs @@ -0,0 +1,103 @@ +//------------------------------------------------------------------------------ +// +// Этот код создан программой. +// Исполняемая версия:4.0.30319.42000 +// +// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае +// повторной генерации кода. +// +//------------------------------------------------------------------------------ + +namespace AccordionBus.Properties { + using System; + + + /// + /// Класс ресурса со строгой типизацией для поиска локализованных строк и т.д. + /// + // Этот класс создан автоматически классом StronglyTypedResourceBuilder + // с помощью такого средства, как ResGen или Visual Studio. + // Чтобы добавить или удалить член, измените файл .ResX и снова запустите ResGen + // с параметром /str или перестройте свой проект VS. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// + /// Возвращает кэшированный экземпляр ResourceManager, использованный этим классом. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("AccordionBus.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Перезаписывает свойство CurrentUICulture текущего потока для всех + /// обращений к ресурсу с помощью этого класса ресурса со строгой типизацией. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Поиск локализованного ресурса типа System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap buttDown { + get { + object obj = ResourceManager.GetObject("buttDown", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Поиск локализованного ресурса типа System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap buttLeft { + get { + object obj = ResourceManager.GetObject("buttLeft", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Поиск локализованного ресурса типа System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap buttRIght { + get { + object obj = ResourceManager.GetObject("buttRIght", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Поиск локализованного ресурса типа System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap buttUp { + get { + object obj = ResourceManager.GetObject("buttUp", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + } +} diff --git a/AccordionBus/AccordionBus/Properties/Resources.resx b/AccordionBus/AccordionBus/Properties/Resources.resx new file mode 100644 index 0000000..13d70f8 --- /dev/null +++ b/AccordionBus/AccordionBus/Properties/Resources.resx @@ -0,0 +1,133 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + ..\Resources\buttDown.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\buttLeft.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\buttRIght.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\buttUp.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/AccordionBus/AccordionBus/Resources/buttDown.png b/AccordionBus/AccordionBus/Resources/buttDown.png new file mode 100644 index 0000000000000000000000000000000000000000..1d75533ad7c9402f564f697e34bd990301f1b9f0 GIT binary patch literal 8418 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 Qz&(LI_KrJ??Qj?W1EDb_{Qv*} literal 0 HcmV?d00001 diff --git a/AccordionBus/AccordionBus/Resources/buttLeft.png b/AccordionBus/AccordionBus/Resources/buttLeft.png new file mode 100644 index 0000000000000000000000000000000000000000..b05b8c533f81b7eb480282d677bc06ae76fd44f8 GIT binary patch literal 8366 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 KtUM5OWLPj6j?GV5n@Cd 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 literal 0 HcmV?d00001 diff --git a/AccordionBus/AccordionBus/Resources/buttUp.png b/AccordionBus/AccordionBus/Resources/buttUp.png new file mode 100644 index 0000000000000000000000000000000000000000..a982937af53f0c196fcdb51ae550234e14f39084 GIT binary patch literal 8655 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 gj`9EHpC~MGzLWFYU-3pl+y}skqof~~ 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 Qz&(LI_KrJ??Qj?W1EDb_{Qv*} literal 0 HcmV?d00001 diff --git a/AccordionBus/Graphics/buttLeft.png b/AccordionBus/Graphics/buttLeft.png new file mode 100644 index 0000000000000000000000000000000000000000..b05b8c533f81b7eb480282d677bc06ae76fd44f8 GIT binary patch literal 8366 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 KtUM5OWLPj6j?GV5n@Cd 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 literal 0 HcmV?d00001 diff --git a/AccordionBus/Graphics/buttUp.png b/AccordionBus/Graphics/buttUp.png new file mode 100644 index 0000000000000000000000000000000000000000..a982937af53f0c196fcdb51ae550234e14f39084 GIT binary patch literal 8655 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 gj`9EHpC~MGzLWFYU-3pl+y}skqo