コード例 #1
0
        public static bool SpawnFigure(PlayerServiceReference.BaseUnitPackage unit, Enums.Piece piece)
        {
            for (int i = 0; i < 8; ++i)
            {
                if (Figures[-1, i] == null)
                {
                    Figure figureOnBoard = FigureManager.CreateFigure(unit, piece);

                    //if (CheckForUpgrades(figureOnBoard, true).Count != 0)
                    //    return true;

                    figureOnBoard.Untargetable = true;
                    figureOnBoard.Owner        = Owner;
                    figureOnBoard.OnDeath     += f =>
                    {
                        Figures[f.Position.Row, f.Position.Column] = null;
                        _activeAllyFigures.Remove(f);
                        if (_activeAllyFigures.Count == 0)
                        {
                            TakeDamage();
                        }
                    };
                    figureOnBoard.OnMove += MoveFigure;
                    figureOnBoard.OnSell += figure => SellFigure(figure);

                    AllFigures.Add(figureOnBoard);
                    SpawnChessFigure(AllFigures.Count - 1, -1, i);
                    return(true);
                }
            }
            return(false);
        }
コード例 #2
0
        /// <summary>
        /// Entering method
        /// </summary>
        public static void Main()
        {
            ISettingsProvider settingsProvider = new SettingsProvider();
            var settings = settingsProvider.Get();

            IInputOutput inputOutput = new ConsoleIOModule();

            IBoard board;

            try
            {
                board = new Board(inputOutput, settings.BorderWidth, settings.BorderHeight, settings.BorserStile);
            }
            catch (System.Exception e)
            {
                inputOutput.Print("Please set the correct board size. " + e.Message);
                inputOutput.Input();
                return;
            }

            IPhraseProvider phraseProvider = new JsonPhraseProvider();

            phraseProvider.Init(settings.Language);

            IFigureManager figureManager = new FigureManager(inputOutput, settings.FigureStile);

            Game game = new Game(
                st: settings,
                board: board,
                io: inputOutput,
                phraseProvider: phraseProvider,
                figureManager: figureManager);

            game.Run();
        }
コード例 #3
0
            public override float ApplyToProperties(Unit.Properties property)
            {
                Unit unit;

                if (!_triggered)
                {
                    switch (_golemSize)
                    {
                    case GolemSize.Small:
                        unit = FigureManager.CreateUnit("EarthSmallGolem");
                        break;

                    case GolemSize.Big:
                        unit = FigureManager.CreateUnit("EarthBigGolem");
                        break;

                    default:
                        return(0);
                    }

                    _figure    = FigureManager.CreateFigure(unit, Enums.Piece.Pawn);
                    _triggered = true;

                    OnFigureSpawn(_figure, _source);
                }
                return(0);
            }
コード例 #4
0
    public virtual void Setup(Color newTeamColor, Color32 newSpriteColor, FigureManager newFigureManager)
    {
        color         = newTeamColor;
        figureManager = newFigureManager;

        GetComponent <Image>().color = newSpriteColor;
        rectTransform = GetComponent <RectTransform>();
    }
コード例 #5
0
        private void EditItem(object sender, MouseButtonEventArgs e)
        {
            var activeListItem = LBItems.SelectedItem as ShapeListItem;

            _activeElement        = activeListItem.Shape;
            _activeMyShapeElement = activeListItem;
            _figureManager        = GetFigureManagerForEdit(activeListItem);
            _currentlyDrawing     = true;
        }
コード例 #6
0
        private void Form1_Load(object sender, EventArgs e)
        {
            var figureManager = new FigureManager();

            foreach (var item in figureManager.FigureList)
            {
                FigureList.Items.Add(item);
            }
        }
コード例 #7
0
    void SpawnFigure()
    {
        m_currentFigure = Random.Range(1, 10);

        GameObject tempFigure = Instantiate(m_figure, new Vector3(Random.Range(4, 6), 19, 90), Quaternion.identity) as GameObject;

        m_currentFigureManager            = tempFigure.GetComponent <FigureManager>();
        m_currentFigureManager.m_figureID = m_currentFigure;
        tempFigure.SetActive(true);
    }
コード例 #8
0
            public override float ApplyToProperties(Unit.Properties property)
            {
                Unit unit = ((Units.ICloneable)_source.Unit).Clone();

                Figure figure = FigureManager.CreateFigure(unit, Enums.Piece.Pawn);

                OnFigureSpawn(figure, _source);

                return(0);
            }
