תזוזה על הלוח

ehudl1

New member
תזוזה על הלוח

שלום,

אשמח לעזרה.
אני מנסה "לצבוע" את כל האלכסון אבל תמיד (בכל אלכסון שיש) הוא לא "נוגע" בריבוע האחרון.
אשמח אם מישהו במקרה רואה את הטעות שלי.

תודה.


import java.util.ArrayList;

import javax.swing.ImageIcon;
import javax.swing.JButton;

public class Rook extends Tool
{
ImageIcon black_rook = new ImageIcon("black rook.jpg");
ImageIcon white_rook = new ImageIcon("white rook.jpg");

public void setOnBoard(JButton[][] buttons)
{
buttons[0][0].setIcon(white_rook);
buttons[0][7].setIcon(white_rook);
buttons[7][0].setIcon(black_rook);
buttons[7][7].setIcon(black_rook);
}

Rook()
{
super();
}

public ArrayList setOptions(int i, int j)
{

int x=i, y=j;

while (i<8)
{
if (board.whoIs(x, y)!=board.whoIs(i+1, y) && board.whoIs(i+1, y)!=board.whoIs(i+2, y))
{
InfoPlace infoi= new InfoPlace();
infoi.setX(i+1);
infoi.setY(j);
arr.add(infoi);
i++;
}
}
i=x;

while (i>1)
{
if (board.whoIs(x, y)!=board.whoIs(i-1, y) && board.whoIs(i-1, y)!=board.whoIs(i-2, y))
{
InfoPlace infoi= new InfoPlace();
infoi.setX(i-1);
infoi.setY(j);
arr.add(infoi);
i--;
}
}
int k=9;
i=x;

while (j<7)
{
if (board.whoIs(x, y)!=board.whoIs(x, j-1) && board.whoIs(x, j-1)!=board.whoIs(x, j-2))
{
InfoPlace infok= new InfoPlace();
infok.setX(i);
infok.setY(j-1);
arr.add(infok);
j++;
}
}
j=y;

while (j>0)
{
InfoPlace infok= new InfoPlace();
infok.setX(i);
infok.setY(j);
arr.add(infok);
j--;
}
return arr;
}
}



מדובר על מטריצה רגילה.
 
למעלה