From 07b8b96e61c4a408fbf6335b5fff9d5c3c4c3ad7 Mon Sep 17 00:00:00 2001 From: Lee Date: Wed, 16 Jan 2013 03:50:28 -0500 Subject: [PATCH] I heard you like gliders. Grid doesn't work if dimensions are rectangular. --- src/Goldfish.java | 22 +++++++++++++--------- src/Render.java | 12 +++++------- 2 files changed, 18 insertions(+), 16 deletions(-) diff --git a/src/Goldfish.java b/src/Goldfish.java index ab5cb35..9cad700 100644 --- a/src/Goldfish.java +++ b/src/Goldfish.java @@ -7,18 +7,22 @@ public class Goldfish { private Render _render; public Goldfish() { - int height = 128; - int width = 128; + int width = 128; + int height = 128; _grid = new Grid(width, height); _render = new Render(width, height, _grid); } public void run() { - _grid.getPatch(1,0).setState(1); - _grid.getPatch(2,1).setState(1); - _grid.getPatch(2,2).setState(1); - _grid.getPatch(1,2).setState(1); - _grid.getPatch(0,2).setState(1); + for (int i = 0; i < _grid.getWidth(); i += 16) { + for (int j = 0; j < _grid.getHeight(); j += 16) { + _grid.getPatch(i + 1, j + 0).setState(1); + _grid.getPatch(i + 2, j + 1).setState(1); + _grid.getPatch(i + 2, j + 2).setState(1); + _grid.getPatch(i + 1, j + 2).setState(1); + _grid.getPatch(i + 0, j + 2).setState(1); + } + } while (true) { _grid = Conway.run(_grid); @@ -26,9 +30,9 @@ public class Goldfish { _render.run(); _render.sleep(); } - } + } - public static void main (String[] args) { + public static void main(String[] args) { Goldfish g = new Goldfish(); g.run(); } diff --git a/src/Render.java b/src/Render.java index ed04e9f..352d16e 100644 --- a/src/Render.java +++ b/src/Render.java @@ -128,8 +128,11 @@ public class Render extends Canvas implements Runnable, MouseListener, @Override public void mouseDragged(MouseEvent e) { - _grid.getPatch(e.getX() / scale, e.getY() / scale).setState(1); - draw(e.getX() / scale, e.getY() / scale, 0xffffff); + try { + _grid.getPatch(e.getX() / scale, e.getY() / scale).setState(1); + draw(e.getX() / scale, e.getY() / scale, 0xffffff); + } catch (ArrayIndexOutOfBoundsException exception) { + } e.consume(); } @@ -139,26 +142,21 @@ public class Render extends Canvas implements Runnable, MouseListener, @Override public void mouseEntered(MouseEvent e) { - // TODO Auto-generated method stub } @Override public void mouseExited(MouseEvent e) { - // TODO Auto-generated method stub } @Override public void mousePressed(MouseEvent e) { - // TODO Auto-generated method stub } @Override public void mouseReleased(MouseEvent e) { - // TODO Auto-generated method stub } @Override public void mouseMoved(MouseEvent e) { - // TODO Auto-generated method stub } }