Я пишу программу «Nim» для одного из моих классов, в котором генерируется случайное количество камней, затем игрок и компьютер по очереди убирают 1-3 камня из колоды.Игрок, удаляющий последний камень, проигрывает.
Однако, независимо от того, какой код был сгенерирован для компьютера внутри метода, он всегда будет возвращать 0, и, как таковой, компьютер удаляет 0 камней из кучи.
(Это также может помочь узнать, что это два отдельных файла. )
//code code code...
System.out.println("You take " + playertake + " stones. There are " + rockCount + " left");
int computerTake = 0;
nimMethods.computerTake(computerTake);
rockCount = rockCount - computerTake;
System.out.println("The computer takes " + computerTake + " stones. There are " + rockCount + " left");
Вот мой файл методов:
public class nimMethods
{
static int computerTake(int y)
{
y = (int)(Math.random()*((1 - 1) + 3 + 1)); //randomly generating a value between 1-3
return(y);
}
}
Я твердо убежден, что это логическая ошибка, и это происходит из-за моего недостатка знаний о методах.Но люди, кажется, не задают этот вопрос, где я смотрю.
Может ли кто-нибудь помочь мне?А также объясните свой ответ, я хотел бы узнать.
Спасибо!