//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]); }
//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]); }