package ge.edu.freeuni.sdp.snake.view.swing.screen; import ge.edu.freeuni.sdp.snake.model.Size; import ge.edu.freeuni.sdp.snake.presenter.CellContent; import java.awt.Color; import java.awt.Graphics; @SuppressWarnings("serial") public class SwingBlackScreen extends Screen { public SwingBlackScreen(Size size, int cellSize) { super(size, cellSize); } private void flush(Graphics graphics, int i, int j) { graphics.setColor(Color.BLACK); graphics.fillRect(i * cellSize, j * cellSize, cellSize, cellSize); } @Override public void paint(Graphics graphics) { for (int i = 0; i < super.width; i++) { for (int j = 0; j < height; j++) { CellContent c = grid.get(i).get(j); if (c != null) switch (c) { case FoodMouse: flush(graphics, i, j); graphics.setColor(Color.YELLOW); graphics.fillRect(i * cellSize, j * cellSize, cellSize, cellSize); break; case FoodPoison: flush(graphics, i, j); graphics.setColor(Color.RED); graphics.fillRect(i * cellSize, j * cellSize, cellSize, cellSize); break; case Snake: flush(graphics, i, j); graphics.setColor(Color.GREEN); graphics.fillOval(i * cellSize + 2, j * cellSize + 2, cellSize - 4, cellSize - 4); break; default: flush(graphics, i, j); break; } else flush(graphics, i, j); } } } }