Я довольно новичок в Java и учусь этому как хобби, в основном после школы, чтобы продуктивно убивать свое свободное время. Я нахожу это действительно интересным и подбираю его относительно безболезненно, однако я немного застрял, пытаясь реализовать базовую шахматную программу c, которую можно играть через командную строку. В идеале, я хотел бы сначала распечатать доску с двумя королями и королевами с обеих сторон и заставить их двигаться вперед, назад и по диагонали. (Как только я это понял, я бы попытался добавить все остальные части, но сначала я бы хотел начать как можно проще). Для простоты я буду использовать стандартную 8x8 игровую доску.
Я уже создал основную игру l oop, которая использует ввод командной строки 1 для переключения игроков и 2 для выхода из игры, но я застрял, когда дело доходит до распечатывания позиций и их изменения во время игры. Во-первых, я хотел бы распечатать начальные позиции как королей, так и королев в виде строки (например, ["D1", "E1", "D8", "E8"]) для просмотра игроком. Я полагаю, что лучший способ сделать это - использовать индекс ASCII, но я не совсем уверен, где go из этого, я попробовал код ниже, я знаю, что это не правильно, и я не знаю, что изменить .. .
int num[] = {65, 66, 67, 68, 69, 70, 71, 72};
String start_Pos =null;
for(int i = 4; i < 6; i++){
start_Pos[i] = (Character.toString((char)i) + "1");
}
int num[] = {65, 66, 67, 68, 69, 70, 71, 72};
String start_Pos =null;
for(int i = 4; i < 6; i++){
start_Pos1[i] = (Character.toString((char)i) + "8");
}
System.out.println(start_Pos + start_Pos1);
Я также пытался закодировать настройку игрового поля, но это буквально просто распечатывает начальные позиции фигур и поэтому не изменится, когда игрок делает ход - в идеале это должно быть. В качестве примера можно привести начальные позиции, показанные на доске следующим образом:
Фото (PS Я знаю, что QK следует поменять местами с одной стороны, чтобы они не были напротив друг друга, мой плохой!
Но после ввода «D1 D3» (первые координаты указывают, какая фигура, а вторая указывает на конечную позицию) от игрока 1, доска меняется, чтобы отразить это. возможно без необходимости перекомпилировать весь код после каждого хода? (Может быть, глупый вопрос ...).
Любая помощь будет принята с благодарностью. Я нахожу обучение, делая маленькие игры, подобные этим, более интересными и полезными поэтому, если кто-нибудь сможет мне помочь в реализации этого, я буду очень благодарен.