コード例 #9
0
        public void GetFiguresForTableTest()
        {
            //Arrange
            MockApplicationContext context = new MockApplicationContext()
                                             .MockFigures();

            //Act
            FigureManager manager     = new FigureManager(context.Object);
            var           result_good = manager.GetFiguresForTable(ServiceDataToUse.Table.Id);

            //Assert
            Assert.AreEqual(result_good.Count(), 1, "Failed while taking figures for valid table.");
        }
コード例 #10
0
        public async Task DeleteAsyncTest()
        {
            //Arrange
            MockApplicationContext context = new MockApplicationContext()
                                             .MockGames()
                                             .MockFigures();

            //Act
            FigureManager manager     = new FigureManager(context.Object);
            var           result_good = await manager.DeleteAsync(ServiceDataToUse.Table.Id);

            //Assert
            Assert.IsTrue(result_good, "Failed while deleting figures for valid table.");
        }
コード例 #11
0
            public CairoPositionSnapshot(ArrayList pos,
						      int width, int height)
            {
                fm = new FigureManager ();
                Gtk.Window win =
                    new Gtk.Window (Gtk.WindowType.
                            Toplevel);
                win.Realize ();
                map = new Gdk.Pixmap (win.GdkWindow, width,
                              height);
                cairo = Gdk.CairoHelper.Create (map);

                FontDescription fontdesc =
                    GetFontDesc (width, height);
                  GetCoordLayoutDetails (win.PangoContext,
                             fontdesc);

                  border_color = new Cairo.Color (0, 0, 0);
                //                              blacksq_color = new Gdk.Color (200, 200, 200);
                //                              whitesq_color = new Gdk.Color (240, 240, 240);
                  blacksq_color =
                    new Cairo.Color (250 / 256.0,
                             120 / 256.0,
                             32 / 256.0);
                  whitesq_color =
                    new Cairo.Color (255 / 256.0,
                             250 / 256.0,
                             170 / 256.0);
                  background_color =
                    new Cairo.Color (1, 1, 1);
                  foreground_color =
                    new Cairo.Color (0, 0, 0);
                //                                arrow_color = new Gdk.Color (159, 148, 249);
                  arrow_color =
                    new Cairo.Color (117 / 256.0,
                             6 / 256.0,
                             6 / 256.0);

                //                      blacksq_color = new Gdk.Color(210, 60, 0);
                //                      whitesq_color = new Gdk.Color(236, 193, 130);
                // outer box, coord, inner box
                  ComputeSizes (width, height);

                  position = new Position (pos);

                  fm.SetSize (size);

                  DrawBackground ();
                  DrawPosition ();
            }
コード例 #12
0
        public async Task FindByIdAsyncTest()
        {
            //Arrange
            MockApplicationContext context = new MockApplicationContext()
                                             .MockFigures();
            //Act
            FigureManager manager     = new FigureManager(context.Object);
            var           result_good = await manager.FindByIdAsync(ServiceDataToUse.Figure.Id);

            var result_bad = await manager.FindByIdAsync(123);

            //Assert
            Assert.IsNotNull(result_good, "Failed while getting figure with valid id.");
            Assert.IsNull(result_bad, "Can get figure with invalid id.");
        }
コード例 #13
0
        public static void SellUnit(Figure figure)
        {
            if (MatchManager.Instance.MatchState != Enums.MatchState.Preparation)
            {
                return;
            }
            Player player = Player.Instance;

            player.Pawns += figure.Cost;

            List <BaseUnitPackage> units = FigureManager.Disassemble(figure);

            foreach (BaseUnitPackage unit in units)
            {
                ReturnUnitToPool(unit);
            }
        }
コード例 #14
0
        public async Task CreateAsyncTest()
        {
            //Arrange
            MockApplicationContext context = new MockApplicationContext()
                                             .MockGames()
                                             .MockTables()
                                             .MockFigures();
            //Act
            FigureManager manager     = new FigureManager(context.Object);
            var           result_good = await manager.CreateAsync(ServiceDataToUse.Table.Id);

            var result_bad = await manager.CreateAsync(123);

            //Assert
            Assert.IsTrue(result_good, "Failed while creating figures for valid table.");
            Assert.IsFalse(result_bad, "Can create figures for invalid table.");
        }
コード例 #15
0
        private FigureManager GetFigureManagerForEdit(ShapeListItem shape)
        {
            FigureManager figureManager = null;

            if (shape.Shape is Line)
            {
                figureManager = new LineManager();
            }
            else if (shape.Shape is Ellipse)
            {
                figureManager = new EllipseManager();
            }
            else if (shape.Shape is System.Windows.Shapes.Rectangle)
            {
                figureManager = new RectangleManager();
            }
            figureManager.Set(shape.StartX, shape.StartY);
            return(figureManager);
        }
