Kr Younger 6 anni fa
commit
1e489f8d93

+ 12
- 0
.gitignore Vedi File

@@ -0,0 +1,12 @@
1
+*.class
2
+
3
+# Mobile Tools for Java (J2ME)
4
+.mtj.tmp/
5
+
6
+# Package Files #
7
+*.jar
8
+*.war
9
+*.ear
10
+
11
+# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
12
+hs_err_pid*

+ 17
- 0
.idea/Game-Of-Life-Java.iml Vedi File

@@ -0,0 +1,17 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
3
+  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_5">
4
+    <output url="file://$MODULE_DIR$/target/classes" />
5
+    <output-test url="file://$MODULE_DIR$/target/test-classes" />
6
+    <content url="file://$MODULE_DIR$">
7
+      <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
8
+      <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
9
+      <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
10
+      <excludeFolder url="file://$MODULE_DIR$/target" />
11
+    </content>
12
+    <orderEntry type="inheritedJdk" />
13
+    <orderEntry type="sourceFolder" forTests="false" />
14
+    <orderEntry type="library" name="Maven: junit:junit:4.12" level="project" />
15
+    <orderEntry type="library" name="Maven: org.hamcrest:hamcrest-core:1.3" level="project" />
16
+  </component>
17
+</module>

+ 16
- 0
.idea/compiler.xml Vedi File

@@ -0,0 +1,16 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<project version="4">
3
+  <component name="CompilerConfiguration">
4
+    <annotationProcessing>
5
+      <profile name="Maven default annotation processors profile" enabled="true">
6
+        <sourceOutputDir name="target/generated-sources/annotations" />
7
+        <sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
8
+        <outputRelativeToContentRoot value="true" />
9
+        <module name="Game-Of-Life-Java" />
10
+      </profile>
11
+    </annotationProcessing>
12
+    <bytecodeTargetLevel>
13
+      <module name="Game-Of-Life-Java" target="1.5" />
14
+    </bytecodeTargetLevel>
15
+  </component>
16
+</project>

+ 13
- 0
.idea/libraries/Maven__junit_junit_4_12.xml Vedi File

@@ -0,0 +1,13 @@
1
+<component name="libraryTable">
2
+  <library name="Maven: junit:junit:4.12">
3
+    <CLASSES>
4
+      <root url="jar://$MAVEN_REPOSITORY$/junit/junit/4.12/junit-4.12.jar!/" />
5
+    </CLASSES>
6
+    <JAVADOC>
7
+      <root url="jar://$MAVEN_REPOSITORY$/junit/junit/4.12/junit-4.12-javadoc.jar!/" />
8
+    </JAVADOC>
9
+    <SOURCES>
10
+      <root url="jar://$MAVEN_REPOSITORY$/junit/junit/4.12/junit-4.12-sources.jar!/" />
11
+    </SOURCES>
12
+  </library>
13
+</component>

+ 13
- 0
.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml Vedi File

@@ -0,0 +1,13 @@
1
+<component name="libraryTable">
2
+  <library name="Maven: org.hamcrest:hamcrest-core:1.3">
3
+    <CLASSES>
4
+      <root url="jar://$MAVEN_REPOSITORY$/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar!/" />
5
+    </CLASSES>
6
+    <JAVADOC>
7
+      <root url="jar://$MAVEN_REPOSITORY$/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3-javadoc.jar!/" />
8
+    </JAVADOC>
9
+    <SOURCES>
10
+      <root url="jar://$MAVEN_REPOSITORY$/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3-sources.jar!/" />
11
+    </SOURCES>
12
+  </library>
13
+</component>

+ 11
- 0
.idea/misc.xml Vedi File

@@ -0,0 +1,11 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<project version="4">
3
+  <component name="MavenProjectsManager">
4
+    <option name="originalFiles">
5
+      <list>
6
+        <option value="$PROJECT_DIR$/pom.xml" />
7
+      </list>
8
+    </option>
9
+  </component>
10
+  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_9" default="false" project-jdk-name="1.8" project-jdk-type="JavaSDK" />
11
+</project>

+ 8
- 0
.idea/modules.xml Vedi File

@@ -0,0 +1,8 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<project version="4">
3
+  <component name="ProjectModuleManager">
4
+    <modules>
5
+      <module fileurl="file://$PROJECT_DIR$/.idea/Game-Of-Life-Java.iml" filepath="$PROJECT_DIR$/.idea/Game-Of-Life-Java.iml" />
6
+    </modules>
7
+  </component>
8
+</project>

+ 124
- 0
.idea/uiDesigner.xml Vedi File

@@ -0,0 +1,124 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<project version="4">
3
+  <component name="Palette2">
4
+    <group name="Swing">
5
+      <item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
6
+        <default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
7
+      </item>
8
+      <item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
9
+        <default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
10
+      </item>
11
+      <item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.png" removable="false" auto-create-binding="false" can-attach-label="false">
12
+        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
13
+      </item>
14
+      <item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.png" removable="false" auto-create-binding="false" can-attach-label="true">
15
+        <default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
16
+      </item>
17
+      <item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.png" removable="false" auto-create-binding="true" can-attach-label="false">
18
+        <default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
19
+        <initial-values>
20
+          <property name="text" value="Button" />
21
+        </initial-values>
22
+      </item>
23
+      <item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.png" removable="false" auto-create-binding="true" can-attach-label="false">
24
+        <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
25
+        <initial-values>
26
+          <property name="text" value="RadioButton" />
27
+        </initial-values>
28
+      </item>
29
+      <item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.png" removable="false" auto-create-binding="true" can-attach-label="false">
30
+        <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
31
+        <initial-values>
32
+          <property name="text" value="CheckBox" />
33
+        </initial-values>
34
+      </item>
35
+      <item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.png" removable="false" auto-create-binding="false" can-attach-label="false">
36
+        <default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
37
+        <initial-values>
38
+          <property name="text" value="Label" />
39
+        </initial-values>
40
+      </item>
41
+      <item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.png" removable="false" auto-create-binding="true" can-attach-label="true">
42
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
43
+          <preferred-size width="150" height="-1" />
44
+        </default-constraints>
45
+      </item>
46
+      <item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.png" removable="false" auto-create-binding="true" can-attach-label="true">
47
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
48
+          <preferred-size width="150" height="-1" />
49
+        </default-constraints>
50
+      </item>
51
+      <item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.png" removable="false" auto-create-binding="true" can-attach-label="true">
52
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
53
+          <preferred-size width="150" height="-1" />
54
+        </default-constraints>
55
+      </item>
56
+      <item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.png" removable="false" auto-create-binding="true" can-attach-label="true">
57
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
58
+          <preferred-size width="150" height="50" />
59
+        </default-constraints>
60
+      </item>
61
+      <item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
62
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
63
+          <preferred-size width="150" height="50" />
64
+        </default-constraints>
65
+      </item>
66
+      <item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
67
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
68
+          <preferred-size width="150" height="50" />
69
+        </default-constraints>
70
+      </item>
71
+      <item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.png" removable="false" auto-create-binding="true" can-attach-label="true">
72
+        <default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
73
+      </item>
74
+      <item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.png" removable="false" auto-create-binding="true" can-attach-label="false">
75
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
76
+          <preferred-size width="150" height="50" />
77
+        </default-constraints>
78
+      </item>
79
+      <item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.png" removable="false" auto-create-binding="true" can-attach-label="false">
80
+        <default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
81
+          <preferred-size width="150" height="50" />
82
+        </default-constraints>
83
+      </item>
84
+      <item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.png" removable="false" auto-create-binding="true" can-attach-label="false">
85
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
86
+          <preferred-size width="150" height="50" />
87
+        </default-constraints>
88
+      </item>
89
+      <item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.png" removable="false" auto-create-binding="true" can-attach-label="false">
90
+        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
91
+          <preferred-size width="200" height="200" />
92
+        </default-constraints>
93
+      </item>
94
+      <item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.png" removable="false" auto-create-binding="false" can-attach-label="false">
95
+        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
96
+          <preferred-size width="200" height="200" />
97
+        </default-constraints>
98
+      </item>
99
+      <item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.png" removable="false" auto-create-binding="true" can-attach-label="true">
100
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
101
+      </item>
102
+      <item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.png" removable="false" auto-create-binding="true" can-attach-label="false">
103
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
104
+      </item>
105
+      <item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.png" removable="false" auto-create-binding="false" can-attach-label="false">
106
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
107
+      </item>
108
+      <item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
109
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
110
+      </item>
111
+      <item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.png" removable="false" auto-create-binding="false" can-attach-label="false">
112
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
113
+          <preferred-size width="-1" height="20" />
114
+        </default-constraints>
115
+      </item>
116
+      <item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.png" removable="false" auto-create-binding="false" can-attach-label="false">
117
+        <default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
118
+      </item>
119
+      <item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
120
+        <default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
121
+      </item>
122
+    </group>
123
+  </component>
124
+</project>

