using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace safine
{
    public partial class FrmMain : Form
    {
        int Emtiaz=0; //امتیاز بازی رو نگه میداره
        public enum Safine { Safine1, Safine2, Safine3, Safine4, Safine5 };// شماره هر سفینه
        public FrmMain()
        {
            InitializeComponent();
        }

        private void BtnStart_Click(object sender, EventArgs e)
        {
            timer1.Enabled = !timer1.Enabled;//تایمر رو فعال یا غیر فعال می کنه
        }

        void SetLocation(Safine s,int x,int y)
        {
            //این تابع مکان سفینه مورد نظر رو تنظیم میکنه
            Point P = new Point(x,y);
            switch (s)
            {
                case Safine.Safine1:
                    ImgSafine1.Location = P;
                    break;
                case Safine.Safine2:
                    ImgSafine2.Location = P;
                    break;
                case Safine.Safine3:
                    ImgSafine3.Location = P;
                    break;
                case Safine.Safine4:
                    ImgSafine4.Location = P;
                    break;
                case Safine.Safine5:
                    ImgSafine5.Location = P;
                    break;
                
            }
        }
        void CheckPointSafine()
        {
            //این تابع چک می کنه آیا سفینه به چپ رسیده یا اینکه به پایین خورده اگر به چپ برسه یک امتیاز میگیره اگه
            //به پایین بخوره یک امتیاز کم میشه و اگه هیچکدام باشه مکانش رو میاره پایین تر
            if (ImgSafine1.Location.X <= 10)
            {
                Emtiaz++;
                SetLocation(Safine.Safine1, 631, 12);
            }
            else if (ImgSafine1.Location.Y >= 423)
            {
                Emtiaz--;
                SetLocation(Safine.Safine1, 631, 12);
            }
            else
                SetLocation(Safine.Safine1, ImgSafine1.Location.X - 10, ImgSafine1.Location.Y + 10);    
            //*****************************************
            if (ImgSafine2.Location.X <= 10)
            {
                Emtiaz++;
                SetLocation(Safine.Safine2, 610, 59);
            }
            else if (ImgSafine2.Location.Y >= 423)
            {
                Emtiaz--;
                SetLocation(Safine.Safine2, 610, 59);
            }
            else
                SetLocation(Safine.Safine2, ImgSafine2.Location.X - 10, ImgSafine2.Location.Y + 10);
            //*****************************************
            if (ImgSafine3.Location.X <= 10)
            {
                Emtiaz++;
                SetLocation(Safine.Safine3, 586, 109);
            }
            else if (ImgSafine3.Location.Y >= 423)
            {
                Emtiaz--;
                SetLocation(Safine.Safine3, 586, 109);
            }
            else
                SetLocation(Safine.Safine3, ImgSafine3.Location.X - 10, ImgSafine3.Location.Y + 10);
            //*****************************************
            if (ImgSafine4.Location.X <= 10)
            {
                Emtiaz++;
                SetLocation(Safine.Safine4, 610, 158);
            }
            else if (ImgSafine4.Location.Y >= 423)
            {
                Emtiaz--;
                SetLocation(Safine.Safine4, 610, 158);
            }
            else
                SetLocation(Safine.Safine4, ImgSafine4.Location.X - 10, ImgSafine4.Location.Y + 10);
            //*****************************************
            if (ImgSafine5.Location.X <= 10)
            {
                Emtiaz++;
                SetLocation(Safine.Safine5, 645, 196);
            }
            else if (ImgSafine5.Location.Y >= 423)
            {
                Emtiaz--;
                SetLocation(Safine.Safine5, 645, 196);
            }
            else
                SetLocation(Safine.Safine5, ImgSafine5.Location.X - 10, ImgSafine5.Location.Y + 10);
            //***************************************
            this.Text = " بازی حمله به سفینه ها-محمدشاعریان " + " امتیاز " + Emtiaz.ToString();//امتیاز بازی رو نشون میده
        }

        private void BtnReset_Click(object sender, EventArgs e)
        {
            Application.Restart();//برنامه رو ریست می کنه
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            CheckPointSafine();//سفینه هارو چک می کنه
        }

        private void ImgSafine1_Click(object sender, EventArgs e)
        {
            //وقتی رو سفینه کلیک بشه باید مکانش بله بالاتر
            Point P = new Point(ImgSafine1.Location.X,ImgSafine1.Location.Y-50);
            ImgSafine1.Location = P;
        }

        private void ImgSafine2_Click(object sender, EventArgs e)
        {
            //وقتی رو سفینه کلیک بشه باید مکانش بله بالاتر
            Point P = new Point(ImgSafine2.Location.X, ImgSafine2.Location.Y - 50);
            ImgSafine2.Location = P;
        }

        private void ImgSafine3_Click(object sender, EventArgs e)
        {
            //وقتی رو سفینه کلیک بشه باید مکانش بله بالاتر
            Point P = new Point(ImgSafine3.Location.X, ImgSafine3.Location.Y - 50);
            ImgSafine3.Location = P;
        }

        private void ImgSafine4_Click(object sender, EventArgs e)
        {
            //وقتی رو سفینه کلیک بشه باید مکانش بله بالاتر
            Point P = new Point(ImgSafine4.Location.X, ImgSafine4.Location.Y - 50);
            ImgSafine4.Location = P;
        }

        private void ImgSafine5_Click(object sender, EventArgs e)
        {
            //وقتی رو سفینه کلیک بشه باید مکانش بله بالاتر
            Point P = new Point(ImgSafine5.Location.X, ImgSafine5.Location.Y - 50);
            ImgSafine5.Location = P;
        }

        private void FrmMain_Load(object sender, EventArgs e)
        {

        }
    }
}
