//kretanje pomocu misa - slobodna linija
        private void freehandMouseMove(MouseEventArgs e)
        {
            int gotovo = 0;
            int i, j;

            int boxXstart = 0, boxXend = 0, boxYstart, boxYend;

            if (dragging && mouseDownPoint.X > 0 && mouseDownPoint.X < rWidth &&
                mouseDownPoint.Y > 0 && mouseDownPoint.Y < rHeight)
            {
                for (i = 0; i < 20; i++)
                {
                    boxYstart = 0;
                    boxYend   = 0;
                    boxXstart = boxXend;
                    boxXend  += rWidth;
                    for (j = 0; j < 20; j++)
                    {
                        if (gotovo == 0)
                        {
                            boxYstart = boxYend;
                            boxYend  += rHeight;
                            if (e.X >= finishX && e.Y >= finishY)
                            {
                                gotovo = 1;
                                zatvori();
                            }
                            else if (mazeCells[i, j] == 1 || mazeCells[i, j] == 3 && boxXstart <e.X &&
                                                                                                boxXend> e.X && boxYstart <e.Y && boxYend> e.Y)
                            {
                                if (mazeCells[i, j] == 3)
                                {
                                    Bodovanje.skupljenPlijen();
                                    mazeCells[i, j] = 1;
                                    Rectangle rect = new Rectangle(boxXstart, boxYstart, 25, 25);
                                    lab.FillRectangle(Brushes.Ivory, rect);
                                }
                                mouseStart = mouseEnd;
                                mouseEnd   = new Point(e.X, e.Y);

                                lab.DrawLine(pen, mouseStart, mouseEnd);

                                this.Invalidate();
                            }
                            else if (mazeCells[i, j] == 0 && boxXstart <= e.X &&
                                     boxXend >= e.X && boxYstart <= e.Y && boxYend >= e.Y)
                            {
                                again(1);
                            }
                        }
                    }
                }
            }
            else if (dragging == false)
            {
                again(1);
            }
        }
        private void zatvori()
        {
            end = 1;
            Bodovanje.brzinaKretanja(time);
            DialogResult result = MessageBox.Show("Bravo! Završio si labirint." +
                                                  " bodovi: " + Bodovanje.broj_bodova.ToString());

            if (result == DialogResult.OK)
            {
                Close();
            }
        }
 //kretanje pomocu misa
 private void simpleMouseMove(MouseEventArgs e)
 {
     if (dragging)
     {
         if (mouseDownPoint.X - e.X <= x + 20 && e.X < x && mazeX - 1 >= 0)
         {
             if (mazeCells[mazeX - 1, mazeY] == 2)
             {
                 makeRect();
                 x -= 25;
                 mazeCells[mazeX, mazeY] = 1;
                 mazeX--;
             }
             else if (mazeCells[mazeX - 1, mazeY] == 1 || mazeCells[mazeX - 1, mazeY] == 3)
             {
                 x -= 25;
                 if (mazeCells[mazeX - 1, mazeY] == 3)
                 {
                     Bodovanje.skupljenPlijen();
                 }
                 mazeX--;
                 mazeCells[mazeX, mazeY] = 2;
             }
         }
         else if (e.X - mouseDownPoint.X <= x + 20 && e.X > x + 25 && mazeX + 1 <= 19)
         {
             if (mazeCells[mazeX + 1, mazeY] == 2)
             {
                 makeRect();
                 x += 25;
                 mazeCells[mazeX, mazeY] = 1;
                 mazeX++;
             }
             else if (mazeCells[mazeX + 1, mazeY] == 1 || mazeCells[mazeX + 1, mazeY] == 3)
             {
                 x += 25;
                 if (mazeCells[mazeX + 1, mazeY] == 3)
                 {
                     Bodovanje.skupljenPlijen();
                 }
                 mazeX++;
                 if (e.X >= finishX && e.Y >= finishY)
                 {
                     zatvori();
                 }
                 mazeCells[mazeX, mazeY] = 2;
             }
         }
         else if (mouseDownPoint.Y - e.Y <= y + 20 && e.Y < y && mazeY - 1 >= 0)
         {
             if (mazeCells[mazeX, mazeY - 1] == 2)
             {
                 makeRect();
                 y -= 25;
                 mazeCells[mazeX, mazeY] = 1;
                 mazeY--;
             }
             else if (mazeCells[mazeX, mazeY - 1] == 1 || mazeCells[mazeX, mazeY - 1] == 3)
             {
                 y -= 25;
                 if (mazeCells[mazeX, mazeY - 1] == 3)
                 {
                     Bodovanje.skupljenPlijen();
                 }
                 mazeY--;
                 mazeCells[mazeX, mazeY] = 2;
             }
         }
         else if (e.Y - mouseDownPoint.Y <= y + 20 && e.Y >= y + 25 && mazeY + 1 <= 19)
         {
             if (mazeCells[mazeX, mazeY + 1] == 2)
             {
                 makeRect();
                 y += 25;
                 mazeCells[mazeX, mazeY] = 1;
                 mazeY++;
             }
             else if (mazeCells[mazeX, mazeY + 1] == 1 || mazeCells[mazeX, mazeY + 1] == 3)
             {
                 y += 25;
                 if (mazeCells[mazeX, mazeY + 1] == 3)
                 {
                     Bodovanje.skupljenPlijen();
                 }
                 mazeY++;
                 if (e.X >= finishX && e.Y >= finishY)
                 {
                     zatvori();
                 }
                 mazeCells[mazeX, mazeY] = 2;
             }
         }
     }
 }
 //kretanje pomocu tipkovnice
 private void FormLevel_KeyDown(object sender, KeyEventArgs e)
 {
     if (useM == false && useM_free == false)
     {
         if (e.KeyCode == Keys.Left && mazeX - 1 >= 0)
         {
             if (mazeCells[mazeX - 1, mazeY] == 2)
             {
                 makeRect();
                 x -= 25;
                 mazeCells[mazeX, mazeY] = 1;
                 mazeX--;
             }
             else if (mazeCells[mazeX - 1, mazeY] == 1 || mazeCells[mazeX - 1, mazeY] == 3)
             {
                 x -= 25;
                 if (mazeCells[mazeX - 1, mazeY] == 3)
                 {
                     Bodovanje.skupljenPlijen();
                 }
                 mazeX--;
                 mazeCells[mazeX, mazeY] = 2;
             }
         }
         else if (e.KeyCode == Keys.Right && mazeX + 1 <= 19)
         {
             if (mazeCells[mazeX + 1, mazeY] == 2)
             {
                 makeRect();
                 x += 25;
                 mazeCells[mazeX, mazeY] = 1;
                 mazeX++;
             }
             else if (mazeCells[mazeX + 1, mazeY] == 1 || mazeCells[mazeX + 1, mazeY] == 3)
             {
                 x += 25;
                 if (mazeCells[mazeX + 1, mazeY] == 3)
                 {
                     Bodovanje.skupljenPlijen();
                 }
                 mazeX++;
                 if (mazeX == 18 && mazeY == 18)
                 {
                     zatvori();
                 }
                 mazeCells[mazeX, mazeY] = 2;
             }
         }
         else if (e.KeyCode == Keys.Up && mazeY - 1 >= 0)
         {
             if (mazeCells[mazeX, mazeY - 1] == 2)
             {
                 makeRect();
                 y -= 25;
                 mazeCells[mazeX, mazeY] = 1;
                 mazeY--;
             }
             else if (mazeCells[mazeX, mazeY - 1] == 1 || mazeCells[mazeX, mazeY - 1] == 3)
             {
                 y -= 25;
                 if (mazeCells[mazeX, mazeY - 1] == 3)
                 {
                     Bodovanje.skupljenPlijen();
                 }
                 mazeY--;
                 mazeCells[mazeX, mazeY] = 2;
             }
         }
         else if (e.KeyCode == Keys.Down && mazeY + 1 <= 19)
         {
             if (mazeCells[mazeX, mazeY + 1] == 2)
             {
                 makeRect();
                 y += 25;
                 mazeCells[mazeX, mazeY] = 1;
                 mazeY++;
             }
             else if (mazeCells[mazeX, mazeY + 1] == 1 || mazeCells[mazeX, mazeY + 1] == 3)
             {
                 y += 25;
                 if (mazeCells[mazeX, mazeY + 1] == 3)
                 {
                     Bodovanje.skupljenPlijen();
                 }
                 mazeY++;
                 if (mazeX == 18 && mazeY == 18)
                 {
                     zatvori();
                 }
                 mazeCells[mazeX, mazeY] = 2;
             }
         }
     }
 }