Beispiel #1
0
        private void Down(ref BrickFactory brickFactory, Label Score_label, Label gameOver,
                          Timer timer, Image i, Panel p, Image i_next, Panel p_next)
        {
            if (brickFactory.IsDown())
            {
                brickFactory.Y++;
            }
            else
            {
                if (brickFactory.Y == 0)
                {
                    timer.Stop();
                    gameOver.Visible = true;
                    return;
                }

                for (int y = 0; y < 4; y++)
                {
                    for (int x = 0; x < 4; x++)
                    {
                        if (brickFactory.Brick._Brick[y, x] == 1)
                        {
                            brickFactory.BackGround[brickFactory.Y + y, brickFactory.X + x].N     = brickFactory.Brick._Brick[y, x];
                            brickFactory.BackGround[brickFactory.Y + y, brickFactory.X + x].Color = brickFactory.Brick.Color;
                        }
                    }
                }
                Score_label.Text = brickFactory.CalculateScore().ToString();
                brickFactory.init(1);
                timer.Start();
            }
            Draw(i, i_next, p, p_next, ref brickFactory);
        }
Beispiel #2
0
        public void CreateBricksAndTestApperance_Passing(string brickName, Type type, bool[,] result)
        {
            BaseBrick brick = BrickFactory.CreateBrick(brickName);

            Assert.NotNull(brick);
            Assert.Equal(type.Name, brick.GetType().Name);
            Assert.Equal(brick.Apperance, result);
        }
 private void CreateNewLevel(Level level)
 {
     //Create brick models
     currentLevelTotalBricks = BrickFactory.CreateBricks(level);
     //Create brick objects
     CreateBrickEntities();
     //Position bricks in row and column
     PositionEntites();
 }
 private void CreateNewLevel(Level level)
 {
     bricksDestroyed = level.BricksCount;
     //Create brick models
     currentLevelTotalBricks = BrickFactory.CreateBricks(level);
     //Create brick objects
     CreateBrickObjects(level);
     //Position bricks in row and column
     PositionBricks();
 }
Beispiel #5
0
 private void button1_Click(object sender, EventArgs e)
 {
     label3.Visible      = false;
     brickFactory        = new BrickFactory();
     label_1P_Score.Text = brickFactory.Score.ToString();
     label_1P_Level.Text = brickFactory.Level.ToString();
     brickFactory.init(0);
     timer1.Interval = Constant.interval;
     timer1.Start();
     this.Focus();
 }
Beispiel #6
0
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            BrickFactory.RegisterFactory("TreeList", new DefaultBrickFactory <DevExpress.XtraReports.CustomControls.TreeListBrick>());
            BrickFactory.RegisterFactory("TreeListNode", new DefaultBrickFactory <DevExpress.XtraReports.CustomControls.TreeListNodeBrick>());
            BrickFactory.RegisterFactory("DataCellTextBrick", new DefaultBrickFactory <DevExpress.XtraReports.CustomControls.DataCellTextBrick>());
            BrickFactory.RegisterFactory("DataCellCheckBrick", new DefaultBrickFactory <DevExpress.XtraReports.CustomControls.DataCellCheckBrick>());
            BrickFactory.RegisterFactory("Grid", new DefaultBrickFactory <DevExpress.XtraReports.CustomControls.GridBrick>());
            BrickFactory.RegisterFactory("GridRecord", new DefaultBrickFactory <DevExpress.XtraReports.CustomControls.GridRecordBrick>());

            Application.Run(new Form1());
        }
Beispiel #7
0
        public override void Initialize()
        {
            var paddle = new Paddle(480, Game.SCREEN_HEIGHT - 100);
            var ball   = new Ball(300, 300, paddle);

            paddle.AppendBall(ball);

            EntityManager.Add(paddle);
            EntityManager.Add(ball);

            var brickFactory = new BrickFactory(this, Assets.Level[0], new Point(130, 50));

            brickFactory.LoadLevel();

            base.Initialize();
        }
