コード例 #1
0
ファイル: Chess1.cs プロジェクト: Oetas/ChessShame
        public char GFigure(int x, int y)                  // вычисляем местоположение каждой фигуры
        {
            Squares square = new Squares(x, y);            // берём клетку, которая была передана
            Figures fig    = board.GetFigureOn(square);    // вычисляем фигуру

            return(fig == Figures.zero ? '.' : (char)fig); // если фигура существует, возвращаем символ, иначе обнуляем
        }
コード例 #2
0
        }                                                                                              // превращение пешки в другую фигуру

        public FiguresMovements(FigureOnSquare fos, Squares to, Figures transformation = Figures.zero) // информация о фигуре на клетке
        {
            this.figure         = fos.figure;                                                          // исходная фигура
            this.from           = fos.square;                                                          // стартовая позиция
            this.to             = to;                                                                  // позиция после сделанного хода
            this.transformation = transformation;                                                      // превращение для пешки
        }
コード例 #3
0
 public EditorForm()
 {
     InitializeComponent();
     state = Figures.Nothing;
     vector.AddObserver(this);
     AddObserver(vector);
 }
コード例 #4
0
ファイル: MyPolygon.cs プロジェクト: UnstableMutex/MapDraft
        internal void AddThumbOnCenter(Line line)
        {
            var node       = Figures.Find(line);
            var canvas     = line.Parent as Canvas;
            var lastThumb  = node.CircledNext().Value as Thumb;
            var thumbList  = node.List.OfType <Thumb>().ToList();
            var thumbIndex = thumbList.IndexOf(lastThumb);
            var centerX    = (line.X1 + line.X2) / 2;
            var centerY    = (line.Y1 + line.Y2) / 2;

            line.X2 = centerX;
            line.Y2 = centerY;
            var   newPoint = new Point(centerX, centerY);
            Thumb t        = CreateThumb(newPoint, canvas);

            canvas.Children.Add(t);
            var midtnode = Figures.AddAfter(node, t);
            var newLine  = CreateLine(t, lastThumb, canvas);

            Figures.AddAfter(midtnode, newLine);
            if (thumbIndex == 0)
            {
                Polygon.Points.Add(newPoint);
            }
            else
            {
                Polygon.Points.Insert(thumbIndex, newPoint);
            }
        }
コード例 #5
0
        public void TestMethodCircleAre()
        {
            bool result;

            result = Figures.CircleAre(1) == Math.PI;
            Assert.IsTrue(result, String.Format("Result: {0}", result));
        }
コード例 #6
0
        public void DeserializeDiagram(string openFile)
        {
            Figures.Clear();

            JsonSerializerSettings jsonSerializerSettings = new JsonSerializerSettings
            {
                ReferenceLoopHandling      = ReferenceLoopHandling.Ignore,
                TypeNameHandling           = TypeNameHandling.All,
                PreserveReferencesHandling = PreserveReferencesHandling.Objects
            };

            List <IFigure> temp = JsonConvert.DeserializeObject <List <IFigure> >(openFile, jsonSerializerSettings);

            foreach (IFigure fgr in temp)
            {
                fgr.FigurePen.Color = fgr.PenColor;
                fgr.FigurePen.Width = fgr.PenWidth;

                if (fgr is ClassRectangle)
                {
                    ClassRectangle classRectangle = (ClassRectangle)fgr;
                    classRectangle.FigureBrush.Color = classRectangle.FigureBackColor;
                    classRectangle.textFont          = new Font(classRectangle.textFont.FontFamily, classRectangle.FontSize * _painter.Scale, classRectangle.textFont.Style);
                }

                Figures.Add(fgr);
            }

            Refresh();
        }
