Алгоритм движения ферзевой фигуры по шахматной доске?JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Алгоритм движения ферзевой фигуры по шахматной доске?

Сообщение Anonymous »

Поэтому моя шахматная сетка немного отличается от других. Строки начинаются снизу вверх, то есть от 1 до 8 снизу. и столбцы от A до H, в основном сетка 8 на 8. Теперь, перейдя прямо к делу: я не уверен, как бы я мог создать алгоритм, который позволил бы фигуре ферзя атаковать позицию «X». Итак, если я введу этот ввод

Пример ввода моей программы

. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . B X K . . R
. . N . . . . .
. Q . . . . . .
. . . . . . . .


как включить блокировку? вроде, хотя есть буква «N», которая является фигурой коня. Итак, в целом, как бы я мог создать алгоритм, который, где бы ни находился ферзь в любой точке сетки, мог атаковать цель («X»)?

Редактировать (ОБНОВЛЕНО): Я узнал, как это сделать, но когда я пытаюсь это сделать, он перемещается только на один квадрат. Почему?

ОБРАЗЕЦ ИЗ МОЕГО АЛГОРИТМ ДЛЯ ФЕРЗЯ

. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
Q . Q . . . . .
. . . . . . . .
Q . Q . . . . .


ИСХОДНЫЙ КОД

import java.util.Scanner;
class chessMovesz
{
//MAIN CODE AT THE VERY BOTTOM OF THE CLASS
Scanner sc = new Scanner(System.in);

private String[][] grid = new String[8][8];

private String king,queen,rook,bishop,knight,target;

public void getPieces(){

System.out.println("Hello Guest00129, Welcome to Chess.");
System.out.println("In order to play this game, input pieces like below(cap;atilaized)");
System.out.println("Rook at column c and at row 5 then: Rc5");

System.out.println("Please enter a position for Rook");
rook = sc.nextLine();
System.out.println("Please enter a position for King");
king = sc.nextLine();
System.out.println("Please enter a position for Queen");
queen = sc.nextLine();
System.out.println("Please enter a position for Bishop");
bishop = sc.nextLine();
System.out.println("Please enter a position for Knight");
knight = sc.nextLine();
System.out.println("Please enter a position for Target(X) to move the peices to that position");
target = sc.nextLine();
}
public void printGrid(){
for(int row = 0; row

Подробнее здесь: https://stackoverflow.com/questions/437 ... d-movement
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»