Ejemplo n.º 1
0
        private void Button_End_Click(object sender, EventArgs e)
        {
            Label_DiceNumber.ForeColor = Color.Black;
            Label_DiceNumber.BackColor = Color.White;
            Label_DiceNumber.Font      = new Font("新細明體", 24, FontStyle.Regular);

            now_player = (now_player + 1) % Constants.PLAYER_NUMBER;
            while (players[now_player].State == PlayerState.Dead)
            {
                now_player = (now_player + 1) % Constants.PLAYER_NUMBER;
            }
            Label_DiceNumber.ForeColor = Color.Black;
            now_state = GameState.Initial;
            UpdateUI();

            PictureBox_Map.Refresh();
            PictureBox_MiniMap.Refresh();
        }
Ejemplo n.º 2
0
        private void Timer_Process_Tick(object sender, EventArgs e)
        {
            int counter = 0;


            if (step != 0)
            {
                if (PlayerMove())
                {
                    players[now_player].BlockIndex = (players[now_player].BlockIndex + 1) % Constants.BLOCK_NUMBER;
                    --step;

                    if (blocks[players[now_player].BlockIndex] is StartBlock)
                    {
                        blocks[players[now_player].BlockIndex].ExcecuteAction(players[now_player]);
                        UpdateHP();
                    }

                    if (step == 0)
                    {
                        if (blocks[players[now_player].BlockIndex] is ArmorBlock)
                        {
                            blocks[players[now_player].BlockIndex].ExcecuteAction(players[now_player]);
                            UpdateHP();
                        }
                        else if (blocks[players[now_player].BlockIndex] is TrapBlock)
                        {
                            blocks[players[now_player].BlockIndex].ExcecuteAction(players[now_player]);
                            UpdateHP();
                        }
                        else if (blocks[players[now_player].BlockIndex] is RestBlock)
                        {
                            blocks[players[now_player].BlockIndex].ExcecuteAction(players[now_player]);
                            UpdateHP();
                        }
                        else if (blocks[players[now_player].BlockIndex] is EquipsBlock)
                        {
                            blocks[players[now_player].BlockIndex].ExcecuteAction(players[now_player]);
                            UpdateHP();
                        }
                        else if (blocks[players[now_player].BlockIndex] is LonelyMountainBlock)
                        {
                            blocks[players[now_player].BlockIndex].ExcecuteAction(players[now_player]);
                            UpdateHP();
                        }
                        else if (blocks[players[now_player].BlockIndex] is DeadLandsBlock)
                        {
                            blocks[players[now_player].BlockIndex].ExcecuteAction(players[now_player]);
                            UpdateHP();
                        }
                        else if (blocks[players[now_player].BlockIndex] is DragonBlock)
                        {
                            blocks[players[now_player].BlockIndex].ExcecuteAction(players[now_player]);
                            UpdateHP();
                        }
                        else if (blocks[players[now_player].BlockIndex] is MagicSpellBlock)
                        {
                            for (counter = 0; counter < 4; counter++)
                            {
                                players[counter].HP -= 4;
                            }
                            players[now_player].HP += 4;
                            UpdateHP();
                        }



                        now_state = GameState.Stopped;
                        UpdateUI();
                    }
                }

                PictureBox_Map.Refresh();
                PictureBox_MiniMap.Refresh();
            }
        }