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(); }
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(); } }