Beispiel #8
0
        public 测试砖类型()
        {
            InitializeComponent();
            TemplateArry array = new TemplateArry();

            array.Add("0000001000011100000000000", Color.Blue);
            array.Add("0000000000111100000000000", Color.Green);
            array.Add("0000000110011000000000000", Color.Red);
            array.Add("0000000100011100000000000", Color.DarkCyan);
            array.Add("0000000100011000100000000", Color.OldLace);
            array.Add("0000000000011100100000000", Color.Orange);
            array.Add("0000000000011000110000000", Color.PeachPuff);
            //Point[] points = new Point[] { new Point(0, -1), new Point(1, -1), new Point(0, 0), new Point(0, 1) };
            m_Factory = new BrickFactory(array, Color.Black, 20);
            m_Brick   = m_Factory.CreatBrick();
        }
Beispiel #9
0
    public void GenBrick()
    {
        if (PlayerObject.IsPlay)
        {
            var         xPosition = Random.Range(leftLimiter.position.x, rightLimiter.position.x);
            var         position  = new Vector3(xPosition, transform.position.y, 0f);
            BrickObject newBrick;
            if (0 < Bricks.Count)
            {
                newBrick = Bricks.Dequeue();
                newBrick.transform.position = position;
                newBrick.gameObject.SetActive(true);
            }
            else
            {
                newBrick = Instantiate(brickPrefab, position, Quaternion.identity, transform);
            }

            float      randomBrick = Random.Range(0f, 100f);
            EBrickType brickType   = EBrickType.Damage;
            if (EBrickType.Count != brickTypeOverride)
            {
                brickType = brickTypeOverride;
            }
            else
            {
                if (50f <= randomBrick)
                {
                    brickType = EBrickType.Slow;
                }
            }

            newBrick.ownBrick = BrickFactory.GetBrick(brickType, newBrick.gameObject);
            newBrick.spriteRenderer.sprite = sprites[(int)brickType];
        }
    }
Beispiel #10
0
        public void CreateBrick_Failing()
        {
            BaseBrick brick = null;

            NullReferenceException ex = Assert.Throws <NullReferenceException>(() => brick = BrickFactory.CreateBrick(string.Empty));

            Assert.Null(brick);
            Assert.Equal($"{nameof(BrickFactory)}.{nameof(BrickFactory.CreateBrick)}", ex.Message);
        }