コード例 #16
0
        private FigureManager GetFigureManager(double x, double y)
        {
            FigureManager figureManager = null;

            if (RBLine.IsChecked.Value)
            {
                figureManager = new LineManager();
            }
            else if (RBCircle.IsChecked.Value)
            {
                figureManager = new EllipseManager();
            }
            else if (RBRectangle.IsChecked.Value)
            {
                figureManager = new RectangleManager();
            }
            figureManager.Set(x, y);
            return(figureManager);
        }
コード例 #17
0
        public async Task DeleteSingleFigureAsyncTest()
        {
            //Arrange
            MockApplicationContext context = new MockApplicationContext()
                                             .MockFigures();
            //Act
            FigureManager manager     = new FigureManager(context.Object);
            var           result_good = await manager.DeleteSomeFiguresAsync(new List <int> {
                ServiceDataToUse.Figure.Id
            });

            var result_bad = await manager.DeleteSomeFiguresAsync(new List <int> {
                123
            });

            //Assert
            Assert.IsTrue(result_good, "Failed while deleting figure with valid id.");
            Assert.IsFalse(result_bad, "Can delete figure with invalid id.");
        }
コード例 #18
0
ファイル: MainWindow.xaml.cs プロジェクト: taekun/lens
        public MainWindow()
        {
            InitializeComponent();
            DataContext = this;

            Status    = Status.Ready;
            m_Manager = new FigureManager(Canvas, Dispatcher);

            CodeEditor.PreviewKeyDown += (s, e) =>
            {
                if (e.Key == Key.Tab)
                {
                    CodeEditor.SelectedText    = "    ";
                    CodeEditor.SelectionStart += 4;
                    CodeEditor.SelectionLength = 0;
                    e.Handled = true;
                }
            };

            RegisterCommands();
        }
コード例 #19
0
        private void StartStopDrawing(object sender, MouseButtonEventArgs e)
        {
            if (_currentlyDrawing)
            {
                CurrentlyDrawing = false;
            }
            else
            {
                CurrentlyDrawing = true;

                var mousePosition = e.GetPosition(Canvas);

                _figureManager = GetFigureManager(mousePosition.X, mousePosition.Y);

                _activeElement = GetElement();


                Canvas.Children.Add(_activeElement);
                _activeMyShapeElement        = new ShapeListItem(_activeElement);
                _activeMyShapeElement.StartX = mousePosition.X;
                _activeMyShapeElement.StartY = mousePosition.Y;
                _shapes.Add(_activeMyShapeElement);
            }
        }
コード例 #20
0
 public void Triangle_4_3_5_Edges_IsRight()
 {
     Assert.IsTrue(FigureManager.TriangleIsRight(new Triangle(4, 3, 5)));
 }
コード例 #21
0
 public void Triangle_1_5_4_Edges_IsRight()
 {
     Assert.IsTrue(FigureManager.TriangleIsRight(new Triangle(4, 4, 5.7)));
 }
コード例 #22
0
 public void TotalArea_4_8_3point2_Edges_Triangle()
 {
     Assert.AreEqual(15.68, FigureManager.GetFigureTotalArea(new Triangle(4, 8, 8.2)));
 }
コード例 #23
0
 public void TotalArea_23_32_3_Edges_Triangle()
 {
     Assert.AreEqual(349.24, FigureManager.GetFigureTotalArea(new Triangle(23, 32, 33)));
 }
コード例 #24
0
 public void TotalArea_1_2_3_Edges_Triangle()
 {
     Assert.AreEqual(0, FigureManager.GetFigureTotalArea(new Triangle(1, 2, 3)));
 }
コード例 #25
0
 public void TotalArea_78_Radius_Circle()
 {
     Assert.AreEqual(19113.45, FigureManager.GetFigureTotalArea(new Circle(78)));
 }
コード例 #26
0
 public void TotalArea_2point5_Radius_Circle()
 {
     Assert.AreEqual(19.63, FigureManager.GetFigureTotalArea(new Circle(2.5)));
 }
コード例 #27
0
 public void TotalArea_1_Radius_Circle()
 {
     Assert.AreEqual(3.14, FigureManager.GetFigureTotalArea(new Circle(1)));
 }
コード例 #28
0
 public void Triangle_4_3_2_Edges_IsRight()
 {
     Assert.IsFalse(FigureManager.TriangleIsRight(new Triangle(4, 3, 2)));
 }