From bb19284a532dce026df6699790dc3fc0af892b8a Mon Sep 17 00:00:00 2001 From: AZZOUG Lydia <lydia.azzoug@etu.univ-amu.fr> Date: Sun, 18 Oct 2020 21:34:56 +0200 Subject: [PATCH] Replace GameOfLifeGUI.java --- GameOfLifeGUI.java | 61 +++++++++++++++++++++++++++++----------------- 1 file changed, 38 insertions(+), 23 deletions(-) diff --git a/GameOfLifeGUI.java b/GameOfLifeGUI.java index c162ce0..590140a 100644 --- a/GameOfLifeGUI.java +++ b/GameOfLifeGUI.java @@ -11,38 +11,53 @@ public class GameOfLifeGUI extends JFrame { private JPanel gridPanel; private JFrame frame; + public GameOfLifeGUI(Grid g) { - this.numberOfRows = g.getNumberOfRows(); - this.numberOfColumns = g.getNumberOfColumns(); - gridLayout = new GridLayout(numberOfRows, numberOfColumns); + this.numberOfRows = g.getNumberOfRows(); + this.numberOfColumns = g.getNumberOfColumns(); + + gridLayout = new GridLayout(numberOfRows, numberOfColumns); gridPanel = new JPanel(gridLayout); - labelGrid = new JLabel[numberOfRows][numberOfColumns]; - for (int x = 0; x < numberOfColumns; x++) + labelGrid = new JLabel[numberOfRows][numberOfColumns]; + + for (int x = 0; x < numberOfColumns; x++){ for (int y = 0; y < numberOfRows; y++){ - labelGrid[x][y] = new JLabel("*"); - JLabel label; - if(g.getCell(x,y).isAlive()) - labelGrid[x][y].setForeground(Color.red); - else - labelGrid[x][y].setForeground(Color.white); - gridPanel.add(labelGrid[x][y]); - } + labelGrid[x][y] = new JLabel("*"); + JLabel label = labelGrid[x][y]; + Cell cell = g.getCell(x,y); + if(cell.isAlive()) { + if (cell.isRed()) + label.setForeground(Color.red); + else + label.setForeground(Color.blue); + }else{ + label.setForeground(Color.white); + } + gridPanel.add(labelGrid[x][y]); + } + } frame = new JFrame("Game of Life"); frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); frame.setContentPane(gridPanel); - frame.setSize(squareSize * numberOfRows, squareSize * numberOfColumns); - frame.setLocationByPlatform(true); + frame.setSize(squareSize * numberOfRows, squareSize * numberOfColumns); + frame.setLocationByPlatform(true); frame.setVisible(true); } public void update(Grid g){ - for (int x = 0; x < numberOfColumns; x++) - for (int y = 0; y < numberOfRows; y++){ - JLabel label = labelGrid[x][y]; - if(g.getCell(x,y).isAlive()) - label.setForeground(Color.red); - else - label.setForeground(Color.white); - } + for (int x = 0; x < numberOfColumns; x++) { + for (int y = 0; y < numberOfRows; y++) { + JLabel label = labelGrid[x][y]; + Cell cell = g.getCell(x,y); + if(cell.isAlive()) { + if (cell.isRed()) + label.setForeground(Color.red); + else + label.setForeground(Color.blue); + }else { + label.setForeground(Color.white); + } + } + } } } -- GitLab