Beispiel #11
0
 public override BaseBrick Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) => BrickFactory.CreateBrick(reader.GetString());
        //explicit binding looks pretty complex and fragile since I didn't use any of packages.
        public void ConfigureDependencies(DependencyResolver dependencies)
        {
            //configure UI manager windows mapping
            var uiManager = new UIManager(_uiContainer, new Dictionary <string, UIWindowConfiguration>()
            {
                {
                    UIWindow.STRING_MAIN_MENU_WINDOW_ID, new UIWindowConfiguration(
                        () => new MainMenuWindowController(),
                        () => new MainMenuWindowModel(
                            dependencies.Resolve <IGameStateManager>(),
                            dependencies.Resolve <LevelManager>()),
                        _mainMenuViewPrefab
                        )
                },
                {
                    UIWindow.STRING_GAME_WINDOW_ID, new UIWindowConfiguration(
                        () => new GameWindowController(),
                        () => new GameWindowModel(dependencies.Resolve <IInputManager>()),
                        _gameViewPrefab
                        )
                }
            });

            var boardManager = new BoardManager();
            var blockFactory = new BlockFactory(_blockPrefab);
            var brickFactory = new BrickFactory(_brickPrefab, blockFactory);
            var gameManager  = new GameManager(brickFactory, boardManager, () =>
                                               dependencies.Resolve <IGameStateManager>().SetState(GameStateType.MainMenu));//horrible solution but there no time left
            LevelManager levelManager = new LevelManager(_levels,
                                                         new CompositeObserver <LevelData>(brickFactory, _gameLoopManager));

            //configure MonoBehaviour services
            _gameLoopManager.Init(new CompositeObserver <TickPassedParams>(gameManager));
            _inputManager.Init(new CompositeObserver <InputReceivedParams>(gameManager, _gameLoopManager));

            //configure application state machine
            var gameStateManager = new GameStateManager(new[]
            {
                new Tuple <GameStateType, Func <GameState> >(GameStateType.MainMenu,
                                                             () => new GameState(() =>
                {
                    dependencies.Resolve <IUIManager>().OpenWindow(UIWindow.STRING_MAIN_MENU_WINDOW_ID);
                }, () =>
                {
                    dependencies.Resolve <IUIManager>().CloseWindow(UIWindow.STRING_MAIN_MENU_WINDOW_ID);
                })),
                new Tuple <GameStateType, Func <GameState> >(GameStateType.Game,
                                                             () => new GameState(() =>
                {
                    dependencies.Resolve <IUIManager>().OpenWindow(UIWindow.STRING_GAME_WINDOW_ID);
                }, () =>
                {
                    dependencies.Resolve <IUIManager>().CloseWindow(UIWindow.STRING_GAME_WINDOW_ID);
                })),
            }, new CompositeObserver <GameStateType>(_gameLoopManager, gameManager));

            //bind dependencies in order to retrieve them later in runtime
            dependencies.Bind <IGameStateManager>(gameStateManager);
            dependencies.Bind <IUIManager>(uiManager);
            dependencies.Bind(levelManager);
            dependencies.Bind <IInputManager>(_inputManager);
        }
Beispiel #13
0
 void Start()
 {
     brick = (Brick)BrickFactory.getBrick(type);
 }
Beispiel #14
0
 static HyperlinkBrick()
 {
     BrickFactory.RegisterFactory(HyperlinkBrickTypeName, new DefaultBrickFactory <HyperlinkBrick>());
 }
Beispiel #15
0
        private void Draw(Image image, Image image_next, Panel panel, Panel panel_next, ref BrickFactory brickFactory)
        {
            Graphics graphics      = Graphics.FromImage(image);
            Graphics graphics_next = Graphics.FromImage(image_next);

            graphics.Clear(this.BackColor);
            graphics_next.Clear(this.BackColor);
            if (brickFactory != null)
            {
                for (int bgy = 0; bgy < 20; bgy++)
                {
                    for (int bgx = 0; bgx < 14; bgx++)
                    {
                        if (brickFactory.BackGround[bgy, bgx].N == 1)
                        {
                            graphics.FillRectangle(new SolidBrush(brickFactory.BackGround[bgy, bgx].Color), bgx * 20, bgy * 20, 20, 20);
                        }
                        graphics.DrawRectangle(new Pen(Color.White), bgx * 20, bgy * 20, 20, 20);
                    }
                }
                for (int row = 0; row < 4; row++)
                {
                    for (int col = 0; col < 4; col++)
                    {
                        if (brickFactory.Brick._Brick[row, col] == 1)
                        {
                            graphics.FillRectangle(new SolidBrush(brickFactory.Brick.Color), (col + brickFactory.X) * 20, (row + brickFactory.Y) * 20, 20, 20);
                            graphics.DrawRectangle(new Pen(Color.White), (col + brickFactory.X) * 20, (row + brickFactory.Y) * 20, 20, 20);
                        }
                        if (brickFactory.Next_Brick._Brick[row, col] == 1)
                        {
                            graphics_next.FillRectangle(new SolidBrush(brickFactory.Next_Brick.Color), col * 20, row * 20, 20, 20);
                        }
                    }
                }
            }
            Graphics graphics1 = panel.CreateGraphics();
            Graphics graphics2 = panel_next.CreateGraphics();

            graphics1.DrawImage(image, 0, 0);
            graphics2.DrawImage(image_next, 0, 0);
        }