Ejemplo n.º 1
0
        public void priradObjektIfBloku(Objekt o)
        {
            IfBlok blok = null;

            for (int i = 0; i < ifBloky.Count; i++)
            {
                IfBlok tempBlok = ifBloky[i];
                if (tempBlok.jeVBloku(o.getX(), o.getY()))
                {
                    if (blok == null)
                    {
                        blok = tempBlok;
                    }
                    else if (o.getX() - blok.getX() > o.getX() - tempBlok.getX())
                    {
                        blok = tempBlok;
                    }
                }
            }
            if (blok != null)
            {
                if (!blok.objekty.Contains(o))
                {
                    blok.objekty.Add(o);
                    o.ifBlok = blok;
                }
            }
            else if (o.ifBlok != null)
            {
                o.ifBlok.objekty.Remove(o);
            }
        }
Ejemplo n.º 2
0
        public void priradCiarovuBodkuIfBloku(CiaraBodka mb)
        {
            IfBlok blok = null;

            for (int i = 0; i < ifBloky.Count; i++)
            {
                IfBlok tempBlok = ifBloky[i];
                if (tempBlok.jeVBloku(mb.getX(), mb.getY()))
                {
                    if (blok == null)
                    {
                        blok = tempBlok;
                    }
                    else if (mb.getX() - blok.getX() > mb.getX() - tempBlok.getX())
                    {
                        blok = tempBlok;
                    }
                }
            }
            if (blok != null)
            {
                if (!blok.ciaroveBodky.Contains(mb))
                {
                    blok.ciaroveBodky.Add(mb);
                    mb.ifBlok = blok;
                }
            }
            else if (mb.ifBlok != null)
            {
                mb.ifBlok.ciaroveBodky.Remove(mb);
            }
        }
Ejemplo n.º 3
0
 void MainFormMouseMove(object sender, MouseEventArgs e)
 {
     if (tahaj != "")
     {
         modul.objekty[click].setX(e.X);
         modul.objekty[click].setY(e.Y);
     }
     else if (clickRozmery != "")
     {
         IfBlok temp = (IfBlok)modul.objekty[clickRozmery];
         if (e.X > temp.getX() && e.Y > temp.getY())
         {
             temp.x2 = e.X;
             temp.y2 = e.Y;
         }
     }
     else if (clickBodka != null)
     {
         tempCiara.tempBodka.setX(e.X);
         tempCiara.tempBodka.setY(e.Y);
     }
     else if (clickMalaBodka != null)
     {
         clickMalaBodka.setX(e.X);
         clickMalaBodka.setY(e.Y);
     }
     else
     {
         return;
     }
     aktualizujPlochu();
 }
Ejemplo n.º 4
0
        void vytvorOperaciu(object sender, EventArgs e, String op)
        {
            Objekt temp;
            String id = modul.getOpId(op);

            if (op == "if")
            {
                IfBlok blok = new IfBlok(clickX, clickY, clickX + 100, clickY + 100, id);
                modul.ifBloky.Add(blok);
                temp = blok;
            }
            else if (op == "in" || op == "out")
            {
                temp = new IoOperacia(clickX, clickY, id, op);
            }
            else if (op == "const")
            {
                temp = new Konst(clickX, clickY, id, op, 1, 32, null);
            }
            else if (op == "change")
            {
                temp = new ZmenaBitov(clickX, clickY, id, 1, 32);
            }
            else if (op == "concat")
            {
                temp = new Zretazenie(clickX, clickY, id);
            }
            else if (op == "index")
            {
                temp = new Index(clickX, clickY, id);
            }
            else if (op == "reverse")
            {
                temp = new OtocenieBitov(clickX, clickY, id);
            }
            else if (op == "mod")
            {
                temp = new Modulo(clickX, clickY, id);
            }
            else if (op == "inc" || op == "dec")
            {
                temp = new IncDecOperacia(clickX, clickY, id, op);
            }
            else
            {
                temp = new Operacia(clickX, clickY, id, op);
            }
            temp.setM(modul);
            modul.objekty.Add(id, temp);
            aktualizujPlochu();
        }
Ejemplo n.º 5
0
 void MainFormMouseUp(object sender, MouseEventArgs e)
 {
     nastavRozmery();
     if (tahaj != "")
     {
         modul.priradObjektIfBloku(modul.objekty[tahaj]);
     }
     else if (clickRozmery != "")
     {
         IfBlok blok = (IfBlok)modul.objekty[clickRozmery];
         blok.aktualizuj();
         clickRozmery = "";
     }
     tahaj = "";
 }