+ 6
- 0
.idea/vcs.xml Vedi File

@@ -0,0 +1,6 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<project version="4">
3
+  <component name="VcsDirectoryMappings">
4
+    <mapping directory="" vcs="Git" />
5
+  </component>
6
+</project>

+ 781
- 0
.idea/workspace.xml Vedi File

@@ -0,0 +1,781 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<project version="4">
3
+  <component name="ChangeListManager">
4
+    <list default="true" id="e282cee1-bfe9-42a3-9794-9633eb4654d1" name="Default" comment="" />
5
+    <ignored path="$PROJECT_DIR$/target/" />
6
+    <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
7
+    <option name="TRACKING_ENABLED" value="true" />
8
+    <option name="SHOW_DIALOG" value="false" />
9
+    <option name="HIGHLIGHT_CONFLICTS" value="true" />
10
+    <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
11
+    <option name="LAST_RESOLUTION" value="IGNORE" />
12
+  </component>
13
+  <component name="FileEditorManager">
14
+    <leaf>
15
+      <file leaf-file-name="SimpleWindow.java" pinned="false" current-in-tab="false">
16
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodeconway/SimpleWindow.java">
17
+          <provider selected="true" editor-type-id="text-editor">
18
+            <state relative-caret-position="289">
19
+              <caret line="17" column="42" lean-forward="false" selection-start-line="17" selection-start-column="42" selection-end-line="17" selection-end-column="42" />
20
+              <folding>
21
+                <element signature="imports" expanded="true" />
22
+              </folding>
23
+            </state>
24
+          </provider>
25
+        </entry>
26
+      </file>
27
+      <file leaf-file-name="ConwayGameOfLife.java" pinned="false" current-in-tab="false">
28
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodeconway/ConwayGameOfLife.java">
29
+          <provider selected="true" editor-type-id="text-editor">
30
+            <state relative-caret-position="164">
31
+              <caret line="20" column="0" lean-forward="false" selection-start-line="20" selection-start-column="0" selection-end-line="20" selection-end-column="0" />
32
+              <folding>
33
+                <element signature="e#585#586#0" expanded="true" />
34
+                <element signature="e#676#677#0" expanded="true" />
35
+                <element signature="e#712#713#0" expanded="true" />
36
+                <element signature="e#1429#1430#0" expanded="true" />
37
+                <element signature="e#1453#1454#0" expanded="true" />
38
+              </folding>
39
+            </state>
40
+          </provider>
41
+        </entry>
42
+      </file>
43
+      <file leaf-file-name="JAVA/com.zipcodeconway.ConwayGameOfLife" pinned="false" current-in-tab="false">
44
+        <entry file="uml://JAVA/com.zipcodeconway.ConwayGameOfLife">
45
+          <provider selected="true" editor-type-id="UmlEditorProvider">
46
+            <state>
47
+              <ID>JAVA</ID>
48
+              <OriginalElement>com.zipcodeconway.ConwayGameOfLife</OriginalElement>
49
+              <nodes>
50
+                <node x="-54.0" y="-179.0">com.zipcodeconway.ConwayGameOfLife</node>
51
+              </nodes>
52
+              <notes />
53
+              <edges />
54
+              <settings layout="Hierarchic Group" zoom="1.0" x="-203.0" y="-1.0" />
55
+              <SelectedNodes />
56
+              <Categories>
57
+                <Category>Constructors</Category>
58
+                <Category>Methods</Category>
59
+              </Categories>
60
+              <SCOPE>All</SCOPE>
61
+              <VISIBILITY>private</VISIBILITY>
62
+            </state>
63
+          </provider>
64
+        </entry>
65
+      </file>
66
+      <file leaf-file-name="README.md" pinned="false" current-in-tab="false">
67
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodeconway/README.md">
68
+          <provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
69
+            <state split_layout="SPLIT">
70
+              <first_editor relative-caret-position="236">
71
+                <caret line="52" column="194" lean-forward="false" selection-start-line="52" selection-start-column="194" selection-end-line="52" selection-end-column="194" />
72
+                <folding />
73
+              </first_editor>
74
+              <second_editor />
75
+            </state>
76
+          </provider>
77
+        </entry>
78
+      </file>
79
+      <file leaf-file-name="ConwayGameOfLifeTest.java" pinned="false" current-in-tab="true">
80
+        <entry file="file://$PROJECT_DIR$/src/test/java/com/zipcodeconway/ConwayGameOfLifeTest.java">
81
+          <provider selected="true" editor-type-id="text-editor">
82
+            <state relative-caret-position="510">
83
+              <caret line="32" column="32" lean-forward="false" selection-start-line="32" selection-start-column="32" selection-end-line="32" selection-end-column="32" />
84
+              <folding />
85
+            </state>
86
+          </provider>
87
+        </entry>
88
+      </file>
89
+    </leaf>
90
+  </component>
91
+  <component name="FileTemplateManagerImpl">
92
+    <option name="RECENT_TEMPLATES">
93
+      <list>
94
+        <option value="Arquillian JUnit Test Class" />
95
+        <option value="Class" />
96
+        <option value="JUnit4 Test Class" />
97
+      </list>
98
+    </option>
99
+  </component>
100
+  <component name="FindInProjectRecents">
101
+    <findStrings>
102
+      <find>end</find>
103
+    </findStrings>
104
+    <replaceStrings>
105
+      <replace>currentGeneration</replace>
106
+      <replace>nextGeneration</replace>
107
+    </replaceStrings>
108
+  </component>
109
+  <component name="Git.Settings">
110
+    <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
111
+  </component>
112
+  <component name="GradleLocalSettings">
113
+    <option name="externalProjectsViewState">
114
+      <projects_view />
115
+    </option>
116
+  </component>
117
+  <component name="IdeDocumentHistory">
118
+    <option name="CHANGED_PATHS">
119
+      <list>
120
+        <option value="$PROJECT_DIR$/LifeStarts.java" />
121
+        <option value="$PROJECT_DIR$/pom.xml" />
122
+        <option value="$PROJECT_DIR$/src/main/java/GameOnLife.java" />
123
+        <option value="$PROJECT_DIR$/src/main/java/GameOfLife.java" />
124
+        <option value="$PROJECT_DIR$/src/main/java/GameofLife.java" />
125
+        <option value="$PROJECT_DIR$/src/main/java/SimpleWindow.java" />
126
+        <option value="$PROJECT_DIR$/src/main/java/ConwayGameOfLife.java" />
127
+        <option value="$PROJECT_DIR$/src/main/java/Life.java" />
128
+        <option value="$PROJECT_DIR$/src/test/java/com/zipcodeconway/ConwayGameOfLifeTest.java" />
129
+        <option value="$PROJECT_DIR$/src/main/java/com/zipcodeconway/SimpleWindow.java" />
130
+        <option value="$PROJECT_DIR$/src/main/java/com/zipcodeconway/README.md" />
131
+        <option value="$PROJECT_DIR$/src/main/java/com/zipcodeconway/ConwayGameOfLife.java" />
132
+      </list>
133
+    </option>
134
+  </component>
135
+  <component name="JsBuildToolGruntFileManager" detection-done="true" sorting="DEFINITION_ORDER" />
136
+  <component name="JsBuildToolPackageJson" detection-done="true" sorting="DEFINITION_ORDER" />
137
+  <component name="JsGulpfileManager">
138
+    <detection-done>true</detection-done>
139
+    <sorting>DEFINITION_ORDER</sorting>
140
+  </component>
141
+  <component name="ProjectFrameBounds">
142
+    <option name="x" value="82" />
143
+    <option name="y" value="32" />
144
+    <option name="width" value="1440" />
145
+    <option name="height" value="821" />
146
+  </component>
147
+  <component name="ProjectView">
148
+    <navigator currentView="ProjectPane" proportions="" version="1">
149
+      <flattenPackages />
150
+      <showMembers />
151
+      <showModules />
152
+      <showLibraryContents />
153
+      <hideEmptyPackages />
154
+      <abbreviatePackageNames />
155
+      <autoscrollToSource />
156
+      <autoscrollFromSource />
157
+      <sortByType />
158
+      <manualOrder />
159
+      <foldersAlwaysOnTop value="true" />
160
+    </navigator>
161
+    <panes>
162
+      <pane id="ProjectPane">
163
+        <subPane>
164
+          <expand>
165
+            <path>
166
+              <item name="Game-Of-Life-Java" type="b2602c69:ProjectViewProjectNode" />
167
+              <item name="Game-Of-Life-Java" type="462c0819:PsiDirectoryNode" />
168
+            </path>
169
+            <path>
170
+              <item name="Game-Of-Life-Java" type="b2602c69:ProjectViewProjectNode" />
171
+              <item name="Game-Of-Life-Java" type="462c0819:PsiDirectoryNode" />
172
+              <item name="src" type="462c0819:PsiDirectoryNode" />
173
+            </path>
174
+            <path>
175
+              <item name="Game-Of-Life-Java" type="b2602c69:ProjectViewProjectNode" />
176
+              <item name="Game-Of-Life-Java" type="462c0819:PsiDirectoryNode" />
177
+              <item name="src" type="462c0819:PsiDirectoryNode" />
178
+              <item name="main" type="462c0819:PsiDirectoryNode" />
179
+            </path>
180
+            <path>
181
+              <item name="Game-Of-Life-Java" type="b2602c69:ProjectViewProjectNode" />
182
+              <item name="Game-Of-Life-Java" type="462c0819:PsiDirectoryNode" />
183
+              <item name="src" type="462c0819:PsiDirectoryNode" />
184
+              <item name="main" type="462c0819:PsiDirectoryNode" />
185
+              <item name="java" type="462c0819:PsiDirectoryNode" />
186
+            </path>
187
+            <path>
188
+              <item name="Game-Of-Life-Java" type="b2602c69:ProjectViewProjectNode" />
189
+              <item name="Game-Of-Life-Java" type="462c0819:PsiDirectoryNode" />
190
+              <item name="src" type="462c0819:PsiDirectoryNode" />
191
+              <item name="main" type="462c0819:PsiDirectoryNode" />
192
+              <item name="java" type="462c0819:PsiDirectoryNode" />
193
+              <item name="zipcodeconway" type="462c0819:PsiDirectoryNode" />
194
+            </path>
195
+            <path>
196
+              <item name="Game-Of-Life-Java" type="b2602c69:ProjectViewProjectNode" />
197
+              <item name="Game-Of-Life-Java" type="462c0819:PsiDirectoryNode" />
198
+              <item name="src" type="462c0819:PsiDirectoryNode" />
199
+              <item name="test" type="462c0819:PsiDirectoryNode" />
200
+            </path>
201
+            <path>
202
+              <item name="Game-Of-Life-Java" type="b2602c69:ProjectViewProjectNode" />
203
+              <item name="Game-Of-Life-Java" type="462c0819:PsiDirectoryNode" />
204
+              <item name="src" type="462c0819:PsiDirectoryNode" />
205
+              <item name="test" type="462c0819:PsiDirectoryNode" />
206
+              <item name="java" type="462c0819:PsiDirectoryNode" />
207
+            </path>
208
+            <path>
209
+              <item name="Game-Of-Life-Java" type="b2602c69:ProjectViewProjectNode" />
210
+              <item name="Game-Of-Life-Java" type="462c0819:PsiDirectoryNode" />
211
+              <item name="src" type="462c0819:PsiDirectoryNode" />
212
+              <item name="test" type="462c0819:PsiDirectoryNode" />
213
+              <item name="java" type="462c0819:PsiDirectoryNode" />
214
+              <item name="zipcodeconway" type="462c0819:PsiDirectoryNode" />
215
+            </path>
216
+          </expand>
217
+          <select />
218
+        </subPane>
219
+      </pane>
220
+      <pane id="PackagesPane" />
221
+      <pane id="AndroidView" />
222
+      <pane id="Scratches" />
223
+      <pane id="Scope" />
224
+    </panes>
225
+  </component>
226
+  <component name="PropertiesComponent">
227
+    <property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
228
+    <property name="WebServerToolWindowFactoryState" value="false" />
229
+    <property name="aspect.path.notification.shown" value="true" />
230
+    <property name="last_opened_file_path" value="$PROJECT_DIR$" />
231
+    <property name="settings.editor.selected.configurable" value="preferences.lookFeel" />
232
+    <property name="project.structure.last.edited" value="Modules" />
233
+    <property name="project.structure.proportion" value="0.15" />
234
+    <property name="project.structure.side.proportion" value="0.2" />
235
+    <property name="com.intellij.testIntegration.createTest.CreateTestDialog.defaultLibrary" value="JUnit4" />
236
+  </component>
237
+  <component name="RecentsManager">
238
+    <key name="CreateTestDialog.RecentsKey">
239
+      <recent name="com.zipcodeconway" />
240
+    </key>
241
+    <key name="CopyFile.RECENT_KEYS">
242
+      <recent name="$PROJECT_DIR$" />
243
+    </key>
244
+    <key name="CreateTestDialog.Recents.Supers">
245
+      <recent name="" />
246
+    </key>
247
+    <key name="MoveFile.RECENT_KEYS">
248
+      <recent name="$PROJECT_DIR$/src/main/java" />
249
+    </key>
250
+  </component>
251
+  <component name="RunDashboard">
252
+    <option name="ruleStates">
253
+      <list>
254
+        <RuleState>
255
+          <option name="name" value="ConfigurationTypeDashboardGroupingRule" />
256
+        </RuleState>
257
+        <RuleState>
258
+          <option name="name" value="StatusDashboardGroupingRule" />
259
+        </RuleState>
260
+      </list>
261
+    </option>
262
+  </component>
263
+  <component name="RunManager" selected="JUnit.ConwayGameOfLifeTest">
264
+    <configuration default="true" type="Applet" factoryName="Applet">
265
+      <option name="HTML_USED" value="false" />
266
+      <option name="WIDTH" value="400" />
267
+      <option name="HEIGHT" value="300" />
268
+      <option name="POLICY_FILE" value="$APPLICATION_HOME_DIR$/bin/appletviewer.policy" />
269
+      <module />
270
+    </configuration>
271
+    <configuration name="ConwayGameOfLife" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
272
+      <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea">
273
+        <pattern>
274
+          <option name="PATTERN" value="com.zipcodeconway.*" />
275
+          <option name="ENABLED" value="true" />
276
+        </pattern>
277
+      </extension>
278
+      <option name="MAIN_CLASS_NAME" value="com.zipcodeconway.ConwayGameOfLife" />
279
+      <option name="VM_PARAMETERS" />
280
+      <option name="PROGRAM_PARAMETERS" />
281
+      <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
282
+      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
283
+      <option name="ALTERNATIVE_JRE_PATH" />
284
+      <option name="ENABLE_SWING_INSPECTOR" value="false" />
285
+      <option name="ENV_VARIABLES" />
286
+      <option name="PASS_PARENT_ENVS" value="true" />
287
+      <module name="Game-Of-Life-Java" />
288
+      <envs />
289
+    </configuration>
290
+    <configuration name="GameofLife" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
291
+      <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
292
+      <option name="MAIN_CLASS_NAME" value="GameofLife" />
293
+      <option name="VM_PARAMETERS" />
294
+      <option name="PROGRAM_PARAMETERS" />
295
+      <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
296
+      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
297
+      <option name="ALTERNATIVE_JRE_PATH" />
298
+      <option name="ENABLE_SWING_INSPECTOR" value="false" />
299
+      <option name="ENV_VARIABLES" />
300
+      <option name="PASS_PARENT_ENVS" value="true" />
301
+      <module name="Game-Of-Life-Java" />
302
+      <envs />
303
+    </configuration>
304
+    <configuration default="true" type="Application" factoryName="Application">
305
+      <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
306
+      <option name="MAIN_CLASS_NAME" />
307
+      <option name="VM_PARAMETERS" />
308
+      <option name="PROGRAM_PARAMETERS" />
309
+      <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
310
+      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
311
+      <option name="ALTERNATIVE_JRE_PATH" />
312
+      <option name="ENABLE_SWING_INSPECTOR" value="false" />
313
+      <option name="ENV_VARIABLES" />
314
+      <option name="PASS_PARENT_ENVS" value="true" />
315
+      <module name="" />
316
+      <envs />
317
+    </configuration>
318
+    <configuration name="ConwayGameOfLifeTest" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
319
+      <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea">
320
+        <pattern>
321
+          <option name="PATTERN" value="com.zipcodeconway.*" />
322
+          <option name="ENABLED" value="true" />
323
+        </pattern>
324
+      </extension>
325
+      <module name="Game-Of-Life-Java" />
326
+      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
327
+      <option name="ALTERNATIVE_JRE_PATH" />
328
+      <option name="PACKAGE_NAME" value="com.zipcodeconway" />
329
+      <option name="MAIN_CLASS_NAME" value="com.zipcodeconway.ConwayGameOfLifeTest" />
330
+      <option name="METHOD_NAME" />
331
+      <option name="TEST_OBJECT" value="class" />
332
+      <option name="VM_PARAMETERS" value="-ea" />
333
+      <option name="PARAMETERS" />
334
+      <option name="WORKING_DIRECTORY" value="%MODULE_WORKING_DIR%" />
335
+      <option name="ENV_VARIABLES" />
336
+      <option name="PASS_PARENT_ENVS" value="true" />
337
+      <option name="TEST_SEARCH_SCOPE">
338
+        <value defaultName="singleModule" />
339
+      </option>
340
+      <envs />
341
+      <patterns />
342
+    </configuration>
343
+    <configuration name="ConwayGameOfLifeTest.runTest" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
344
+      <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea">
345
+        <pattern>
346
+          <option name="PATTERN" value="com.zipcodeconway.*" />
347
+          <option name="ENABLED" value="true" />
348
+        </pattern>
349
+      </extension>
350
+      <module name="Game-Of-Life-Java" />
351
+      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
352
+      <option name="ALTERNATIVE_JRE_PATH" />
353
+      <option name="PACKAGE_NAME" value="com.zipcodeconway" />
354
+      <option name="MAIN_CLASS_NAME" value="com.zipcodeconway.ConwayGameOfLifeTest" />
355
+      <option name="METHOD_NAME" value="runTest" />
356
+      <option name="TEST_OBJECT" value="method" />
357
+      <option name="VM_PARAMETERS" value="-ea" />
358
+      <option name="PARAMETERS" />
359
+      <option name="WORKING_DIRECTORY" value="%MODULE_WORKING_DIR%" />
360
+      <option name="ENV_VARIABLES" />
361
+      <option name="PASS_PARENT_ENVS" value="true" />
362
+      <option name="TEST_SEARCH_SCOPE">
363
+        <value defaultName="singleModule" />
364
+      </option>
365
+      <envs />
366
+      <patterns />
367
+    </configuration>
368
+    <configuration name="ConwayGameOfLifeTest.runTest2" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
369
+      <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea">
370
+        <pattern>
371
+          <option name="PATTERN" value="com.zipcodeconway.*" />
372
+          <option name="ENABLED" value="true" />
373
+        </pattern>
374
+      </extension>
375
+      <module name="Game-Of-Life-Java" />
376
+      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
377
+      <option name="ALTERNATIVE_JRE_PATH" />
378
+      <option name="PACKAGE_NAME" value="com.zipcodeconway" />
379
+      <option name="MAIN_CLASS_NAME" value="com.zipcodeconway.ConwayGameOfLifeTest" />
380
+      <option name="METHOD_NAME" value="runTest2" />
381
+      <option name="TEST_OBJECT" value="method" />
382
+      <option name="VM_PARAMETERS" value="-ea" />
383
+      <option name="PARAMETERS" />
384
+      <option name="WORKING_DIRECTORY" value="%MODULE_WORKING_DIR%" />
385
+      <option name="ENV_VARIABLES" />
386
+      <option name="PASS_PARENT_ENVS" value="true" />
387
+      <option name="TEST_SEARCH_SCOPE">
388
+        <value defaultName="singleModule" />
389
+      </option>
390
+      <envs />
391
+      <patterns />
392
+    </configuration>
393
+    <configuration default="true" type="JUnit" factoryName="JUnit">
394
+      <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
395
+      <module name="" />
396
+      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
397
+      <option name="ALTERNATIVE_JRE_PATH" />
398
+      <option name="PACKAGE_NAME" />
399
+      <option name="MAIN_CLASS_NAME" />
400
+      <option name="METHOD_NAME" />
401
+      <option name="TEST_OBJECT" value="class" />
402
+      <option name="VM_PARAMETERS" value="-ea" />
403
+      <option name="PARAMETERS" />
404
+      <option name="WORKING_DIRECTORY" value="%MODULE_WORKING_DIR%" />
405
+      <option name="ENV_VARIABLES" />
406
+      <option name="PASS_PARENT_ENVS" value="true" />
407
+      <option name="TEST_SEARCH_SCOPE">
408
+        <value defaultName="singleModule" />
409
+      </option>
410
+      <envs />
411
+      <patterns />
412
+    </configuration>
413
+    <configuration name="ConwayLife" type="MavenRunConfiguration" factoryName="Maven">
414
+      <MavenSettings>
415
+        <option name="myGeneralSettings" />
416
+        <option name="myRunnerSettings" />
417
+        <option name="myRunnerParameters">
418
+          <MavenRunnerParameters>
419
+            <option name="profiles">
420
+              <set />
421
+            </option>
422
+            <option name="goals">
423
+              <list />
424
+            </option>
425
+            <option name="profilesMap">
426
+              <map />
427
+            </option>
428
+            <option name="resolveToWorkspace" value="false" />
429
+            <option name="workingDirPath" value="$PROJECT_DIR$" />
430
+          </MavenRunnerParameters>
431
+        </option>
432
+      </MavenSettings>
433
+    </configuration>
434
+    <configuration default="true" type="Remote" factoryName="Remote">
435
+      <option name="USE_SOCKET_TRANSPORT" value="true" />
436
+      <option name="SERVER_MODE" value="false" />
437
+      <option name="SHMEM_ADDRESS" value="javadebug" />
438
+      <option name="HOST" value="localhost" />
439
+      <option name="PORT" value="5005" />
440
+    </configuration>
441
+    <configuration default="true" type="TestNG" factoryName="TestNG">
442
+      <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
443
+      <module name="" />
444
+      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
445
+      <option name="ALTERNATIVE_JRE_PATH" />
446
+      <option name="SUITE_NAME" />
447
+      <option name="PACKAGE_NAME" />
448
+      <option name="MAIN_CLASS_NAME" />
449
+      <option name="METHOD_NAME" />
450
+      <option name="GROUP_NAME" />
451
+      <option name="TEST_OBJECT" value="CLASS" />
452
+      <option name="VM_PARAMETERS" value="-ea" />
453
+      <option name="PARAMETERS" />
454
+      <option name="WORKING_DIRECTORY" value="%MODULE_WORKING_DIR%" />
455
+      <option name="OUTPUT_DIRECTORY" />
456
+      <option name="ANNOTATION_TYPE" />
457
+      <option name="ENV_VARIABLES" />
458
+      <option name="PASS_PARENT_ENVS" value="true" />
459
+      <option name="TEST_SEARCH_SCOPE">
460
+        <value defaultName="singleModule" />
461
+      </option>
462
+      <option name="USE_DEFAULT_REPORTERS" value="false" />
463
+      <option name="PROPERTIES_FILE" />
464
+      <envs />
465
+      <properties />
466
+      <listeners />
467
+    </configuration>
468
+    <configuration default="true" type="#org.jetbrains.idea.devkit.run.PluginConfigurationType" factoryName="Plugin">
469
+      <module name="" />
470
+      <option name="VM_PARAMETERS" value="-Xmx512m -Xms256m -XX:MaxPermSize=250m -ea" />
471
+      <option name="PROGRAM_PARAMETERS" />
472
+      <predefined_log_file id="idea.log" enabled="true" />
473
+    </configuration>
474
+    <list size="6">
475
+      <item index="0" class="java.lang.String" itemvalue="Maven.ConwayLife" />
476
+      <item index="1" class="java.lang.String" itemvalue="Application.GameofLife" />
477
+      <item index="2" class="java.lang.String" itemvalue="Application.ConwayGameOfLife" />
478
+      <item index="3" class="java.lang.String" itemvalue="JUnit.ConwayGameOfLifeTest.runTest" />
479
+      <item index="4" class="java.lang.String" itemvalue="JUnit.ConwayGameOfLifeTest.runTest2" />
480
+      <item index="5" class="java.lang.String" itemvalue="JUnit.ConwayGameOfLifeTest" />
481
+    </list>
482
+    <recent_temporary>
483
+      <list size="5">
484
+        <item index="0" class="java.lang.String" itemvalue="JUnit.ConwayGameOfLifeTest" />
485
+        <item index="1" class="java.lang.String" itemvalue="Application.ConwayGameOfLife" />
486
+        <item index="2" class="java.lang.String" itemvalue="JUnit.ConwayGameOfLifeTest.runTest2" />
487
+        <item index="3" class="java.lang.String" itemvalue="JUnit.ConwayGameOfLifeTest.runTest" />
488
+        <item index="4" class="java.lang.String" itemvalue="Application.GameofLife" />
489
+      </list>
490
+    </recent_temporary>
491
+  </component>
492
+  <component name="ShelveChangesManager" show_recycled="false">
493
+    <option name="remove_strategy" value="false" />
494
+  </component>
495
+  <component name="SvnConfiguration">
496
+    <configuration />
497
+  </component>
498
+  <component name="TaskManager">
499
+    <task active="true" id="Default" summary="Default task">
500
+      <changelist id="e282cee1-bfe9-42a3-9794-9633eb4654d1" name="Default" comment="" />
501
+      <created>1519668901598</created>
502
+      <option name="number" value="Default" />
503
+      <option name="presentableId" value="Default" />
504
+      <updated>1519668901598</updated>
505
+      <workItem from="1519668902904" duration="14517000" />
506
+    </task>
507
+    <servers />
508
+  </component>
509
+  <component name="TestHistory">
510
+    <history-entry file="ConwayGameOfLifeTest - 2018.02.26 at 15h 45m 01s.xml">
511
+      <configuration name="ConwayGameOfLifeTest" configurationId="JUnit" />
512
+    </history-entry>
513
+    <history-entry file="ConwayGameOfLifeTest - 2018.02.26 at 15h 59m 00s.xml">
514
+      <configuration name="ConwayGameOfLifeTest" configurationId="JUnit" />
515
+    </history-entry>
516
+    <history-entry file="ConwayGameOfLifeTest - 2018.02.26 at 16h 02m 03s.xml">
517
+      <configuration name="ConwayGameOfLifeTest" configurationId="JUnit" />
518
+    </history-entry>
519
+    <history-entry file="ConwayGameOfLifeTest - 2018.02.26 at 16h 03m 01s.xml">
520
+      <configuration name="ConwayGameOfLifeTest" configurationId="JUnit" />
521
+    </history-entry>
522
+    <history-entry file="ConwayGameOfLifeTest - 2018.02.26 at 16h 05m 07s.xml">
523
+      <configuration name="ConwayGameOfLifeTest" configurationId="JUnit" />
524
+    </history-entry>
525
+    <history-entry file="ConwayGameOfLifeTest - 2018.02.26 at 16h 06m 11s.xml">
526
+      <configuration name="ConwayGameOfLifeTest" configurationId="JUnit" />
527
+    </history-entry>
528
+    <history-entry file="ConwayGameOfLifeTest_runTest - 2018.02.26 at 15h 41m 14s.xml">
529
+      <configuration name="ConwayGameOfLifeTest.runTest" configurationId="JUnit" />
530
+    </history-entry>
531
+    <history-entry file="ConwayGameOfLifeTest_runTest2 - 2018.02.26 at 15h 42m 02s.xml">
532
+      <configuration name="ConwayGameOfLifeTest.runTest2" configurationId="JUnit" />
533
+    </history-entry>
534
+    <history-entry file="ConwayGameOfLifeTest_runTest2 - 2018.02.26 at 15h 42m 18s.xml">
535
+      <configuration name="ConwayGameOfLifeTest.runTest2" configurationId="JUnit" />
536
+    </history-entry>
537
+  </component>
538
+  <component name="TimeTrackingManager">
539
+    <option name="totallyTimeSpent" value="14517000" />
540
+  </component>
541
+  <component name="ToolWindowManager">
542
+    <frame x="82" y="32" width="1440" height="821" extended-state="0" />
543
+    <editor active="true" />
544
+    <layout>
545
+      <window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
546
+      <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
547
+      <window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.32833788" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
548
+      <window_info id="Palette&#9;" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
549
+      <window_info id="Image Layers" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
550
+      <window_info id="Capture Analysis" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
551
+      <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="true" content_ui="tabs" />
552
+      <window_info id="Maven Projects" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
553
+      <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32561308" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
554
+      <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
555
+      <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32970026" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
556
+      <window_info id="Capture Tool" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
557
+      <window_info id="Designer" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
558
+      <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
559
+      <window_info id="Database" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
560
+      <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
561
+      <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
562
+      <window_info id="UI Designer" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
563
+      <window_info id="Theme Preview" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
564
+      <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
565
+      <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="-1" side_tool="true" content_ui="tabs" />
566
+      <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
567
+      <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
568
+      <window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
569
+      <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
570
+      <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
571
+      <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
572
+    </layout>
573
+  </component>
574
+  <component name="TypeScriptGeneratedFilesManager">
575
+    <option name="version" value="1" />
576
+  </component>
577
+  <component name="VcsContentAnnotationSettings">
578
+    <option name="myLimit" value="2678400000" />
579
+  </component>
580
+  <component name="XDebuggerManager">
581
+    <breakpoint-manager>
582
+      <option name="time" value="2" />
583
+    </breakpoint-manager>
584
+    <watches-manager />
585
+  </component>
586
+  <component name="editorHistoryManager">
587
+    <entry file="file://$PROJECT_DIR$/pom.xml">
588
+      <provider selected="true" editor-type-id="text-editor">
589
+        <state relative-caret-position="187">
590
+          <caret line="11" column="10" lean-forward="false" selection-start-line="11" selection-start-column="10" selection-end-line="11" selection-end-column="10" />
591
+          <folding />
592
+        </state>
593
+      </provider>
594
+    </entry>
595
+    <entry file="file://$PROJECT_DIR$/src/main/java/LifeStarts.java">
596
+      <provider selected="true" editor-type-id="text-editor">
597
+        <state relative-caret-position="272">
598
+          <caret line="16" column="5" lean-forward="false" selection-start-line="7" selection-start-column="0" selection-end-line="16" selection-end-column="5" />
599
+          <folding />
600
+        </state>
601
+      </provider>
602
+    </entry>
603
+    <entry file="file://$PROJECT_DIR$/src/main/java/Life.java">
604
+      <provider selected="true" editor-type-id="text-editor">
605
+        <state relative-caret-position="669">
606
+          <caret line="87" column="5" lean-forward="true" selection-start-line="47" selection-start-column="0" selection-end-line="87" selection-end-column="5" />
607
+          <folding />
608
+        </state>
609
+      </provider>
610
+    </entry>
611
+    <entry file="uml://JAVA/com.zipcodeconway.ConwayGameOfLife">
612
+      <provider selected="true" editor-type-id="UmlEditorProvider">
613
+        <state>
614
+          <ID>JAVA</ID>
615
+          <OriginalElement>com.zipcodeconway.ConwayGameOfLife</OriginalElement>
616
+          <nodes>
617
+            <node x="-54.0" y="-179.0">com.zipcodeconway.ConwayGameOfLife</node>
618
+          </nodes>
619
+          <notes />
620
+          <edges />
621
+          <settings layout="Hierarchic Group" zoom="1.0" x="-203.0" y="-1.0" />
622
+          <SelectedNodes />
623
+          <Categories>
624
+            <Category>Constructors</Category>
625
+            <Category>Methods</Category>
626
+          </Categories>
627
+          <SCOPE>All</SCOPE>
628
+          <VISIBILITY>private</VISIBILITY>
629
+        </state>
630
+      </provider>
631
+    </entry>
632
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodeconway/README.md">
633
+      <provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
634
+        <state split_layout="SPLIT">
635
+          <first_editor relative-caret-position="236">
636
+            <caret line="52" column="194" lean-forward="false" selection-start-line="52" selection-start-column="194" selection-end-line="52" selection-end-column="194" />
637
+            <folding />
638
+          </first_editor>
639
+          <second_editor />
640
+        </state>
641
+      </provider>
642
+    </entry>
643
+    <entry file="file://$USER_HOME$/Downloads/ConwayLifeRandomat50.png">
644
+      <provider selected="true" editor-type-id="images">
645
+        <state />
646
+      </provider>
647
+    </entry>
648
+    <entry file="file://$USER_HOME$/Documents/gitea/gitea/custom/public/img/ConwayLifeUML.png">
649
+      <provider selected="true" editor-type-id="images">
650
+        <state />
651
+      </provider>
652
+    </entry>
653
+    <entry file="file://$PROJECT_DIR$/src/main/java/GameofLife.java">
654
+      <provider selected="true" editor-type-id="text-editor">
655
+        <state relative-caret-position="334">
656
+          <caret line="83" column="17" lean-forward="false" selection-start-line="82" selection-start-column="30" selection-end-line="83" selection-end-column="17" />
657
+          <folding />
658
+        </state>
659
+      </provider>
660
+    </entry>
661
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodeconway/SimpleWindow.java">
662
+      <provider selected="true" editor-type-id="text-editor">
663
+        <state relative-caret-position="289">
664
+          <caret line="17" column="42" lean-forward="false" selection-start-line="17" selection-start-column="42" selection-end-line="17" selection-end-column="42" />
665
+          <folding>
666
+            <element signature="imports" expanded="true" />
667
+          </folding>
668
+        </state>
669
+      </provider>
670
+    </entry>
671
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodeconway/ConwayGameOfLife.java">
672
+      <provider selected="true" editor-type-id="text-editor">
673
+        <state relative-caret-position="164">
674
+          <caret line="20" column="0" lean-forward="false" selection-start-line="20" selection-start-column="0" selection-end-line="20" selection-end-column="0" />
675
+          <folding>
676
+            <element signature="e#585#586#0" expanded="true" />
677
+            <element signature="e#676#677#0" expanded="true" />
678
+            <element signature="e#712#713#0" expanded="true" />
679
+            <element signature="e#1429#1430#0" expanded="true" />
680
+            <element signature="e#1453#1454#0" expanded="true" />
681
+          </folding>
682
+        </state>
683
+      </provider>
684
+    </entry>
685
+    <entry file="file://$PROJECT_DIR$/src/test/java/com/zipcodeconway/ConwayGameOfLifeTest.java">
686
+      <provider selected="true" editor-type-id="text-editor">
687
+        <state relative-caret-position="510">
688
+          <caret line="32" column="32" lean-forward="false" selection-start-line="32" selection-start-column="32" selection-end-line="32" selection-end-column="32" />
689
+          <folding />
690
+        </state>
691
+      </provider>
692
+    </entry>
693
+  </component>
694
+  <component name="masterDetails">
695
+    <states>
696
+      <state key="ArtifactsStructureConfigurable.UI">
697
+        <settings>
698
+          <artifact-editor />
699
+          <splitter-proportions>
700
+            <option name="proportions">
701
+              <list>
702
+                <option value="0.2" />
703
+              </list>
704
+            </option>
705
+          </splitter-proportions>
706
+        </settings>
707
+      </state>
708
+      <state key="FacetStructureConfigurable.UI">
709
+        <settings>
710
+          <last-edited>No facets are configured</last-edited>
711
+          <splitter-proportions>
712
+            <option name="proportions">
713
+              <list>
714
+                <option value="0.2" />
715
+              </list>
716
+            </option>
717
+          </splitter-proportions>
718
+        </settings>
719
+      </state>
720
+      <state key="GlobalLibrariesConfigurable.UI">
721
+        <settings>
722
+          <splitter-proportions>
723
+            <option name="proportions">
724
+              <list>
725
+                <option value="0.2" />
726
+              </list>
727
+            </option>
728
+          </splitter-proportions>
729
+        </settings>
730
+      </state>
731
+      <state key="JdkListConfigurable.UI">
732
+        <settings>
733
+          <last-edited>1.8</last-edited>
734
+          <splitter-proportions>
735
+            <option name="proportions">
736
+              <list>
737
+                <option value="0.2" />
738
+              </list>
739
+            </option>
740
+          </splitter-proportions>
741
+        </settings>
742
+      </state>
743
+      <state key="ModuleStructureConfigurable.UI">
744
+        <settings>
745
+          <last-edited>Game-Of-Life-Java</last-edited>
746
+          <splitter-proportions>
747
+            <option name="proportions">
748
+              <list>
749
+                <option value="0.2" />
750
+                <option value="0.6" />
751
+              </list>
752
+            </option>
753
+          </splitter-proportions>
754
+        </settings>
755
+      </state>
756
+      <state key="ProjectJDKs.UI">
757
+        <settings>
758
+          <last-edited>1.8</last-edited>
759
+          <splitter-proportions>
760
+            <option name="proportions">
761
+              <list>
762
+                <option value="0.2" />
763
+              </list>
764
+            </option>
765
+          </splitter-proportions>
766
+        </settings>
767
+      </state>
768
+      <state key="ProjectLibrariesConfigurable.UI">
769
+        <settings>
770
+          <splitter-proportions>
771
+            <option name="proportions">
772
+              <list>
773
+                <option value="0.2" />
774
+              </list>
775
+            </option>
776
+          </splitter-proportions>
777
+        </settings>
778
+      </state>
779
+    </states>
780
+  </component>
781
+</project>

