public void Draw(Graphics g, Player player) { if (ShootingPoints.Count > 0) { try { g.DrawCurve(shootingPen, ShootingPoints.ToArray()); g.TranslateTransform(1, 0); g.DrawCurve(shootingPen1, ShootingPoints.ToArray()); g.ResetTransform(); } catch (Exception e) { Console.WriteLine("Shot.cs-Draw-EXCEPTION : {0}", e.Message); } //STRELKA Point lastOne = (Point)ShootingPoints[ShootingPoints.Count - 1]; trianglePoints = new Point[3]; trianglePoints[0] = new Point(lastOne.X - 2, lastOne.Y - 10); trianglePoints[1] = new Point(lastOne.X - 8, lastOne.Y + 2); trianglePoints[2] = new Point(lastOne.X + 4, lastOne.Y + 2); g.FillPolygon(new SolidBrush(Color.Black), trianglePoints); trianglePoints = new Point[3]; } }
/*Crtanjeto na linijata e implementirano so pomos na metodot DrawCurve * koj povrzuva niza od tocki. * So sekoj tik na tajmerot dodavame edna tocka poveke vo nizata. * Koordinatite na novata tocka se za yGrowth povisoko od prethodnata i * za deviation polevo/podesno (zatoa se mnozi so -1) */ public void addNewPoint() { deviation *= -1; shootingX += deviation; shootingY -= yGrowth; ShootingPoints.Add(new Point(shootingX, shootingY)); trianglePoints = new Point[3]; }