Проблема, с которой я столкнулся, заключается в том, чтобы заставить мою программу перебирать кирпичи, которые я создал для своей игры Breakout.
Я пробовал несколько разных способов, вызывая метод createBrick (), но это не так. работает. Кто-то может сказать мне, нахожусь ли я на правильном пути или нет? Ниже приведен мой код для моего класса BreakoutPanel.
import java.awt.Font;
import java.awt.FontMetrics;
import java.awt.Graphics;
import java.awt.Point;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.Timer;
public class BreakoutPanel extends JPanel implements ActionListener, KeyListener {
static final long serialVersionUID = 2L;
private boolean gameRunning = true;
private int livesLeft = 3;
private String screenMessage = "";
private Ball ball;
private Paddle paddle;
private Brick[] bricks;
private int xVelocity;
public BreakoutPanel(Breakout game) {
addKeyListener(this);
setFocusable(true);
Timer timer = new Timer(5, this);
timer.start();
ball = new Ball(); // Creates ball object with appropriate variable
paddle = new Paddle(); // Creates paddle object with appropriate variable
bricks = new Brick [Settings.TOTAL_BRICKS]; // Creates brick array
createBricks(null); // Call the createBricks() method
}
private void createBricks(Graphics g) {
int counter = 0;
int x_space = 0;
int y_space = 0;
for(int x = 0; x < 4; x++) {
for(int y = 0; y < 5; y++) {
bricks[counter] = new Brick((x * Settings.BRICK_WIDTH) + Settings.BRICK_HORI_PADDING + x_space, (y * Settings.BRICK_HEIGHT) + Settings.BRICK_VERT_PADDING + y_space);
counter++;
y_space++;
}
x_space++;
y_space = 0;
}
}
private void paintBricks(Graphics g) {
paintComponent(g);
// TODO: Loop through the bricks and call the paint() method
paint(g);
}
В результате мне нужно, чтобы моя программа распечатала мои кирпичи, но в данный момент не может понять, как проходить по моим кирпичикам. Извините, если это плохой вопрос, я смотрел на Google и YouTube, но могу найти только те версии программы, в которых они имеют физическое изображение кирпича и фактически не создали его сами. Я надеюсь, что это имеет смысл.