Пример #1
0
        //Függvény, ami létrehozza a játékhoz tartozó Markov osztály példányt, amennyiben az még nem létezett,
        //majd Markov osztály GetFundamentalMatrix által visszaadott mátrixának a startingState állapotnak megfelelő sorának az otherState állapotnak megfelelő elemét adja vissza.
        //(Emlékeztető: Markov létrehozásakor a sorok és oszlopok sorrendje változott!)
        public double Markov1_5(int startingState, int otherState)
        {
            if (actualMarkov == null)
            {
                CreateMarkov();
            }

            double[,] result = actualMarkov.GetFundamentalMatrix();

            if (result == null)
            {
                //error
                return(0);
            }

            int newStart = -1;
            int newOther = -1;

            for (int i = 0; i < actualMarkov.originalOrder.Length; i++)
            {
                if (actualMarkov.originalOrder[i] == startingState)
                {
                    newStart = i;
                }

                if (actualMarkov.originalOrder[i] == otherState)
                {
                    newOther = i;
                }
            }

            return(result[newStart, newOther]);
        }
Пример #2
0
        //Függvény, ami létrehozza a játékhoz tartozó Markov osztály példányt, amennyiben az még nem létezett,
        //majd Markov osztály GetFundamentalMatrix által visszaadott mátrixának a startingState állapotnak megfelelő sorának az otherState állapotnak megfelelő elemét adja vissza.
        //(Emlékeztető: Markov létrehozásakor a sorok és oszlopok sorrendje változott!)
        public double Markov1_5(int startingState, int otherState)
        {
            //check if too big?

            if (actualMarkov == null)
            {
                CreateMarkov();
            }

            double[,] result = actualMarkov.GetFundamentalMatrix();

            if (result == null)
            {
                //error
                //Console.WriteLine("ERROR in Markov1_5!");
                return(0.0);
            }

            int newStart = -1;
            int newOther = -1;

            for (int i = 0; i < actualMarkov.originalOrder.Length; i++)
            {
                if (actualMarkov.originalOrder[i] == startingState)
                {
                    newStart = i;
                }

                if (actualMarkov.originalOrder[i] == otherState)
                {
                    newOther = i;
                }
            }

            return(result[newStart, newOther]);
        }