Первая часть ваших проверок может быть упрощена с помощью цикла for
.Поскольку вы проверяете руку игрока на наличие определенного набора значений и увеличиваете счетчик на 1 каждый раз, когда получаете совпадение, вы можете создать массив ожидаемых совпадений и выполнить итерации по ним следующим образом:
for (int i : new int[] { 12, 25, 38, 51 }) {
if (playerdeck.contains(i)) bidCounter[0]++;
}
Новые проверочные значения можно добавить, объявив их справа от оператора for
.
Вторая часть немного сложнее, так как вы запрашиваете два значения дляприсутствовать и одно значение не присутствовать.Однако, предполагая, что вы не хотите первое значение, а do хотите второе и третье значения, вы можете использовать двумерный массив следующим образом:
int[][] compositeCheck = new int[][] {
{ 12, 11, 10 },
{ 25, 24, 23 },
{ 38, 37, 36 },
{ 51, 50, 49 }
};
for (int[] i : compositeCheck) {
if (!playerdeck.contains(i[0])
&& playerdeck.contains(i[1])
&& playerdeck.contains(i[2])) {
bidCounter[0]++;
}
}
tl; dr Если вам нужно написать один и тот же код в несколько строк, скорее всего, вместо этого вы можете сделать это в каком-то цикле.