﻿using System;
using System.Windows.Forms;

namespace Ploscadi
{
    public partial class GLO_Ploscad : Form
    {
        bool greLevo = false;
        bool greDesno = false;
        bool skok = false;

        int visina_skoka = 12;
        int sila = 8;

        public GLO_Ploscad()
        {
            InitializeComponent();
        }

        /// <summary>
        /// Kaj se zgodi, ko drzimo pritisnjeno doloceno tipko
        /// </summary>
        private void tipkaDol(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Left)  greLevo = true;
            if (e.KeyCode == Keys.Right) greDesno = true;
            if (e.KeyCode == Keys.Space && !skok)  skok = true;
        }
        /// <summary>
        /// Kaj se zgodi, ko spustimo prej pritisnjeno doloceno tipko
        /// </summary>
        private void tipkaGor(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Left)   greLevo = false;
            if (e.KeyCode == Keys.Right)  greDesno = false;
            if (skok)                     skok = false;
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            // nastavimo nov polozaj igralca
            igralec.Top += visina_skoka;
            if (greLevo)  igralec.Left -= 5;
            if (greDesno) igralec.Left += 5;

            // kaj se dogaja ob skakanju
            if (skok && sila < 0) skok = false;
            if (skok)
            { 
                visina_skoka = -12;
                sila -= 1;  // koliko "časa" smo v skoku
            }
            else // naslednji skok bo "padec", ker pozitivne vrednosti pomenijo padanje!
            {
                visina_skoka = 12;
            }
            // Ce sem priletel na platformo
            foreach (Control gradnik in this.Controls)
            {
                if (gradnik is PictureBox && gradnik.Tag == "ploscad")
                {
                    if (igralec.Bounds.IntersectsWith(gradnik.Bounds) && !skok)
                    {
                        sila = 8;
                        igralec.Top = gradnik.Top - igralec.Height;
                    }
                }
            }

            if (igralec.Bounds.IntersectsWith(pb_Pisek.Bounds))
            {
                timer1.Stop();
                MessageBox.Show("BRAVO\n\n\n Poglej http://pisek.acm.si");
                
            }
        }
    }
}
