/// <summary> /// во тајмерот се проверува дали куршумот сеуште е видлив на екран, /// при тоа го придвижува зависно од насоката + се апдејтира насоката на куршумот во случај /// играчот во меѓувреме да се сврти + се проверува дали (ако е убиен непријател или куршумот е /// излезен од екран играчот може повторно да пука. (30ms) /// </summary> public void ShootingTimer() { Point charPoint = new Point(Character.X, Character.Y); Size charSize = new Size(Character.CurrentCharacterImage.Width, Character.CurrentCharacterImage.Height); if (VisibleBullet) { switch (BulletInjection.DirectionInjection) { case Direction.Right: { BulletInjection.X += 2; charPoint.X = BulletInjection.X; BulletInjection.UpdatePosition(charPoint, charSize); } break; case Direction.Left: { BulletInjection.X -= 2; charPoint.X = BulletInjection.X; BulletInjection.UpdatePosition(charPoint, charSize); } break; default: break; } } else { if (TurnedRight) { BulletInjection.UpdateDirection(Direction.Right); } if (TurnedLeft) { BulletInjection.UpdateDirection(Direction.Left); } BulletInjection.UpdatePosition(charPoint, charSize); } CheckForReshooting(); }
/// <summary> /// исцртување на главната панела (позадина, карактер, по потреба куршуми, непријатели, скорови ... итн) /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void MainForm_Paint(object sender, PaintEventArgs e) { e.Graphics.DrawImage(BckgrBitmap, Bckgr.startingX, 0, BckgrBitmap.Width, BckgrBitmap.Height); e.Graphics.DrawImage(Character.CurrentCharacterImage, Character.X, Character.Y); if (VisibleBullet) { BulletInjection.DrawInjection(e.Graphics); } MyEnemies.DrawEvilMinions(e.Graphics); Coins.Draw(e.Graphics); Bananas.Draw(e.Graphics); e.Graphics.DrawString("COINS: " + CollectedCoins.ToString(), font, brush, point); //e.Graphics.DrawString("FOOD: " + CollectedBananas.ToString(), font, brush, point2); this.DrawLifeAndKilledEM(e.Graphics); if (!VectorVillian.IsKilled && gamemode == GameMode.Hard) { VectorVillian.DrawVector(e.Graphics); } }