Exemple #1
0
        private void killEnemy(PictureBox arrow)
        {
            for (int i = 0; i < enemyList.Length; i++)
            {
                if (enemyList[i] == null)
                {
                    break;
                }

                if (arrow.Location == enemyList[i].sprite.Location)
                {
                    enemyList[i].HitPoints -= character.damage;

                    if (enemyList[i].HitPoints == 0)
                    {
                        if (enemyList[i].Name == "enemy1")
                        {
                            score += 100;
                        }
                        else if (enemyList[i].Name == "enemy2")
                        {
                            score += 300;
                        }

                        if (rnd.Next(1, 10) == 1 && enemyList[i].Name == "enemy2")
                        {
                            for (int j = 0; j < heart.Length; j++)
                            {
                                if (heart[j] == null)
                                {
                                    heart[j]                 = new PictureBox();
                                    heart[j].Image           = Image.FromFile(pathForFullHeart);
                                    heart[j].SizeMode        = PictureBoxSizeMode.StretchImage;
                                    heart[j].BackgroundImage = background.Image;
                                    heart[j].Location        = enemyList[i].sprite.Location;
                                    heart[j].Size            = new Size(sizeOfSides - 10, sizeOfSides - 10);
                                    this.Controls.Add(heart[j]);

                                    heart[j].BringToFront();

                                    break;
                                }
                            }
                        }

                        character.killedEnemies++;
                        removeEnemy(enemyList[i]);
                        characterState = character.SaveState();
                        GameState.SetState(level, countOfEnemies, xml.GetUserById(currentUserId), score);

                        if (countOfEnemies <= 0)
                        {
                            OpenDoors();
                        }

                        break;
                    }
                }
            }
        }