Я недавно начал изучать Java для удовольствия, но застрял в следующей проблеме: у меня есть 2 массива int [], которые содержат представление покерной руки.Позиция 0 в массиве указывает, является ли это стрит-флешем, а число в нем указывает значение старшей карты.Позиция 1 в массиве указывает, является ли ее для вида, и значение карты, поэтому 5 здесь означает, что у вас есть четыре фактора в 5: с и т. Д.
Поэтому я хочу сравнить все массивы игроков по первой позиции 0(для стрит-флеша) и игрок с наибольшим числом выигрывает .. если у всех 0 или 2 или более игроков, равные числа равны шагу к позиции 1 в массиве, сравнивают и т. д.
Для упрощения кодаЯ попытался сделать функцию сравнения, которая сравнивает руки двух игроков и возвращает, если hand1 (в коде array1) выше, чем рука 2 (массив 2)
- Если H1> H2, возвращает 1
- Если H1
Если равно, вернуть 0
Я сделал следующий код (это не работает):
int isBetterHand(int[] array1, int[]array2){ //private
if(array1.length > array2.length){ throw new RuntimeException("arrayCompare got arrays of different length.");}
int arrayLength = array1.length;
for(int i = 0; i < arrayLength; i++){
if(array1[i] > array2[i]){
return 1;
} else if(array1[i] < array2[i]){
return -1;
} else {
return 0;
}
}
return 0;
}
Я полагаю, что в Java вы не можете написать, если array1 [0] (например, компаратор <,>, ==) array2 [0]
Как исправить приведенный выше код?И есть ли более быстрый, лучший и умный способ сделать это?Массивы имеют длину 26 номеров.Мне нужно совместно сравнить до 8 массивов.
Скажем, у меня в игре осталось 5 игроков, я мог бы получить такую матрицу (я набираю только первые 5 позиций:
P1 0, 0, 0,0, 0, ... P2 0, 0, 0, 0, 0, ... P3 0, 2, 0, 0, 0, ... P4 0, 0, 13, 3, 0, ... P50, 0, 0, 0, 14, ...
В приведенном выше примере pos [0] означает, что старшая карта в стритфлеше ни у кого не имеет, что в pos [1] она показывает, что P3 - победитель с четырьмя типамичерез 2: s ((pos [2] & [3] показывает, что у P4 фулл хаус K больше 3 (но P3 4 в некотором роде лучше ...)))
Редактировать: Просто вау! Я нене жду ответов так быстро. Теперь это работает как шарм. БОЛЬШОЕ! Спасибо всем, кто мне помог.
Мне нужно больше углубиться в предложения по сравнению матрицы массивов, но вы, ребята, указалия в правильном направлении.