コード例 #1
0
        /// <summary>
        /// load all bricks at the beginning of the game
        /// </summary>
        private void SetBricks()
        {
            BinaryReader br  = new BinaryReader(tcp.GetStream());
            string       map = br.ReadString();

            brickbreakermodel.Map = map;
            int count = br.ReadInt32();

            for (int i = 0; i < count; i++)
            {
                int y = br.ReadInt32();
                int x = br.ReadInt32();
                brickbreaker.Dispatcher.Invoke(() =>
                {
                    Button temp = new Button()
                    {
                        Width = 30, Height = 15
                    };
                    temp.Background = DesignExpert.GetBrick();
                    Canvas.SetLeft(temp, y * 45 + 25);
                    Canvas.SetTop(temp, x * 45 + 80);
                    brickbreakermodel.items.Add(temp);

                    temp = new Button()
                    {
                        Width = 30, Height = 15
                    };
                    temp.Background = DesignExpert.GetBrick();
                    Canvas.SetLeft(temp, y * 45 + 25);
                    Canvas.SetBottom(temp, x * 45 + 80);
                    brickbreakermodel.items.Add(temp);
                });
            }
        }
コード例 #2
0
 public void SetPauseParams()
 {
     esc.Source = DesignExpert.GetPause();
     Canvas.SetTop(esc, 0);
     Canvas.SetLeft(esc, 0);
     esc.Width  = 350;
     esc.Height = 518;
 }
コード例 #3
0
        /// <summary>
        /// set the color of the other player
        /// </summary>
        private void SetPlayerColor()
        {
            BinaryReader br        = new BinaryReader(tcp.GetStream());
            int          player_id = br.ReadInt32();
            int          color_id  = br.ReadInt32();

            brickbreaker.Dispatcher.Invoke(() =>
            {
                if (player_id == 1)
                {
                    brickbreakermodel.Source2     = DesignExpert.GetPlayerBackgroundByNumber(color_id);
                    brickbreakermodel.Background1 = DesignExpert.colors[color_id - 1];
                    return;
                }
                brickbreakermodel.Source2     = DesignExpert.GetPlayerBackgroundByNumber(color_id);
                brickbreakermodel.Background2 = DesignExpert.colors[color_id - 1];
            });
        }
コード例 #4
0
        /// <summary>
        /// sets new ball coordinates
        /// </summary>
        /// <param name="com"> LoadGame or BallCoordinatesProcessing</param>
        private void SetBallCoordinates(Commands com)
        {
            var  br      = new BinaryReader(tcp.GetStream());
            bool player1 = br.ReadBoolean();

            if (player1)
            {
                brickbreaker.Dispatcher.Invoke(() =>
                {
                    brickbreakermodel.BallBottom = br.ReadDouble();
                    brickbreakermodel.BallLeft   = br.ReadDouble();
                    if (com == Commands.LoadGame)
                    {
                        int number = 1;
                        brickbreakermodel.Source1     = DesignExpert.GetPlayerBackground(ref number);
                        brickbreakermodel.Background1 = DesignExpert.colors[number - 1];
                        PaintPlayer(number);
                    }
                });
            }
            else
            {
                brickbreaker.Dispatcher.Invoke(() =>
                {
                    brickbreakermodel.BallBottom = DesignExpert.fieldHeight - br.ReadDouble() - DesignExpert.ball;
                    brickbreakermodel.BallLeft   = DesignExpert.fieldWidth - br.ReadDouble() - DesignExpert.ball;
                    if (com == Commands.LoadGame)
                    {
                        int number = 3;
                        brickbreakermodel.Source1     = DesignExpert.GetPlayerBackground(ref number);
                        brickbreakermodel.Background2 = DesignExpert.colors[number - 1];
                        PaintPlayer(number);
                    }
                });
            }
        }