Я пытаюсь создать игру с той же системой, что и змея. Я создал окно с JPanel
на нем, учитывая его фон и нарисованные линии, чтобы показать пользователю квадраты.Создание квадратов на событии
Совет - 600x600 (601x601 для всех видимых). Площади 20х20.
Теперь я пытаюсь добавить способ размещения цветных квадратов на доске, а также определить, есть ли идеальный цветной квадрат.
public class CreateWindow extends JFrame {
JPanel GameArea;
static JLayeredPane Java_Window;
Image Background;
public void CreateWindow() {
Dimension Panel_Size = new Dimension(800, 800);
this.setSize(800,800);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
this.setTitle("LineRage");
getContentPane().setBackground(Color.white);
Java_Window = new JLayeredPane();
this.add(Java_Window);
Java_Window.setPreferredSize(Panel_Size);
GameArea = new JPanel()
{
@Override
public void paint(Graphics g) {
g.setColor(Color.BLACK);
g.fillRect(0,0,601,601);
g.setColor(Color.GRAY);
// Cut map into sections
int x;
//draw vertical lines
for(x = 0; x < 31; x++) {
g.drawLine(x*20,0,x*20,600);
}
//draw horizontal lines
for(x = 0; x < 31; x++) {
g.drawLine(0,x*20,600,x*20);
}
}
public void PaintSquare (int x,int y) {
//Check if square painted
//Paint square
Rectangle rect = new Rectangle(x, y, 20, 20);
GameArea.add(rect);
}
};
Java_Window.add(GameArea, JLayeredPane.DEFAULT_LAYER);
GameArea.setBounds(20, 20, 601, 601);
GameArea.setVisible(true);
}
}
Так Java_Window
(800x800) имеет белый фон, Game_Area
(601x601) имеет черный фон с 32 линиями вдоль и поперек, чтобы разделить его на квадраты.
public void PaintSquare (int x, int y) {
//Check if square painted
//Paint square
Rectangle square = new Rectangle(x, y, 20, 20);
GameArea.add(square);
}
PaintSquare
будет вызываться из другого объекта (основной игры) и проверить на фоне квадрата, если он свободен он будет рисовать квадрат на нем (20х20).
В чем вопрос? – Reimeus
Извините, что неясно, вопрос в том, как я могу создать квадраты, чтобы занять пространство, вызвав PaintSquare(). Я прочитал кучу вещей в Интернете, но ничего не смог сделать. –