示例#1
0
 private void ruchBloczka(int xy, int d)
 {
     if (hak.idBloczka != -1)
     {
         Bloczek bloczek = bloki[hak.idBloczka];
         if (d == 1)
         {
             bloczek.x += xy;
             int kolizja = kolizjeBlokBlok(bloczek);
             if (kolizja != -1)
             {
                 bloczek.x -= xy;
                 hak.x     -= xy;
             }
         }
         else
         {
             bloczek.y += xy;
             int kolizja = kolizjeBlokBlok(bloczek);
             if (kolizja != -1)
             {
                 bloczek.y -= xy;
                 hak.y     -= xy;
             }
             if (bloczekRozmiar + bloczek.y > panel1.Height)
             {
                 bloczek.y = panel1.Height - bloczekRozmiar;
                 hak.y    -= xy;
             }
         }
         bloki[hak.idBloczka] = bloczek;
     }
 }
示例#2
0
 private int kolizjeBlokBlok(Bloczek bloczek)
 {
     label2.Text = " ";
     for (int i = 0; i < bloki.Count; i++)
     {
         if (hak.idBloczka == i)
         {
             i++;
         }
         if (i != bloki.Count && bloczek.x + bloczekRozmiar > bloki[i].x && bloczek.x <bloki[i].x + bloczekRozmiar && bloczek.y + bloczekRozmiar> bloki[i].y && bloczek.y < bloki[i].y + bloczekRozmiar)
         {
             return(i);
         }
     }
     return(-1);
 }
示例#3
0
        public Form1()
        {
            InitializeComponent();

            hak.x         = 72;
            hak.y         = 210;
            hak.idBloczka = -1;
            hak.maxWaga   = 30;
            label1.Text   = "Maksymalna waga: " + hak.maxWaga.ToString();

            int[] wagi = { 10, 50, 20, 30, 100, 15, 40, 40, 10 };
            for (int i = 0; i < 9; i++)
            {
                Bloczek bloczek = new Bloczek();
                bloczek.x    = 70 + i * bloczekRozmiar + i * 10;
                bloczek.y    = panel1.Height - bloczekRozmiar;
                bloczek.waga = wagi[i];
                bloki.Add(bloczek);
            }
            panel1.Refresh();
        }
示例#4
0
 private void button5_Click(object sender, EventArgs e)
 {
     if (button5.Text == "Chwyc")
     {
         hak.idBloczka = kolizjeHakBlok();
         if (hak.idBloczka != -1)
         {
             if (bloki[hak.idBloczka].waga > hak.maxWaga)
             {
                 label2.Text   = "Ten bloczek jest za ciezki. (" + bloki[hak.idBloczka].waga.ToString() + ") Sprobuj inny bloczek.";
                 hak.idBloczka = -1;
             }
             else
             {
                 button5.Text = "Odloz";
             }
         }
     }
     else
     {
         int dol = spadanieBloczka();
         if (dol != -1)
         {
             Bloczek bloczek = bloki[hak.idBloczka];
             bloczek.y            = spadanieBloczka() - bloczekRozmiar;
             bloki[hak.idBloczka] = bloczek;
             hak.idBloczka        = -1;
             button5.Text         = "Chwyc";
         }
         else
         {
             Bloczek bloczek = bloki[hak.idBloczka];
             bloczek.y            = panel1.Height - bloczekRozmiar;
             bloki[hak.idBloczka] = bloczek;
             hak.idBloczka        = -1;
             button5.Text         = "Chwyc";
         }
     }
     panel1.Refresh();
 }