תזוזה על הלוח
שלום,
אשמח לעזרה.
אני מנסה "לצבוע" את כל האלכסון אבל תמיד (בכל אלכסון שיש) הוא לא "נוגע" בריבוע האחרון.
אשמח אם מישהו במקרה רואה את הטעות שלי.
תודה.
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;
}
}
מדובר על מטריצה רגילה.
שלום,
אשמח לעזרה.
אני מנסה "לצבוע" את כל האלכסון אבל תמיד (בכל אלכסון שיש) הוא לא "נוגע" בריבוע האחרון.
אשמח אם מישהו במקרה רואה את הטעות שלי.
תודה.
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;
}
}
מדובר על מטריצה רגילה.