Exemplo n.º 1
0
 public Ciara(ObjektBodka nBodkaVstup, ObjektBodka nBodkaVystup, List <CiaraBodka> nCesta = null)
 {
     bodkaVstup  = nBodkaVstup;
     bodkaVystup = nBodkaVystup;
     cesta       = nCesta;
     if (cesta == null)
     {
         cesta = new List <CiaraBodka>();
     }
     stav = Pens.Black;
 }
Exemplo n.º 2
0
 void ResetModul()
 {
     click          = "";
     tahaj          = "";
     clickRozmery   = "";
     clickBodka     = null;
     tempCiara      = null;
     clickMalaBodka = null;
     nastavMenu();
     aktualizujOkna();
 }
Exemplo n.º 3
0
        public void aktualizujVystupy()
        {
            int pocetVstupov  = Projekt.DATABAZA[op].pocetVstupov();
            int pocetVystupov = Projekt.DATABAZA[op].pocetVystupov();

            rx = Math.Max(Math.Max(18, (10 + 8 * pocetVstupov)), 10 + 8 * pocetVystupov);
            dx = 2 * rx;
            ObjektBodka[] noveBodky = new ObjektBodka[pocetVstupov + pocetVystupov];
            for (int i = 0; i < pocetVstupov && i < bodky.Length; i++)
            {
                noveBodky[i] = bodky[i];
            }
            for (int i = pocetVstupov, j = -4; i < bodky.Length; i++, j += dx / (pocetVystupov + 1))
            {
                noveBodky[i] = new ObjektBodka(j, ry, Brushes.Black, this, i, Projekt.DATABAZA[op].vystupy[i - pocetVstupov]);
            }
            bodky = noveBodky;
        }
Exemplo n.º 4
0
        public void aktualizujVstupy()
        {
            int pocetVstupov  = Projekt.DATABAZA[op].pocetVstupov();
            int pocetVystupov = Projekt.DATABAZA[op].pocetVystupov();

            rx    = Math.Max(Math.Max(18, (10 + 8 * pocetVstupov)), 10 + 8 * pocetVystupov);
            dx    = 2 * rx;
            ciary = new Ciara[pocetVstupov];
            ObjektBodka[] noveBodky = new ObjektBodka[pocetVstupov + pocetVystupov];
            for (int i = 0, j = -rx + 14; i < pocetVstupov && i < bodky.Length; i++, j += dx / (pocetVstupov + 1))
            {
                noveBodky[i] = new ObjektBodka(j, -ry - 8, Brushes.Red, this, i, Projekt.DATABAZA[op].vstupy[i]);
            }
            for (int i = bodky.Length - pocetVystupov, j = pocetVstupov; i < bodky.Length; i++, j++)
            {
                noveBodky[j]    = bodky[i];
                noveBodky[j].id = j;
            }
            bodky = noveBodky;
        }
Exemplo n.º 5
0
        public Operacia(int nX, int nY, String nId, String nOp)
            : base(nX, nY, nId, nOp)
        {
            int pocetVstupov  = Projekt.DATABAZA[op].pocetVstupov();
            int pocetVystupov = Projekt.DATABAZA[op].pocetVystupov();
            int rxVstupy      = Math.Max(18, (10 + 8 * pocetVstupov));
            int rxVystupy     = Math.Max(18, (10 + 8 * pocetVystupov));

            rx    = Math.Max(rxVstupy, rxVystupy);
            dx    = 2 * rx;
            ry    = 15;
            dy    = 2 * ry;
            ciary = new Ciara[pocetVstupov];
            bodky = new ObjektBodka[pocetVstupov + pocetVystupov];
            for (int i = 0, j = -rxVstupy + 14; i < pocetVstupov; i++, j += dx / (pocetVstupov + 1))
            {
                bodky[i] = new ObjektBodka(j, -ry - 8, Brushes.Red, this, i, Projekt.DATABAZA[op].vstupy[i]);
            }
            for (int i = pocetVstupov, j = -rxVystupy + 14; i < bodky.Length; i++, j += dx / (pocetVystupov + 1))
            {
                bodky[i] = new ObjektBodka(j, ry, Brushes.Black, this, i, Projekt.DATABAZA[op].vystupy[i - pocetVstupov]);
            }
        }
Exemplo n.º 6
0
 public TempCiara(ObjektBodka nB1, Bodka nTempBodka)
     : base(nB1, null)
 {
     tempBodka = nTempBodka;
 }
Exemplo 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();
        }