public MainForm(LevelChooserForm LCForm, GameMode GameMode) { InitializeComponent(); con = new SqlCeConnection(@"Data Source=App_Data\Database.sdf"); cmd.Connection = con; Bckgr = new Background(); // карактер иницијализација Character = new Character(); // куршум (банани, инекции) BulletInjection = new Injection(); VectorCanShowUp = true; TmrMoving.Enabled = false; this.LCForm = LCForm; gamemode = GameMode; brush = new SolidBrush(Color.LightYellow); VectorVillian = new Vector(); this.DoubleBuffered = true; NewGame(); }
/// <summary> /// функција која проверува дали манјнонот е убиен и ако е тогаш го отстранува + го става во листата на убиени, /// враќа бул, ако е true, значи не е фатен непријателот и пиштолот останува видлив, во спротивно /// видливоста на пиштолот се губи. /// </summary> /// <param name="bullet"></param> public bool IsEnemyKilled(Injection bullet) { bool result = true; for (int i = 0; i < Enemies.Count; i++) { if (Enemies.ElementAt(i).FromRight) { if (bullet.X + bullet.CurrentInjectionBmp.Width - 100 >= Enemies.ElementAt(i).X&& bullet.Y >= Enemies.ElementAt(i).Y&& bullet.Y <= (Enemies.ElementAt(i).Y + Enemies.ElementAt(i).CurrentImage.Height)) { Enemies.ElementAt(i).IsKilled = true; result = false; break; } } else { if (bullet.X <= Enemies.ElementAt(i).X&& bullet.Y >= Enemies.ElementAt(i).Y&& bullet.Y <= (Enemies.ElementAt(i).Y + Enemies.ElementAt(i).CurrentImage.Height)) { Enemies.ElementAt(i).IsKilled = true; result = false; break; } } } // отстранување на убиени манјнони. for (int i = Enemies.Count - 1; i >= 0; i--) { if (Enemies.ElementAt(i).IsKilled) { MainForm.CounterKilledEvilMinions++; Enemies.ElementAt(i).CurrentImage.Dispose(); Enemies.Remove(Enemies.ElementAt(i)); } } return(result); }
public bool VectorAttacked(Injection inj) { if (MainForm.VisibleBullet) { if (inj.DirectionInjection == Direction.Right) { if (inj.X + inj.CurrentInjectionBmp.Width >= X + 50 && inj.Y >= Y && inj.Y <= Y + CurrentImage.Height) { inj.alreadyKilledSomething = true; IsKilled = true; } } else { if (inj.X <= X + CurrentImage.Width - 50 && inj.Y >= Y && inj.Y <= Y + CurrentImage.Height) { inj.alreadyKilledSomething = true; IsKilled = true; } } } return(IsKilled); }