Ejemplo n.º 6
0
 public void zmazObjekt(String objektIndex)
 {
     foreach (Objekt o in objekty.Values)
     {
         for (int j = 0; j < o.ciary.Length; j++)
         {
             if (o.ciary[j] == null)
             {
                 continue;
             }
             if (o.ciary[j].bodkaVystup.obj.id == objekty[objektIndex].id)
             {
                 o.ciary[j] = null;
             }
         }
     }
     if (objekty[objektIndex] is IfBlok)
     {
         IfBlok blok = (IfBlok)objekty[objektIndex];
         foreach (Objekt o in blok.objekty)
         {
             o.ifBlok = blok.ifBlok;
         }
         foreach (CiaraBodka mb in blok.ciaroveBodky)
         {
             mb.ifBlok = blok.ifBlok;
         }
         if (blok.ifBlok != null)
         {
             blok.ifBlok.objekty.AddRange(blok.objekty);
             blok.ifBlok.ciaroveBodky.AddRange(blok.ciaroveBodky);
         }
         blok.objekty      = null;
         blok.ciaroveBodky = null;
         ifBloky.Remove(blok);
     }
     objekty.Remove(objektIndex);
 }
Ejemplo n.º 7
0
        void MainFormMouseDown(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Right)
            {
                clickX     = e.X;
                clickY     = e.Y;
                clickBodka = null;
                tempCiara  = null;
                aktualizujPlochu();
                return;
            }

            if (clickBodka != null)
            {
                foreach (var o in modul.objekty.Values)
                {
                    foreach (var b in o.bodky)
                    {
                        if (clickBodka == b)
                        {
                            continue;
                        }

                        if (b.isClick(e.X, e.Y))
                        {
                            clickBodka.obj.ciary[clickBodka.id]      = new Ciara(tempCiara.bodkaVstup, b, tempCiara.cesta);
                            clickBodka.obj.bodky[clickBodka.id].stav = Brushes.LawnGreen;
                            clickBodka = null;
                            tempCiara  = null;
                            aktualizujPlochu();
                            return;
                        }
                    }

                    if (o.ciary == null)
                    {
                        continue;
                    }

                    foreach (var c in o.ciary)
                    {
                        if (c == null || c.cesta == null)
                        {
                            continue;
                        }

                        for (int i = 0; i < c.cesta.Count; i++)
                        {
                            if (c.cesta[i].isClick(e.X, e.Y))
                            {
                                for (int j = i; j < c.cesta.Count; j++)
                                {
                                    tempCiara.cesta.Add(c.cesta[j]);
                                    c.cesta[j].ciary.Add(tempCiara);
                                }
                                tempCiara.bodkaVystup = c.bodkaVystup;
                                clickBodka.obj.ciary[clickBodka.id]      = tempCiara;
                                clickBodka.obj.bodky[clickBodka.id].stav = Brushes.LawnGreen;
                                clickBodka = null;
                                tempCiara  = null;
                                aktualizujPlochu();
                                return;
                            }
                        }
                    }
                }
                List <Ciara> temp = new List <Ciara> {
                    tempCiara
                };
                CiaraBodka malaBodka = new CiaraBodka(e.X, e.Y, temp);
                tempCiara.cesta.Add(malaBodka);
                aktualizujPlochu();
                return;
            }

            if (clickMalaBodka != null)
            {
                clickMalaBodka.prepniAktivnost();
                aktualizujPlochu();
                modul.priradCiarovuBodkuIfBloku(clickMalaBodka);
                clickMalaBodka = null;
                return;
            }

            foreach (Objekt o in modul.objekty.Values)
            {
                if (o.isClick(e.X, e.Y))
                {
                    resetOpVlastnosti();
                    click = o.id;
                    tahaj = o.id;
                    nastavOpVlastnosti(o);
                    return;
                }
                if (o is IfBlok)
                {
                    IfBlok temp = (IfBlok)o;
                    if (temp.isClick2(e.X, e.Y))
                    {
                        clickRozmery = o.id;
                        return;
                    }
                }

                for (int j = 0; j < o.bodky.Length; j++)
                {
                    if (o.bodky[j].stav == Brushes.Black)
                    {
                        continue;
                    }
                    if (o.bodky[j].isClick(e.X, e.Y))
                    {
                        clickBodka = o.bodky[j];
                        tempCiara  = new TempCiara(clickBodka, new Bodka(e.X, e.Y, 4));
                        return;
                    }
                }

                if (o.ciary == null)
                {
                    continue;
                }

                for (int j = 0; j < o.ciary.Length; j++)
                {
                    if (o.ciary[j] == null)
                    {
                        continue;
                    }
                    if (o.ciary[j].cesta == null)
                    {
                        continue;
                    }

                    for (int k = 0; k < o.ciary[j].cesta.Count; k++)
                    {
                        if (o.ciary[j].cesta[k].isClick(e.X, e.Y))
                        {
                            clickMalaBodka = o.ciary[j].cesta[k];
                            clickMalaBodka.prepniAktivnost();
                            return;
                        }
                    }
                }
            }

            resetOpVlastnosti();
        }