コード例 #7
0
        public HollowRectangle(World world, int width, int height, int borderSize, int x, int y, string color = null, bool?isStatic = null) : base(world, x, y, color)
        {
            _originalWidth  = width;
            _originalHeight = height;

            int halfX = width / 2;
            int halfY = height / 2;

            var figure1 = new Rectangle(world, width, borderSize, 0, x, y - halfY, color, isStatic);
            var figure2 = new Rectangle(world, borderSize, height, 0, x - halfX, y, color, isStatic);
            var figure3 = new Rectangle(world, width, borderSize, 0, x, y + halfY, color, isStatic);
            var figure4 = new Rectangle(world, borderSize, height, 0, x + halfX, y, color, isStatic);

            Figures.Add(figure1);
            Figures.Add(figure2);
            Figures.Add(figure3);
            Figures.Add(figure4);

            JointFactory.CreateWeldJoint(world, figure1.Body, figure2.Body, Vector2.Zero, Vector2.Zero);
            JointFactory.CreateWeldJoint(world, figure2.Body, figure3.Body, Vector2.Zero, Vector2.Zero);
            JointFactory.CreateWeldJoint(world, figure3.Body, figure4.Body, Vector2.Zero, Vector2.Zero);
            JointFactory.CreateWeldJoint(world, figure4.Body, figure1.Body, Vector2.Zero, Vector2.Zero);

            Density     = 0.3f;
            Friction    = 0;
            Restitution = 1;
        }
コード例 #8
0
        public void TestMethodIsTriangle()
        {
            bool result;

            result = Figures.IsTriangle(-5, -5, -5);
            Assert.IsFalse(result, String.Format("Result: {0}", result));

            result = Figures.IsTriangle(1, 1, 0);
            Assert.IsFalse(result, String.Format("Result: {0}", result));

            result = Figures.IsTriangle(1, 1, 1);
            Assert.IsTrue(result, String.Format("Result: {0}", result));

            result = Figures.IsTriangle(3, 4, 5);
            Assert.IsTrue(result, String.Format("Result: {0}", result));

            result = Figures.IsTriangle(8, 8, 4);
            Assert.IsTrue(result, String.Format("Result: {0}", result));

            result = Figures.IsTriangle(8, 1, 1);
            Assert.IsFalse(result, String.Format("Result: {0}", result));

            result = Figures.IsTriangle(8, 4, 4);
            Assert.IsFalse(result, String.Format("Result: {0}", result));
        }
コード例 #9
0
        /// <summary>
        /// Generates the segments of the pie slice object.
        /// </summary>
        protected override void BuildFiguresOverride()
        {
            double initialAngleRad   = GeometryHelper.DegreeToRadian(_initialAngle);
            double effectiveAngleRad = GeometryHelper.DegreeToRadian(_initialAngle + _angle);
            double radiusX           = Double.IsNaN(Width) ? 1.0 : (Width - StrokeThickness) / 2;
            double radiusY           = Double.IsNaN(Height) ? 1.0 : (Height - StrokeThickness) / 2;

            _figure.Segments.Clear();
            _figure.StartPoint = new Point(radiusX, radiusY);

            LineSegment lineSegment = new LineSegment();

            lineSegment.Point = new Point(
                radiusX + Math.Cos(initialAngleRad) * radiusX,
                radiusY + Math.Sin(initialAngleRad) * radiusY);
            _figure.Segments.Add(lineSegment);

            ArcSegment arcSegment = new ArcSegment();

            arcSegment.Point = new Point(
                radiusX + Math.Cos(effectiveAngleRad) * radiusX,
                radiusY + Math.Sin(effectiveAngleRad) * radiusY);
            arcSegment.Size           = new Size(radiusX, radiusY);
            arcSegment.SweepDirection = SweepDirection.Clockwise;
            arcSegment.IsLargeArc     = (_angle % 360) >= 180;
            _figure.Segments.Add(arcSegment);

            Figures.Add(_figure);
        }
コード例 #10
0
 void SetFigureOn(Squares square, Figures figure)  // метод для установки фигур
 {
     if (square.PosOnBoard())
     {
         figures[square.x, square.y] = figure;
     }
 }