BIN
ConwayLifeRandomat50.png Vedi File


BIN
ConwayLifeUML.png Vedi File


+ 22
- 0
LICENSE Vedi File

@@ -0,0 +1,22 @@
1
+The MIT License (MIT)
2
+
3
+Copyright (c) 2015 Tom Blackmore
4
+
5
+Permission is hereby granted, free of charge, to any person obtaining a copy
6
+of this software and associated documentation files (the "Software"), to deal
7
+in the Software without restriction, including without limitation the rights
8
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+copies of the Software, and to permit persons to whom the Software is
10
+furnished to do so, subject to the following conditions:
11
+
12
+The above copyright notice and this permission notice shall be included in all
13
+copies or substantial portions of the Software.
14
+
15
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+SOFTWARE.
22
+

+ 2
- 0
README.md Vedi File

@@ -0,0 +1,2 @@
1
+# Game-Of-Life-Java
2
+A very simple console implementation of Conway's "game of life" on a fixed size matrix.

+ 19
- 0
pom.xml Vedi File

@@ -0,0 +1,19 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<project xmlns="http://maven.apache.org/POM/4.0.0"
3
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
5
+    <modelVersion>4.0.0</modelVersion>
6
+
7
+    <groupId>groupId</groupId>
8
+    <artifactId>Game-Of-Life-Java</artifactId>
9
+    <version>1.0-SNAPSHOT</version>
10
+    <dependencies>
11
+        <dependency>
12
+            <groupId>junit</groupId>
13
+            <artifactId>junit</artifactId>
14
+            <version>RELEASE</version>
15
+        </dependency>
16
+    </dependencies>
17
+
18
+
19
+</project>

