diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..e7e9d11d4bf243bffe4bb60b4ac1f9392297f4bf --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,2 @@ +# Default ignored files +/workspace.xml diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000000000000000000000000000000000000..1763e153b6f24f136d4d5567320e74f68b248b87 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="ProjectRootManager" version="2" languageLevel="JDK_11" project-jdk-name="11" project-jdk-type="JavaSDK"> + <output url="file://$PROJECT_DIR$/out" /> + </component> +</project> \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000000000000000000000000000000000000..3d411e5b81e6c9974cdef1cb0d2dbf805d7cf258 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="ProjectModuleManager"> + <modules> + <module fileurl="file://$PROJECT_DIR$/TP3.iml" filepath="$PROJECT_DIR$/TP3.iml" /> + </modules> + </component> +</project> \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000000000000000000000000000000000000..35eb1ddfbbc029bcab630581847471d7f238ec53 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project version="4"> + <component name="VcsDirectoryMappings"> + <mapping directory="" vcs="Git" /> + </component> +</project> \ No newline at end of file diff --git a/Grid.java b/Grid.java index 939e05fd8e4207e92eb7ffaedebfcd6d4d0f6d0b..10a03b888ec24eb83256f3792969f3b892aacaae 100644 --- a/Grid.java +++ b/Grid.java @@ -1,7 +1,4 @@ -import java.util.Arrays; -import java.util.Iterator; -import java.util.List; -import java.util.Random; +import java.util.*; /** * {@code Grid} instances represent the grid in <i>The Game of Life</i>. @@ -106,12 +103,25 @@ public class Grid implements Iterable<Cell> { } private int countAliveNeighbours(int rowIndex, int columnIndex) { - return 0; + int aliveNeighbours = 0; + for (Cell cell : getNeighbours(rowIndex,columnIndex)) { + if (cell.isAlive()) {aliveNeighbours++;} + } + return aliveNeighbours; } private List<Cell> getNeighbours(int rowIndex, int columnIndex) { - return null; + List<Cell> neighbours = new ArrayList<>(); + neighbours.add(getCell(rowIndex-1,columnIndex-1)); + neighbours.add(getCell(rowIndex,columnIndex-1)); + neighbours.add(getCell(rowIndex+1,columnIndex-1)); + neighbours.add(getCell(rowIndex-1,columnIndex)); + neighbours.add(getCell(rowIndex+1,columnIndex)); + neighbours.add(getCell(rowIndex-1,columnIndex+1)); + neighbours.add(getCell(rowIndex,columnIndex+1)); + neighbours.add(getCell(rowIndex+1,columnIndex+1)); + return neighbours; } private void goToNextState(boolean[][] nextState) { diff --git a/Main.java b/Main.java index bf344eedcdd0bf23ac4a256c6e08c5b4037f5117..178b007aed37245b838f86fc6071c028f5d2a3fa 100644 --- a/Main.java +++ b/Main.java @@ -3,7 +3,7 @@ import java.awt.*; import javax.swing.*; public class Main{ - public static void main(String args[]) throws IOException { + public static void main(String[] args) throws IOException { int NUMBER_OF_ROWS = 64; int NUMBER_OF_COLUMNS = 64; diff --git a/TP3.iml b/TP3.iml new file mode 100644 index 0000000000000000000000000000000000000000..b107a2dd81165eaaf682ad3da030668b937fbb6c --- /dev/null +++ b/TP3.iml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<module type="JAVA_MODULE" version="4"> + <component name="NewModuleRootManager" inherit-compiler-output="true"> + <exclude-output /> + <content url="file://$MODULE_DIR$"> + <sourceFolder url="file://$MODULE_DIR$" isTestSource="false" /> + </content> + <orderEntry type="inheritedJdk" /> + <orderEntry type="sourceFolder" forTests="false" /> + </component> +</module> \ No newline at end of file