コード例 #11
0
        protected override bool Receive(FigureProtocol.ShowCommand showCommand)
        {
            if (!Figures.ContainsKey(showCommand.FigureId))
            {
                return(false);
            }
            Figure fig = Figures[showCommand.FigureId];

            fig.Showed = true;
            foreach (Figure figure in Figures.Values)
            {
                if (!figure.Showed)
                {
                    return(true);
                }
            }
            Execute(@"
plt.ion()
");
            foreach (Figure figure in Figures.Values)
            {
                figure.Showed = false;
            }
            foreach (Curve curve in fig.Curves.Values)
            {
                curve.CachedTime = DateTime.Now;
            }
            return(true);
        }
コード例 #12
0
        protected virtual void Flush(Curve curve, int figureId, int curveHandle)
        {
            string curveID = $"{figureId}_{curveHandle}";

            Execute($@"
xdata{curveID} = np.append(xdata{curveID}, [{string.Join(',', curve.CachedX)}])
ydata{curveID} = np.append(ydata{curveID}, [{string.Join(',', curve.CachedY)}])
cv{curveID}.set_data(xdata{curveID}, ydata{curveID})
ax{figureId}.set_xlim((min(xdata{curveID}), max(xdata{curveID})))
ax{figureId}.set_ylim((min(ydata{curveID}), max(ydata{curveID})))
");
            curve.CachedX.Clear();
            curve.CachedY.Clear();
            curve.CachedTime = DateTime.Now;
            curve.Paused     = true;
            if (Figures.All(fig => fig.Value.Paused))
            {
                Execute(@"
plt.pause(0.05)
");
                foreach (Figure fig in Figures.Values)
                {
                    fig.Paused = false;
                }
            }
        }
コード例 #13
0
        public void StartFigure(Point firstPoint)
        {
            var newfig = new SeriesFigure();

            newfig.Points.Add(firstPoint);
            Figures.Add(newfig);
        }
コード例 #14
0
ファイル: TetrisGrid.cs プロジェクト: Creepydoll01/WPFTetris
        public static List <Brick> Update(Figures Figure, ref List <Brick> TetrisGridEngine)
        {
            foreach (Brick item in Figure.PreviousState)
            {
                if (item.PosY >= 0)
                {
                    TetrisGridEngine.Find(x => x.PosY == item.PosY && x.PosX == item.PosX).IsPresent = false;
                    TetrisGridEngine.Find(x => x.PosY == item.PosY && x.PosX == item.PosX).IsMain    = false;
                }
            }

            foreach (Brick item in Figure.FigureType)
            {
                if (item.IsSolid == true)
                {
                    return(TetrisGridEngine);
                }
                if (item.PosY >= 0)
                {
                    TetrisGridEngine.Find(x => x.PosY == item.PosY && x.PosX == item.PosX).IsPresent = true;
                    if (item.IsMain == true)
                    {
                        TetrisGridEngine.Find(x => x.PosY == item.PosY && x.PosX == item.PosX).IsMain = true;
                    }
                }
            }
            return(TetrisGridEngine);
        }
コード例 #15
0
        public static void Write_Encrypted_Figure()
        {
            // Save As
            var dialog = new SaveFileDialog
            {
                Filter           = "Dump File (*.bin)|*.bin|All files (*.*)|*.*",
                FilterIndex      = 1,
                RestoreDirectory = true,
                Title            = "Save Encrypted Dump",
                FileName         = frmMain.lstCharacters.SelectedItem
            };

            if (dialog.ShowDialog = DialogResult.OK)
            {
                var newFile = dialog.FileName;

                if (frmMain.chkSerial.Checked)
                {
                    CRC16CCITT.GenerateNewSerial();
                }
                Figures.EditCharacterIDVariant();
                Write_Data();
                // Since we are Writing an Encrypted Figure, I need to Re-Encrypt it.
                Encrypt();
                // Now we write the file.
                fs = new FileStream(NewFile, FileMode.OpenOrCreate);
                fs.Write(WholeFile, 0, WholeFile.Length);
                fs.Flush();
                fs.Close();
                // We Decrypt after we are done.
                Decrypt();
            }
        }
コード例 #16
0
ファイル: MainForm.cs プロジェクト: kaymakanski/MyFigures
        private void MainForm_MouseClick(object sender, MouseEventArgs e)
        {
            if (figuresBuilder == null)
            {
                return;
            }

            selectedFigure          = figuresBuilder.build();
            selectedFigure.Location = e.Location;
            if (ChoseColorForm.chosenColor == default)
            {
                ChoseColorForm.getFigureBaseColor(selectedFigure.FigureType);
                selectedFigure.Color = ChoseColorForm.baseColor;
            }
            else
            {
                selectedFigure.Color = ChoseColorForm.chosenColor;
            }

            AreaAccumulator.accumulateArea(selectedFigure.Area, selectedFigure.FigureType);
            displayArea();

            _figures.Add(selectedFigure);
            Invalidate();
        }
コード例 #17
0
        private void Polychop()
        {
            Program.PrintTitle("RUNNING STEP 4");
            Console.WriteLine("PolyChop is running");

            var cow = Figures.Cow();

            var details = new[] { 100, 25, 10, 2, 1 };

            var resulttup   = new Tuple <IPolygon, string> [details.Length];
            var resultarray = new IPolygon[details.Length];

            for (int i = 0; i < details.Length; i++)
            {
                resultarray[i] = new Polychop().Run(cow, new ExportBuilder(), (int)(cow.VertexCount * (100f - details[i]) / 100f));
                resulttup[i]   = Tuple.Create(resultarray[i], "Cow mesh with " + (100 - details[i]) + " % edges removed by PolyChop");
            }

            if (!LaunchView(resulttup))
            {
                Export(resultarray, new long[resultarray.Length]);
            }

            Console.WriteLine("\nStep 4 finished");
            Console.WriteLine("\nPRESS ANY KEY TO CONTINUE");
        }
コード例 #18
0
        /// <summary>
        /// Generates the points and segments of the polygonal Figure object.
        /// </summary>
        protected override void BuildFiguresOverride()
        {
            _points.Clear();
            double initialAngleRad = GeometryHelper.DegreeToRadian(_initialAngle);
            double angle1Rad       = 2 * Math.PI / _sideCount;
            double angleRad        = 0.0;
            double areaWidth       = Double.IsNaN(Width) ? 0.0 : Width / 2;
            double areaHeight      = Double.IsNaN(Height) ? 0.0 : Height / 2;

            for (int i = 1; i <= _sideCount; i++)
            {
                angleRad = (angle1Rad * i) + initialAngleRad;
                Point p = new Point();
                p.X = areaWidth == 0.0 ?
                      Math.Cos(angleRad) :
                      areaWidth + Math.Cos(angleRad) * (areaWidth - StrokeThickness / 2);
                p.Y = areaHeight == 0.0 ?
                      Math.Sin(angleRad) :
                      areaHeight + Math.Sin(angleRad) * (areaHeight - StrokeThickness / 2);
                _points.Add(p);
            }
            _figure.Segments.Clear();
            _figure.StartPoint = _points[0];
            for (int i = 0; i < _points.Count; i++)
            {
                if (i < _points.Count - 1)
                {
                    LineSegment segment = new LineSegment();
                    segment.Point = _points[i + 1];
                    _figure.Segments.Add(segment);
                }
            }
            Figures.Add(_figure);
        }
コード例 #19
0
ファイル: Program.cs プロジェクト: LaetitiaCR/Dev_Laeti
        static void Main(string[] args)
        {
            FigureRectangle figRect = new FigureRectangle();

            figRect.NomForme();

            FigureTriangle figTri = new FigureTriangle();

            figTri.NomForme();


            Console.WriteLine("**********************************");

            Figures figS = new Figures();


            figS.Add(figRect);
            figS.Add(figTri);

            figS.NomForme();


            Console.WriteLine("**********************************");

            //mafigure.Accept(new Visiteur()); -> aura pour consequence d'afficher le message

            VisiteurFigurePourConsole iv       = new VisiteurFigurePourConsole();
            FigureRectangle           figRect2 = new FigureRectangle();

            iv.Visit(figRect2);
        }
コード例 #20
0
        public void Stop()
        {
            _runEngine = false;
            _thread?.Abort();
            //_stepThread?.Abort();
            IEnumerable <IFigure> figures;

            lock (Figures) figures = Figures.ToList();
            foreach (var figure in figures)
            {
                RemoveFigure(figure);
            }
            Figures.Clear();

            IEnumerable <IComplexFigure> cfigures;

            lock (Figures) cfigures = CFigures.ToList();
            foreach (var figure in cfigures)
            {
                RemoveComplexFigure(figure);
            }
            CFigures.Clear();

            TextInfos.Clear();

            _thread?.Abort();
            //_stepThread?.Abort();
            //_stepThread = null;
        }
コード例 #21
0
        public static void GetAreaAndPerimeterOfFigure(Figures figure, FigureWorker worker)
        {
            switch (figure.ToString())
            {
            case "Circle":
            {
                worker.CircleRun(figure.ToString());
                break;
            }

            case "Triangle":
            {
                worker.TrinagleRun(figure.ToString());
                break;
            }

            case "Rectangle":
            {
                worker.RectangleRun(figure.ToString());
                break;
            }

            default:
            {
                throw new InvalidEnumArgumentException();
            }
            }
        }
コード例 #22
0
ファイル: Drawing.cs プロジェクト: radtek/Shopdrawing
 public IEnumerable <IFigure> GetSerializableFigures()
 {
     foreach (IFigure figure in Figures.Where(f => f.Serializable))
     {
         yield return(figure);
     }
 }
コード例 #23
0
ファイル: Figure.cs プロジェクト: PavelKlim/Tetris-Unity
	public Figure(Model model)
	{
		int i = Random.Range(0,5);
		switch (i)
		{
		case 0:
			this.form = new bool[2, 3] { { true, true, true }, { true, false, false } };
			this.nameFigure = Figures.Horse;
			if (Random.Range(0.0f, 1.0f) > 0.5f)
				this.Reflector();
			break;
		case 1:
			this.form = new bool[2, 3] { { false, true, false }, { true, true, true } };
			this.nameFigure = Figures.Pedestal;
			break;
		case 2:
			this.form = new bool[2, 2] { { true, true }, { true, true } };
			this.nameFigure = Figures.Square;
			break;
		case 3:
			this.form = new bool[2, 3] { { true, true, false }, { false, true, true } };
			this.nameFigure = Figures.Steps;
			if (Random.Range(0.0f, 1.0f) > 0.5f)
				this.Reflector();
			break;
		case 4:
			this.form = new bool[1, 4] { { true, true, true, true } };
			this.nameFigure = Figures.Stick;
			break;
		}
		if (model != null) this.position = new Point((int)(model.cells.GetLength(1) / 2) - (this.form.GetLength(1) / 2), -2*(this.form.GetLength(0)));
		
	}
コード例 #24
0
ファイル: Display.cs プロジェクト: boqnd/Tetris
        public void VisualiseField(Field f, Figures fig)
        {
            for (int r = 0; r < f.Rows; r++)
            {
                Console.Write("     . ");
                for (int c = 0; c < f.Cols; c++)
                {
                    string currCoo = r + " " + c;

                    if (fig.Coordinates.Contains(currCoo) || f.FigCoordinates.Contains(currCoo))
                    {
                        Console.Write("▒ ");
                    }
                    else if (r == 2)
                    {
                        Console.Write("~~");
                    }
                    else
                    {
                        Console.Write("  ");
                    }
                }
                Console.Write(". ");
                Console.WriteLine();
            }
            Console.Write("     ");
            for (int c = 0; c < f.Cols + 2; c++)
            {
                Console.Write("--");
            }
        }
コード例 #25
0
    public static bool CheckMoveCorrectness(string from, string to, Figures fig)
    {
        var dx = Math.Abs(to[0] - from[0]);
        var dy = Math.Abs(to[1] - from[1]);

        switch (fig)
        {
        case Figures.queen:
            return((dx != 0 || dy != 0) && (dx == dy || dx == 0 || dy == 0));

        case Figures.bishop:
            return(dx == dy && dx != 0);

        case Figures.knight:
            return((dx == 2 && dy == 1) || (dx == 1 && dy == 2));

        case Figures.rook:
            return((dx != 0 || dy != 0) && (dx == 0 || dy == 0));

        case Figures.king:
            return((dx == 1 || dy == 1) && (dx == 0 || dy == 0 || dx == dy));
        }

        return(false);
    }
コード例 #26
0
        static void DrawFigure(CairoContextEx gr, double x, double y, Figures figure)
        {
            switch (figure)
            {
            case Figures.FigureA:
                double x105, y105;

                x105 = figure_size * Math.Cos(105 * Math.PI / 180);
                y105 = figure_size * Math.Sin(105 * Math.PI / 180);
                gr.MoveTo(x, y);
                gr.LineTo(x + x105, y + y105);
                gr.LineTo(x + x105 + figure_size, y + y105);
                gr.Stroke();
                gr.MoveTo(x + figure_size, y);
                gr.LineTo(x + figure_size + x105, y + y105);
                gr.Stroke();
                gr.MoveTo(x, y);
                gr.LineTo(x + figure_size, y);
                break;

            case Figures.FigureB:
                gr.Rectangle(x, y, figure_size * 0.8, figure_size * 1.2);
                break;

            case Figures.FigureC:
                gr.MoveTo(x, y);
                gr.LineTo(x + figure_size * 1.3, y);
                gr.LineTo(x + figure_size * 1.3, y + figure_size);
                gr.LineTo(x, y + figure_size);
                gr.LineTo(x, y);
                break;

            case Figures.FigureD:
                gr.MoveTo(x + 0.03, y);
                gr.LineTo(x + figure_size - 0.03, y);
                gr.LineTo(x + figure_size, y + figure_size);
                gr.LineTo(x, y + figure_size);
                gr.LineTo(x + 0.03, y);
                break;

            case Figures.FigureE:
                gr.MoveTo(x + 0.03, y);
                gr.LineTo(x + figure_size - 0.04, y);
                gr.LineTo(x + figure_size - 0.04, y + figure_size * 1.2);
                gr.LineTo(x, y + figure_size * 1.2);
                gr.LineTo(x + 0.03, y);
                break;

            case Figures.FigureF:
                gr.MoveTo(x, y);
                gr.LineTo(x, y + figure_size);
                gr.LineTo(x + figure_size, y + figure_size);
                gr.LineTo(x + figure_size - 0.02, y);
                gr.LineTo(x, y);
                break;
            }

            gr.Stroke();
        }
コード例 #27
0
ファイル: PuzzleLargestArea.cs プロジェクト: GNOME/gbrainy
        protected override void Initialize()
        {
            Answer.CheckAttributes |= GameAnswerCheckAttributes.MultiOption | GameAnswerCheckAttributes.IgnoreSpaces;

            figures = new Figures ();
            SetDrawingAreas ();
            Answer.Correct = Answer.GetMultiOption (figures.GetRightAnswerIndex());
        }
コード例 #28
0
        protected override void Initialize()
        {
            Answer.CheckAttributes |= GameAnswerCheckAttributes.MultiOption | GameAnswerCheckAttributes.IgnoreSpaces;

            figures = new Figures();
            SetDrawingAreas();
            Answer.Correct = Answer.GetMultiOption(figures.GetRightAnswerIndex());
        }
コード例 #29
0
    public static void Main(string[] args)
    {
        Figures fig  = (Figures)Enum.Parse(typeof(Figures), Console.ReadLine());
        string  from = Console.ReadLine();
        string  to   = Console.ReadLine();

        Console.WriteLine(fig + " " + CheckMoveCorrectness(from, to, fig));
    }
コード例 #30
0
ファイル: GraphicEditor.cs プロジェクト: 10486/lab3_7
 /// <summary>
 /// Сортировка
 /// </summary>
 /// <param name="comparer">Объект класса для сравнения</param>
 public void Sort(IComparer <Figure> comparer = null)
 {
     if (comparer is null)
     {
         comparer = new FigureComparer();
     }
     Figures.Sort(comparer);
 }
コード例 #31
0
        public Figure[] GetFigures(Color color, FiguresEnum type)
        {
            string typeString = type.ToString();

            return(Figures
                   .Where(f => f.Color == color && f.GetType().Name == typeString)
                   .ToArray());
        }
コード例 #32
0
ファイル: MainForm.cs プロジェクト: Tomilina95/Sources
        private void buttonStartMutant_Click(object sender, EventArgs e)
        {
            pointsMutant = new List <Interfaces.Point>();

            selectedFigure = Figures.Mutant;
            pointsMutant.Clear();
            listFragments.Clear();
        }
コード例 #33
0
ファイル: Id.cs プロジェクト: Pajdziu/Kostki
 public Id(Figures figure, CardColors color)
 {
     this.isJoker = false;
     this.image = null;
     this.color = color;
     this.figure = figure;
     this.blocked = false;
 }
コード例 #34
0
ファイル: Figure.cs プロジェクト: PavelKlim/Tetris-Unity
	public Figure(Figure figureCopy)
	{
		if (figureCopy != null && this != null)
		{
			this.nameFigure = figureCopy.nameFigure;
			this.position = figureCopy.position;
			this.form = new bool[figureCopy.form.GetLength(0), figureCopy.form.GetLength(1)];
			for (int y = 0; y < this.form.GetLength(0); y++)
			{
				for (int x = 0; x < this.form.GetLength(1); x++)
				{
					this.form[y, x] = figureCopy.form[y, x];
				}
			}
		}
	}
コード例 #35
0
ファイル: MainForm.cs プロジェクト: altmer/study-projects
 private void buttonTextToolBar_Click(object sender, EventArgs e)
 {
     UncheckAllFigures();
     buttonTextMenu.Checked = true;
     buttonTextToolBar.Checked = true;
     FigureStatus.Text = "Текст";
     currentFigure = Figures.Text;
 }
コード例 #36
0
ファイル: MainForm.cs プロジェクト: altmer/study-projects
 private void ButtonRectangle_Click(object sender, EventArgs e)
 {
     UncheckAllFigures();
     buttonRectangleMenu.Checked = true;
     buttonRectangleToolBar.Checked = true;
     FigureStatus.Text = "Прямоугольник";
     currentFigure=Figures.Rectangle;
 }
コード例 #37
0
ファイル: MainForm.cs プロジェクト: altmer/study-projects
 private void ButtonLine_Click(object sender, EventArgs e)
 {
     UncheckAllFigures();
     buttonLineMenu.Checked = true;
     buttonLineToolBar.Checked = true;
     FigureStatus.Text = "Линия";
     currentFigure=Figures.Line;
 }
コード例 #38
0
ファイル: MainForm.cs プロジェクト: altmer/study-projects
 private void ButtonEllipse_Click(object sender, EventArgs e)
 {
     UncheckAllFigures();
     buttonEllipseMenu.Checked = true;
     buttonEclipseToolBar.Checked = true;
     FigureStatus.Text = "Эллипс";
     currentFigure=Figures.Ellipse;
 }
コード例 #39
0
ファイル: MainForm.cs プロジェクト: altmer/study-projects
 private void ButtonCurve_Click(object sender, EventArgs e)
 {
     UncheckAllFigures();
     buttonCurveMenu.Checked = true;
     buttonCurveToolBar.Checked = true;
     FigureStatus.Text = "Кривая линия";
     currentFigure=Figures.Curve;
 }
コード例 #40
0
        static void DrawFigure(CairoContextEx gr, double x, double y, Figures figure)
        {
            switch (figure) {
            case Figures.FigureA:
                double x105, y105;

                x105 = figure_size * Math.Cos (105 * Math.PI / 180);
                y105 = figure_size * Math.Sin (105 * Math.PI / 180);
                gr.MoveTo (x, y);
                gr.LineTo (x + x105, y + y105);
                gr.LineTo (x + x105 + figure_size, y + y105);
                gr.Stroke ();
                gr.MoveTo (x + figure_size, y);
                gr.LineTo (x + figure_size + x105, y + y105);
                gr.Stroke ();
                gr.MoveTo (x, y);
                gr.LineTo (x + figure_size, y);
                break;

            case Figures.FigureB:
                gr.Rectangle (x, y, figure_size * 0.8, figure_size * 1.2);
                break;

            case Figures.FigureC:
                gr.MoveTo (x, y);
                gr.LineTo (x + figure_size * 1.3, y);
                gr.LineTo (x + figure_size * 1.3, y + figure_size);
                gr.LineTo (x , y + figure_size);
                gr.LineTo (x, y);
                break;

            case Figures.FigureD:
                gr.MoveTo (x + 0.03, y);
                gr.LineTo (x + figure_size - 0.03, y);
                gr.LineTo (x + figure_size, y + figure_size);
                gr.LineTo (x , y + figure_size);
                gr.LineTo (x + 0.03, y);
                break;

            case Figures.FigureE:
                gr.MoveTo (x + 0.03, y);
                gr.LineTo (x + figure_size - 0.04, y);
                gr.LineTo (x + figure_size - 0.04, y + figure_size * 1.2);
                gr.LineTo (x , y + figure_size  * 1.2);
                gr.LineTo (x + 0.03, y);
                break;

            case Figures.FigureF:
                gr.MoveTo (x, y);
                gr.LineTo (x, y + figure_size);
                gr.LineTo (x + figure_size, y + figure_size);
                gr.LineTo (x + figure_size - 0.02, y);
                gr.LineTo (x, y);
                break;
            }

            gr.Stroke ();
        }
コード例 #41
0
ファイル: ControlPanel.cs プロジェクト: Pajdziu/Kostki
 public Image GetImageByColorAndId(Figures figure, CardColors cardColor)
 {
     Image image = new Image
                       {
                           Source = this.cards[(int) figure, (int) cardColor],
                           Height = this.CardSize,
                           Width = this.CardSize
                       };
     return image;
 }
コード例 #42
0
 private static void DrawFigure(CairoContextEx gr, double x, double y, Figures figure)
 {
     switch (figure) {
     case Figures.TriangleA:
         gr.DrawEquilateralTriangle (x, y, figure_size);
         break;
     case Figures.TriangleB:
         gr.MoveTo (x, y);
         gr.LineTo (x, y + figure_size);
         gr.LineTo (x + figure_size, y);
         gr.LineTo (x, y);
         gr.Stroke ();
         break;
     case Figures.TriangleC:
         gr.MoveTo (x, y);
         gr.LineTo (x, y + figure_size);
         gr.LineTo (x + figure_size, y + figure_size);
         gr.LineTo (x, y);
         gr.Stroke ();
         break;
     case Figures.Square:
         gr.Rectangle (x, y, figure_size, figure_size);
         gr.Stroke ();
         break;
     case Figures.LongRectangle:
         gr.Rectangle (x, y + figure_size / 2, figure_size, figure_size / 2);
         gr.Stroke ();
         break;
     case Figures.LongRectangleUp:
         gr.Rectangle (x, y, figure_size, figure_size / 2);
         gr.Stroke ();
         break;
     case Figures.Diamon:
         gr.DrawDiamond (x, y, figure_size);
         break;
     case Figures.TriangleD:
         gr.MoveTo (x, y);
         gr.LineTo (x, y + figure_size * 0.7);
         gr.LineTo (x + figure_size * 0.7, y + figure_size * 0.7);
         gr.LineTo (x, y);
         gr.Stroke ();
         break;
     }
 }