У меня проблема с расчетом выплат игрового автомата! я работаю над единством и c#. так что я сделал, я установил кучу payLines и преобразовал каждый из них в одну строку, а затем pu sh их в три / дерево.
установить линии выплаты в tr ie image
тогда я начинаю повторять каждую вероятность, но кажется, что это не работает с моим кодом. это мой код, и я буду признателен за любую помощь.
public enum Types
{
Red,Orange,Blue,Heart,Diamond,Yellow,Green,Energy
}
public static class GameExtension
{
public static Types[,] resultMatrix;
private static string[,] GetMatrixValues(int yIndex)
{
var result = new string[5,3];
var targetType = resultMatrix[0, yIndex];
for (var y = 0; y < 3; y++)
{
for (var x = 0; x < 5; x++)
{
result[x,y] = resultMatrix[x, y] == targetType ? (y + 1).ToString() : "0";
}
}
return result;
}
public static void CheckMatchingPayLine()
{
for (var y = 0; y < 3; y++)
{
var matrixValues = GetMatrixValues(y);
var start = matrixValues[0,y];
if(Prefix(start).parent == null) continue;
var matchedPayLines = new List<string>() { start,start,start };
for (var x = 1; x < 5; x++)
{
var nextColumn = new List<string>()
{
{matrixValues[x,0]},
{matrixValues[x,1]},
{matrixValues[x,2]}
};
nextColumn.RemoveAll(v => v == "0");
if (nextColumn.Count == 0) break;
var counter = 0;
while (nextColumn.Count > 0)
{
if (Prefix(matchedPayLines[counter] + nextColumn[0]).depth == matchedPayLines[counter].Length)
{
matchedPayLines[counter] = matchedPayLines[counter] + nextColumn[0];
counter++;
}
nextColumn.RemoveAt(0);
}
}
}
}
}
здесь объяснение функции GetMatrixValues (). Изображение GetMatrixValues