Exemplo n.º 1
0
        public SolverProcess solveSkrzyzowanie(Skrzyzowanie skrzyzowanie)
        {
            int lightChanges           = 0;
            SwiatlaGenerator sw        = new SwiatlaGenerator();
            Walidator        walidator = new Walidator();
            SolverProcess    process   = new SolverProcess(skrzyzowanie);

            for (int i = 0; i < wektor.Length; i++)
            {
                wektor[i] = true;
            }
            while (!skrzyzowanie.isEmpty())
            {
                bool[] nextSwiatlaState = sw.generateNextVec(12);

//              nextSwiatlaState = wywalNiepotrzebneOtware(nextSwiatlaState);

                while (!walidator.walidacja(nextSwiatlaState))
                {
                    nextSwiatlaState = sw.generateBasingOnPrevious(wektor);
//                    nextSwiatlaState = wywalNiepotrzebneOtware(nextSwiatlaState);
                }

                Tuple <int, int, int> modificationValues = skrzyzowanie.modifyState(nextSwiatlaState);
                process.addStep(new SolverStep(nextSwiatlaState, modificationValues));

                lightChanges++;
                zmienWektor(nextSwiatlaState);
            }
            return(process);
        }
Exemplo n.º 2
0
        public static String test()
        {
            StringBuilder    builder = new StringBuilder();
            SwiatlaGenerator sw      = new SwiatlaGenerator();

            bool[] generatedVec = sw.generateNextVec(12);

            foreach (bool var in generatedVec)
            {
                builder.Append(var + " | ");
            }

            return(builder.ToString());
        }