+ 43
- 0
src/main/java/com/zipcodeconway/ConwayGameOfLife.java Vedi File

@@ -0,0 +1,43 @@
1
+package com.zipcodeconway;
2
+
3
+public class ConwayGameOfLife {
4
+
5
+    public ConwayGameOfLife(Integer dimension) {
6
+     }
7
+
8
+    public ConwayGameOfLife(Integer dimension, int[][] startmatrix) {
9
+    }
10
+
11
+    public static void main(String[] args) {
12
+        ConwayGameOfLife sim = new ConwayGameOfLife(50);
13
+        int[][] endingWorld = sim.simulate(50);
14
+    }
15
+
16
+    // Contains the logic for the starting scenario.
17
+    // Which cells are alive or dead in generation 0.
18
+    // allocates and returns the starting matrix of size 'dimension'
19
+    private int[][] createRandomStart(Integer dimension) {
20
+        return new int[1][1];
21
+    }
22
+
23
+    public int[][] simulate(Integer maxGenerations) {
24
+        return new int[1][1];
25
+    }
26
+
27
+    // copy the values of 'next' matrix to 'current' matrix,
28
+    // and then zero out the contents of 'next' matrix
29
+    public void copyAndZeroOut(int [][] next, int[][] current) {
30
+    }
31
+
32
+    // Calculate if an individual cell should be alive in the next generation.
33
+    // Based on the game logic:
34
+	/*
35
+		Any live cell with fewer than two live neighbours dies, as if by needs caused by underpopulation.
36
+		Any live cell with more than three live neighbours dies, as if by overcrowding.
37
+		Any live cell with two or three live neighbours lives, unchanged, to the next generation.
38
+		Any dead cell with exactly three live neighbours cells will come to life.
39
+	*/
40
+    private int isAlive(int row, int col, int[][] world) {
41
+        return 0;
42
+    }
43
+}

