private static Hands.Type[][] generarMatrizType() { Hands.Type[][] matriz = new Hands.Type[4][]; matriz[0] = new Hands.Type[1]; matriz[1] = new Hands.Type[2]; matriz[2] = new Hands.Type[2]; matriz[3] = new Hands.Type[1]; matriz[0][0] = Hands.Type.HIGH_CARD; matriz[1][0] = Hands.Type.ONE_PAIR; matriz[1][1] = Hands.Type.TWO_PAIR; matriz[2][0] = Hands.Type.THREE_OF_A_KIND; matriz[2][1] = Hands.Type.FULL_HOUSE; matriz[3][0] = Hands.Type.FOUR_OF_A_KIND; return(matriz); }
private static int encodeValue(Hands.Type type, int[][] indexes) { int result = Array.IndexOf(Enum.GetValues(type.GetType()), type); int i = 0, j = 0; while (j < Hands.CARDS) { for (int k = 0; k < indexes[i][REPEATS_INDEX]; k++) { result = result * ENCODE_BASE + indexes[i][RANK_INDEX]; j++; } i++; } return(result); }