Я не уверен, стоит ли беспокоиться об этом, но я хочу развить хорошие практики, пока я еще учусь программированию, и, если возможно, ослабить сомнения. И, пожалуй, тоже немного изучу теорию, пока я занимаюсь этим.
** В настоящее время изучаю Java, в частности, классы, хотя эта часть кода ориентирована на клиента.
Итак, сейчас работаю над азартной игрой. По сути, два человека начинают с определенного бюджета очков. Каждый из них бросает объявление ie, и выигрывает более высокий бросок. Победитель получает разницу в своем бюджете, а проигравший получает разницу, вычитаемую из их бюджета. Игра продолжается до тех пор, пока в бюджете одного игрока больше не останется очков.
Что подводит меня к этому пункту, коду. Это два варианта решения, которое я придумал, и пытаюсь определить, какое из них «лучше», так сказать.
public static int allocatePoints(int balance, int points){
balance = balance + points;
return balance;
}
-----------------------------------------------------------------------------------------
int points = Math.abs(die1.getFaceValue() - die2.getFaceValue());
if(points == 0){
System.out.println("Draw!\n");
continue;
}
if(die1.getFaceValue()>die2.getFaceValue()){
balance1 = allocatePoints(balance1, points);
balance2 = allocatePoints(balance2, -points);
} else {
balance1 = allocatePoints(balance1, -points);
balance2 = allocatePoints(balance2, points);
}
if(balance1 < 0){
balance1 = 0;
}
if(balance2 < 0){
balance2 = 0;
}
=========================================================================================
=========================================================================================
int difference = Math.abs(die1.getFaceValue() - die2.getFaceValue());
if(die1.getFaceValue()>die2.getFaceValue()){
balance1 = balance1 + difference;
balance2 = balance2 - difference;
} else if(die2.getFaceValue()>die1.getFaceValue()){
balance1 = balance1 - difference;
balance2 = balance2 + difference;
} else {
System.out.println("Draw!");
}
if(balance1 < 0){
balance1 = 0;
}
if(balance2 < 0) {
balance2 = 0;
}
Мне кажется более практичным, что второй кусок кода был бы более разумным выбором, поскольку он прост и кажется бессмысленным делать это иначе - учитывая все, что я делаю, это отрицание значения. Однако именно здесь я начинаю путаться.