+ 79
- 0
src/main/java/com/zipcodeconway/README.md Vedi File

@@ -0,0 +1,79 @@
1
+# Conway's Game of Life
2
+
3
+The Game of Life, also known simply as Life, is a cellular automaton devised by the British mathematician John Horton Conway in 1970.
4
+
5
+The "game" is a zero-player game, 
6
+meaning that its evolution is determined by 
7
+its initial state, requiring no further input. 
8
+One interacts with the Game of Life by creating an initial configuration and observing how it evolves, or, for advanced "players", by creating patterns with particular properties.
9
+
10
+### Rules
11
+
12
+The universe of the [Game Of Life ](https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life) is an infinite two-dimensional matrix grid of square cells, each of which is in one of two possible states, alive or dead, or "populated" or "unpopulated". Every cell interacts with its eight neighbours, which are the cells that are horizontally, vertically, or diagonally adjacent. At each step in time, the following transitions occur:
13
+
14
+* Any live cell with fewer than two live neighbours dies, as if caused by underpopulation.
15
+* Any live cell with two or three live neighbours lives on to the next generation.
16
+* Any live cell with more than three live neighbours dies, as if by overpopulation.
17
+* Any dead cell with exactly three live neighbours becomes a live cell, as if by reproduction.
18
+
19
+The initial pattern constitutes the seed of the system. The first generation is created by applying the above rules simultaneously to every cell in the seed—births and deaths occur simultaneously, and the discrete moment at which this happens is sometimes called a tick (in other words, each generation is a pure function of the preceding one). The rules continue to be applied repeatedly to create further generations.
20
+
21
+You run each generation, decide what cells will be alive in the next generation, make the next generation the current generation and then repeat for some number of times.
22
+
23
+### a Cool Website to explore
24
+
25
+[http://web.stanford.edu/~cdebs/GameOfLife/](Stanford - Conway's Game of Life) is a terrific site, which has a simulator
26
+on it where you can draw and see what happens.
27
+
28
+## The Lab
29
+
30
+This lab has three parts. 
31
+
32
+The first is to create a single window of a set size where a random game can start and run for some number of generations. 
33
+
34
+The second is to prove your game engine works correctly by correctly running the two very simple tests.
35
+
36
+The third is to do a screen grab of a Size 50 matrix, randomly started, and showing the graphic results after 50 generations.
37
+
38
+You'll use a 2D matrix of ints. So "int[][]" is the basic type. When you set the dimension, as referenced in the UML,
39
+you will then set the arrays to `int[50][50]` if dimension is set to 50.
40
+
41
+You'll create two constructors and a few methods to help you break the problem up.
42
+
43
+`isAlive(int, int, int[][])` is the heart of the ConwayGameOfLife class.
44
+
45
+you call it to determine if the cell at i,j will be alive in the next generation, If the cell and its immediate neighbors
46
+fulfill the rules above, the cell lives (1), if not it does (0). when you are at the end of the matrix, reach back around to the "other side" to get the adjacent cell. This essentially makes the top edge meet with the bottom edge, and left edge meet with the right edge.
47
+
48
+`simulate(numberOfGenerations)` returns the final state of the matrix after simulating numberOfGenerations. 
49
+
50
+To determine each generation, you should do a nested FOR loop through the currentGeneration matrix, taking the values from the currentGeneration, and deciding on the live/die for that cell in the nextGeneration matrix. 
51
+
52
+at the end of each generation, you should `copyAndZeroOut(nextGeneration, currentGeneration)`, this routine should
53
+copy each i,j value from nextGeneration to the same i,j in currentGeneration. Then it should put a 0 into i,j or nextGeneration. Then you loop and do it again until generations > maxGenerations.
54
+
55
+In each of your Constructors, the first thing you should do is create an instance variable displayWindow from the provided
56
+SimpleWindow class. 
57
+
58
+```aidl
59
+ this.displayWindow = new SimpleWindow(dimension);
60
+```
61
+
62
+at the top of your main generations loop, you shoud display the currentGeneration matrix:
63
+```aidl
64
+ this.displayWindow.display(currentGeneration, generations);
65
+```
66
+
67
+at the botom of the loop, you should call the window's `sleep` method to delay for 125 milliseconds
68
+```aidl
69
+ this.displayWindow.sleep(125);
70
+```
71
+
72
+Finally, you should create a `private int[][] createRandomStart(Integer dimension)` method
73
+that creates a int[][] array and loops through it puting in randoom 1 or 0 values for each cell in the 
74
+array. This can be used to "seed" the simulation in the `ConwayGameOfLife(Integer dimension)` constructor.
75
+
76
+The testing constructor `ConwayGameOfLife(Integer dimension, int[][] startmatrix)` takes the dimension and the
77
+test starting array.
78
+
79
+

+ 53
- 0
src/main/java/com/zipcodeconway/SimpleWindow.java Vedi File

@@ -0,0 +1,53 @@
1
+package com.zipcodeconway;
2
+
3
+import javax.swing.*;
4
+import java.awt.*;
5
+
6
+public class SimpleWindow {
7
+    static JPanel panel;
8
+    static JFrame frame;
9
+    private Integer dim = 0;
10
+
11
+    public SimpleWindow(Integer dimension) {
12
+        this.dim = dimension * 10;
13
+        panel = new JPanel();
14
+        Dimension dim = new Dimension(this.dim, this.dim);
15
+        panel.setPreferredSize(dim);
16
+        frame = new JFrame();
17
+        Integer framesize = (this.dim < 100) ? 100 : this.dim;
18
+        frame.setSize(framesize, framesize);
19
+        Container contentPane = frame.getContentPane();
20
+        contentPane.add(panel);
21
+        frame.setVisible(true);
22
+    }
23
+
24
+    public void sleep(Integer millisecs) {
25
+        try {
26
+            Thread.sleep(millisecs);
27
+            Graphics g = panel.getGraphics();
28
+            g.dispose();
29
+        } catch (InterruptedException e) {
30
+            e.printStackTrace();
31
+        }
32
+    }
33
+
34
+    public void display(int[][] array, Integer n) {
35
+        frame.setTitle(String.format("Generation: %6d", n));
36
+        Graphics g = panel.getGraphics();
37
+        int BOX_DIM = 10;
38
+        for (int i = 0; i < array.length; i++) {
39
+            for (int j = 0; j < array[0].length; j++) {
40
+                g.drawRect(i * BOX_DIM, j * BOX_DIM, 10, 10);
41
+                if (array[i][j] == 0) {
42
+                    g.setColor(Color.WHITE);
43
+                    g.fillRect(i * BOX_DIM, j * BOX_DIM, 10, 10);
44
+                }
45
+                if (array[i][j] == 1) {
46
+                    g.setColor(Color.BLACK);
47
+                    g.fillRect(i * BOX_DIM, j * BOX_DIM, 10, 10);
48
+                }
49
+            }
50
+        }
51
+
52
+    }
53
+}

+ 46
- 0
src/test/java/com/zipcodeconway/ConwayGameOfLifeTest.java Vedi File

@@ -0,0 +1,46 @@
1
+package com.zipcodeconway;
2
+
3
+import org.junit.Test;
4
+
5
+import static org.junit.Assert.*;
6
+
7
+public class ConwayGameOfLifeTest {
8
+
9
+    @Test
10
+    public void runTest1() {
11
+        int[][] start = {
12
+                {0, 0, 0, 0, 0},
13
+                {0, 0, 1, 0, 0},
14
+                {0, 0, 1, 0, 0},
15
+                {0, 0, 1, 0, 0},
16
+                {0, 0, 0, 0, 0}};
17
+        int[][] expected = {
18
+                {0, 0, 0, 0, 0},
19
+                {0, 0, 1, 0, 0},
20
+                {0, 0, 1, 0, 0},
21
+                {0, 0, 1, 0, 0},
22
+                {0, 0, 0, 0, 0}};
23
+        ConwayGameOfLife sim = new ConwayGameOfLife(5, start);
24
+        int[][] results = sim.simulate(9);
25
+        assertTrue(java.util.Arrays.deepEquals(results, expected));
26
+    }
27
+
28
+    @Test
29
+    public void runTest2() {
30
+        int[][] start = {
31
+                {0, 0, 0, 0, 0},
32
+                {0, 0, 0, 0, 0},
33
+                {0, 1, 1, 1, 0},
34
+                {0, 0, 0, 0, 0},
35
+                {0, 0, 0, 0, 0}};
36
+        int[][] expected = {
37
+                {0, 0, 0, 0, 0},
38
+                {0, 0, 1, 0, 0},
39
+                {0, 0, 1, 0, 0},
40
+                {0, 0, 1, 0, 0},
41
+                {0, 0, 0, 0, 0}};
42
+        ConwayGameOfLife sim = new ConwayGameOfLife(5, start);
43
+        int[][] results = sim.simulate(10);
44
+        assertTrue(java.util.Arrays.deepEquals(results, expected));
45
+    }
46
+}