diff --git a/Backup/v3/Control.java b/Backup/v3/Control.java deleted file mode 100644 index 8d48256..0000000 --- a/Backup/v3/Control.java +++ /dev/null @@ -1,113 +0,0 @@ -package v3; - -public class Control { - - private boolean[][] generation = new boolean[6][6]; - private GUI g = new GUI(this); - - public Control() { - for (int x = 0; x < 6; x++) { - for (int y = 0; y < 6; y++) { - generation[x][y] = false; - } - } - - generation[1][2] = true; - generation[2][2] = true; - generation[2][4] = true; - generation[3][1] = true; - generation[3][3] = true; - generation[4][3] = true; - - - } - - - public void start() { - g.showGeneration(bool2int(generation)); - } - - public void update(){ - generation = calcNextGeneration(); - g.showGeneration(bool2int(generation)); - } - - private int[][] bool2int(boolean[][] booleans) { - - int[][] ret = new int[6][6]; - - for (int x = 0; x < 6; x++) { - for (int y = 0; y < 6; y++) { - if (booleans[x][y]){ - ret[x][y] = 1; - } else { - ret[x][y] = 0; - } - } - } - return ret; - } - - private int countNeighboursAlive(int x, int y) { - int count = 0; - //Anfang mitte rechts, Uhrzeigersinn - int[] xoff = {1, 1, 0, -1, -1, -1, 0, 1}; - int[] yoff = {0, 1, 1, 1, 0, -1, -1, -1}; - - for (int i = 0; i < 8; i++) { - try { - if (generation[x + xoff[i]][y + yoff[i]]) count++; - } catch (Exception e) { - - } - } - - - System.out.println(count); - return count; - } - - public boolean[][] calcNextGeneration() { - - boolean[][] gen = new boolean[6][6]; - - - for (int x = 0; x < 6; x++) { - for (int y = 0; y < 6; y++) { - int n = countNeighboursAlive(x, y); - //Regel 1: Wiederbeleben - if (n == 3 && !gen[x][y]) { - gen[x][y] = true; - } - - //Regel 2: Unterbevölkerung - if (n < 2) { - gen[x][y] = false; - } - - //Regel 3: Am Leben bleiben - if (n == 2 || n == 3) { - //Zelle bleibt unverändert - } - - //Regel 4: Überbevölkerung - if (n > 3) { - gen[x][y] = false; - } - - } - } - - return gen; - } - - - public void newData(boolean[][] data) { - - generation = data; - - - } -} - - diff --git a/Backup/v3/GUI.java b/Backup/v3/GUI.java deleted file mode 100644 index 9b0193f..0000000 --- a/Backup/v3/GUI.java +++ /dev/null @@ -1,109 +0,0 @@ -package v3; - -import javax.swing.*; -import java.awt.*; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.util.Objects; -import v3.Control; - -public class GUI extends JFrame { - - private JButton[][] buttons = new JButton[6][6]; - private JButton nextGen = new JButton(); - public Control c; - - public GUI(Control c){ - - this.c = c; - - setTitle("Test"); - setUndecorated(false); - - setDefaultCloseOperation(EXIT_ON_CLOSE); - setAutoRequestFocus(false); - setLayout(null); - setSize(500, 500); - setResizable(true); - - - initComponents(); - addComponents(); - - - setLocationRelativeTo(null); - setVisible(true); - - } - - private void initComponents() { - - nextGen.setBounds(0, 0, 100, 50); - nextGen.setText("Next"); - nextGen.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - c.update(); - } - }); - - for (int i = 0; i < 6; i++) { - for (int y = 0; y < 6; y++) { - buttons[i][y] = new JButton(); - buttons[i][y].setBounds(i * 50 + 50, y * 50 + 50, 50, 50); - int finalI = i; - int finalY = y; - buttons[i][y].addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - if (Objects.equals(buttons[finalI][finalY].getText(), "0")){ - buttons[finalI][finalY].setText("1"); - buttons[finalI][finalY].setBackground(Color.green); - } else { - buttons[finalI][finalY].setText("0"); - buttons[finalI][finalY].setBackground(Color.yellow); - } - - boolean[][] data = new boolean[6][6]; - - for (int i = 0; i < 6; i++) { - for (int y = 0; y < 6; y++) { - if (Objects.equals(buttons[i][y].getText(), "1")){ - data[i][y] = true; - } else { - data[i][y] = false; - } - } - } - - c.newData(data); - } - }); - } - } - } - private void addComponents() { - add(nextGen); - for (int i = 0; i < 6; i++) { - for (int y = 0; y < 6; y++) { - add(buttons[i][y]); - } - } - - } - - public void showGeneration(int[][] pGeneration) { - for (int i = 0; i < 6; i++) { - for (int y = 0; y < 6; y++) { - buttons[i][y].setText(String.valueOf(pGeneration[y][i])); - if (Objects.equals(buttons[i][y].getText(), "0")){ - buttons[i][y].setBackground(Color.green); - } else { - buttons[i][y].setBackground(Color.yellow); - } - } - } - } -} - - diff --git a/Backup/v3/Main.java b/Backup/v3/Main.java deleted file mode 100644 index 6b5427d..0000000 --- a/Backup/v3/Main.java +++ /dev/null @@ -1,10 +0,0 @@ -package v3; - -public class Main { - - public static void main(String[] args) { - Control c = new Control(); - c.start(); - } - -} \ No newline at end of file diff --git a/Backup/v4/draw/Draw.java b/Backup/v4/draw/Draw.java deleted file mode 100644 index 077c297..0000000 --- a/Backup/v4/draw/Draw.java +++ /dev/null @@ -1,38 +0,0 @@ -package v4.draw; - -import v4.game.Control; -import v4.gui.GUI; - -import javax.swing.*; -import java.awt.*; - -public class Draw extends JLabel { - - protected void paintComponent(Graphics g){ - super.paintComponent(g); - Graphics2D g2d = (Graphics2D) g; - - g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_OFF); - - g.setColor(Color.RED); - g.drawRect(9 ,9, GUI.WIDTH + 2, GUI.HEIGHT + 2); - - repaint(); - - for (int x = 0; x < Control.CELLCOUNT; x++){ - for (int y = 0; y < Control.CELLCOUNT; y++){ - if (Control.cells[x][y]){ - g.setColor(Color.BLACK); - g.drawRect(x +GUI.XOFF, y + GUI.YOFF, 1, 1); - } else { - g.setColor(Color.WHITE); - g.drawRect(x +GUI.XOFF, y + GUI.YOFF, 1, 1); - } - } - } - - } - - - -} diff --git a/Backup/v4/game/Clock.java b/Backup/v4/game/Clock.java deleted file mode 100644 index 670dbcb..0000000 --- a/Backup/v4/game/Clock.java +++ /dev/null @@ -1,21 +0,0 @@ -package v4.game; - -public class Clock extends Thread { - - public static boolean running = true; - - public void run(){ - - while (running){ - try { - sleep(50); - v4.game.Control.nextGen(); - } catch (InterruptedException e) { - e.printStackTrace(); - } - - } - - } - -} diff --git a/Backup/v4/game/Control.java b/Backup/v4/game/Control.java deleted file mode 100644 index 3449f10..0000000 --- a/Backup/v4/game/Control.java +++ /dev/null @@ -1,73 +0,0 @@ -package v4.game; - -import java.util.concurrent.ThreadLocalRandom; - -public class Control { - - public static final int CELLCOUNT = 512; - public static boolean[][] cells = new boolean[CELLCOUNT][CELLCOUNT]; - - int startCells = 10000; - static int gen = 0; - - public void create(){ - for(int i = 0; i < startCells; i++){ - int x = rand(0, CELLCOUNT); - int y = rand(0, CELLCOUNT); - - cells[x][y] = true; - } - } - - public static void nextGen(){ - gen ++; - System.out.println("Generation:" + gen); - - for (int x = 0; x < CELLCOUNT; x++){ - for (int y = 0; y < CELLCOUNT; y++) { - int n = aliveNeigbours(x, y); - - if (n == 3 && !cells[x][y]){ - cells[x][y] = true; - } - - if (n < 2){ - cells[x][y] = false; - } - - if (n == 2 || n == 3){ - - } - - if (n > 3){ - cells[x][y] = false; - } - - } - } - } - - public static int aliveNeigbours(int x, int y){ - int count = 0; - - int[] xoff = {1, 1, 0, -1, -1, -1, 0, 1}; - int[] yoff = {0, 1, 1, 1, 0, -1, -1, -1}; - - for (int i = 0; i < 8; i++){ - try { - if (cells[x + xoff[i]][y + yoff[i]]){ - count ++; - } - } catch (Exception e) { - - } - } - - return count; - } - - public static int rand(int min, int max){ - return ThreadLocalRandom.current().nextInt(min, max); - } - -} diff --git a/Backup/v4/gui/GUI.java b/Backup/v4/gui/GUI.java deleted file mode 100644 index 5b4a78a..0000000 --- a/Backup/v4/gui/GUI.java +++ /dev/null @@ -1,31 +0,0 @@ -package v4.gui; - -import v4.draw.Draw; - -import javax.swing.*; - -public class GUI { - - JFrame jf; - - public static Draw d; - - public static final int WIDTH = 512, HEIGHT = 512, XOFF = 10, YOFF = 10; - - public void create(){ - jf = new JFrame("Game of Live"); - jf.setSize(550, 570); - jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - jf.setLocationRelativeTo(null); - jf.setResizable(false); - - d = new Draw(); - d.setBounds(0, 0, 550, 570); - d.setVisible(true); - - jf.add(d); - - jf.setVisible(true); - } - -} diff --git a/Backup/v4/main/Main.java b/Backup/v4/main/Main.java deleted file mode 100644 index c1364b6..0000000 --- a/Backup/v4/main/Main.java +++ /dev/null @@ -1,20 +0,0 @@ -package v4.main; - -import v4.game.Clock; -import v4.game.Control; -import v4.gui.GUI; - -public class Main { - - public static void main(String[] args) { - - GUI g = new GUI(); - Control c = new Control(); - Clock clk = new Clock(); - - c.create(); - g.create(); - clk.start(); - } - -} diff --git a/Backup/v5/draw/Draw.java b/Backup/v5/draw/Draw.java deleted file mode 100644 index 88f3649..0000000 --- a/Backup/v5/draw/Draw.java +++ /dev/null @@ -1,45 +0,0 @@ -package v5.draw; - -import v5.gui.GUI; -import v5.game.Control; - -import javax.swing.*; -import java.awt.*; - -public class Draw extends JLabel { - - protected void paintComponent(Graphics g) { - super.paintComponent(g); - Graphics2D g2d = (Graphics2D) g; - - g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_OFF); - - g.setColor(Color.RED); - g.drawRect(9 ,9, Control.CELLCOUNT_X + 1, Control.CELLCOUNT_Y + 1); - - - repaint(); - -// for (int x = 0; x < Control.CELLCOUNT_X; x++) { -// for (int y = 0; y < Control.CELLCOUNT_Y; y++) { -// if (Control.cells[x][y]) { -// g.setColor(Color.BLACK); -// g.fillRect(x + OldGUI.XOFF, y + OldGUI.YOFF, 1, 1); -// } -// } -// } - - - for (int x = 0; x < Control.CELLCOUNT_X; x++) { - for (int y = 0; y < Control.CELLCOUNT_X; y++) { - if (Control.cells[x][y]) { - g.setColor(Color.BLACK); - g.fillRect(x * 85 + GUI.XOFF, y * 85 + GUI.YOFF, 85, 85); - } else { - g.setColor(Color.WHITE); - g.fillRect(x * 85 + GUI.XOFF, y * 85 + GUI.YOFF, 85, 85); - } - } - } - } -} \ No newline at end of file diff --git a/Backup/v5/game/Clock.java b/Backup/v5/game/Clock.java deleted file mode 100644 index ec4a592..0000000 --- a/Backup/v5/game/Clock.java +++ /dev/null @@ -1,27 +0,0 @@ -package v5.game; - -import java.util.Timer; -import java.util.TimerTask; - -public class Clock extends Thread{ - - public static boolean running = true; - - public void start(){ - - Timer t = new Timer(); - TimerTask tt = new TimerTask() { - @Override - public void run() { - if (running){ - Control.nextGen(); - } - } - }; - - t.scheduleAtFixedRate(tt, 1, 1000); - - } - -} - diff --git a/Backup/v5/game/Control.java b/Backup/v5/game/Control.java deleted file mode 100644 index 557e2ff..0000000 --- a/Backup/v5/game/Control.java +++ /dev/null @@ -1,107 +0,0 @@ -package v5.game; - -import java.util.concurrent.ThreadLocalRandom; - -public class Control { - - public static final int CELLCOUNT_X = 6; - public static final int CELLCOUNT_Y = 6; - public static boolean[][] cells = new boolean[CELLCOUNT_X][CELLCOUNT_Y]; - public static boolean[][] newcells = new boolean[CELLCOUNT_X][CELLCOUNT_Y]; - - int startCells = 6; - static int gen = 0; - - - public void create(){ -// for(int i = 0; i < startCells; i++){ -// int x = rand(0, CELLCOUNT_X); -// int y = rand(0, CELLCOUNT_Y); -// -// cells[x][y] = true; -// } - - - for (int x = 0; x < 6; x++) { - for (int y = 0; y < 6; y++) { - cells[x][y] = false; - } - } - - cells[1][2] = true; - cells[2][2] = true; - cells[2][4] = true; - cells[3][1] = true; - cells[3][3] = true; - cells[4][3] = true; - - - for (int x = 0; x < CELLCOUNT_X; x++) { - for (int y = 0; y < CELLCOUNT_Y; y++) { - newcells[x][y] = cells[x][y]; - } - } - - } - - public static void nextGen(){ - gen ++; - System.out.println("Generation:" + gen); - - for (int x = 0; x < CELLCOUNT_X; x++){ - for (int y = 0; y < CELLCOUNT_Y; y++) { - int n = aliveNeigbours(x, y); - - if (n == 3 && !cells[x][y]){ - newcells[x][y] = true; - } - - if (n < 2){ - newcells[x][y] = false; - } - - if (n == 2 || n == 3){ - - } - - if (n > 3){ - newcells[x][y] = false; - } - - } - } - - for (int x = 0; x < CELLCOUNT_X; x++) { - for (int y = 0; y < CELLCOUNT_Y; y++) { - cells[x][y] = newcells[x][y]; - } - } - - } - - public static int aliveNeigbours(int x, int y){ - int count = 0; - - int[] xoff = {1, 1, 0, -1, -1, -1, 0, 1}; - int[] yoff = {0, 1, 1, 1, 0, -1, -1, -1}; - - for (int i = 0; i < 8; i++){ - try { - if (cells[x + xoff[i]][y + yoff[i]]){ - count ++; - } - } catch (Exception e) { - } - } - return count; - } - - public static int rand(int min, int max){ - return ThreadLocalRandom.current().nextInt(min, max); - } - - private void calcDimension(int cellsX, int cellsY){ - - } - -} diff --git a/Backup/v5/gui/ControlGUI.java b/Backup/v5/gui/ControlGUI.java deleted file mode 100644 index ba7da78..0000000 --- a/Backup/v5/gui/ControlGUI.java +++ /dev/null @@ -1,67 +0,0 @@ -package v5.gui; - - -import javax.swing.*; -import javax.swing.event.ChangeEvent; -import javax.swing.event.ChangeListener; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; - -public class ControlGUI { - - public static final int WIDTH = 512, HEIGHT = 512, XOFF = 10, YOFF = 10; - private JFrame jf; - - private JSlider gridSize; - private JLabel gridSizeLabel; - private JSlider startCells; - - private JButton start; - - public void create() { - jf = new JFrame("Game of Live"); - jf.setSize(305, 500); - jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - jf.setLayout(null); - jf.setLocationRelativeTo(null); - jf.setResizable(false); - - gridSize = new JSlider(6, 512); - gridSize.setBounds(50, 50, 150, 30); - gridSize.setValue(6); - gridSize.addChangeListener(new ChangeListener() { - @Override - public void stateChanged(ChangeEvent e) { - int value = gridSize.getValue(); - update(value); - } - }); - - gridSizeLabel = new JLabel("6"); - gridSizeLabel.setBounds(50, 30, 30, 30); - - startCells = new JSlider(); - startCells.setBounds(50, 100, 150, 30); - - start = new JButton("start"); - start.setBounds(0, 0, 50, 10); - start.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - - } - }); - - jf.add(start); - jf.add(gridSize); - jf.add(startCells); - jf.add(gridSizeLabel); - jf.setVisible(true); - } - - - private void update(int val){ - gridSizeLabel.setText(String.valueOf(val)); - } - -} diff --git a/Backup/v5/gui/GUI.java b/Backup/v5/gui/GUI.java deleted file mode 100644 index 5518292..0000000 --- a/Backup/v5/gui/GUI.java +++ /dev/null @@ -1,38 +0,0 @@ -package v5.gui; - -import v5.draw.Draw; -import v5.game.Control; - -import javax.swing.*; -import java.awt.*; - - -public class GUI extends JFrame { - - JFrame jf; - - public static Draw d; - - public static final int WIDTH = 512, HEIGHT = 512, XOFF = 10, YOFF = 10; - - - - public void create(){ - jf = new JFrame("Game of Live"); - - jf.getContentPane().setPreferredSize(new Dimension(Control.CELLCOUNT_X + 19, Control.CELLCOUNT_Y + 19)); - jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - - jf.setResizable(true); - - d = new Draw(); - d.setVisible(true); - - jf.add(d); - - jf.pack(); - jf.setLocationRelativeTo(null); - jf.setVisible(true); - } - -} diff --git a/Backup/v5/main/Main.java b/Backup/v5/main/Main.java deleted file mode 100644 index 41e1e75..0000000 --- a/Backup/v5/main/Main.java +++ /dev/null @@ -1,26 +0,0 @@ -package v5.main; - -import v5.game.Clock; -import v5.game.Control; -import v5.gui.ControlGUI; -import v5.gui.GUI; -import v5.draw.Draw; - -public class Main { - - public static void main(String[] args) { - -// ControlGUI controlGUI = new ControlGUI(); -// controlGUI.create(); - - Control control = new Control(); - GUI gui = new GUI(); - Clock clock = new Clock(); - - control.create(); - gui.create(); - clock.start(); - - } - -}