#4 VinceSima and DavidThornley

Отворени
DavidThornley заяви обединяване на 1 ревизии от DavidThornley/ZCW-ConwayGameOfLife:master във master
променени са 2 файла, в които са добавени 304 реда и са изтрити 297 реда
  1. 197
    290
      .idea/workspace.xml
  2. 107
    7
      src/main/java/com/zipcodeconway/ConwayGameOfLife.java

+ 197
- 290
.idea/workspace.xml Целия файл

@@ -1,7 +1,10 @@
1 1
 <?xml version="1.0" encoding="UTF-8"?>
2 2
 <project version="4">
3 3
   <component name="ChangeListManager">
4
-    <list default="true" id="e282cee1-bfe9-42a3-9794-9633eb4654d1" name="Default" comment="" />
4
+    <list default="true" id="e282cee1-bfe9-42a3-9794-9633eb4654d1" name="Default" comment="">
5
+      <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
6
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/zipcodeconway/ConwayGameOfLife.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/zipcodeconway/ConwayGameOfLife.java" afterDir="false" />
7
+    </list>
5 8
     <ignored path="$PROJECT_DIR$/target/" />
6 9
     <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
7 10
     <option name="TRACKING_ENABLED" value="true" />
@@ -10,13 +13,27 @@
10 13
     <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
11 14
     <option name="LAST_RESOLUTION" value="IGNORE" />
12 15
   </component>
16
+  <component name="DatabaseView">
17
+    <option name="SHOW_INTERMEDIATE" value="true" />
18
+    <option name="GROUP_DATA_SOURCES" value="true" />
19
+    <option name="GROUP_SCHEMA" value="true" />
20
+    <option name="GROUP_CONTENTS" value="false" />
21
+    <option name="SORT_POSITIONED" value="false" />
22
+    <option name="SHOW_EMPTY_GROUPS" value="false" />
23
+    <option name="AUTO_SCROLL_FROM_SOURCE" value="false" />
24
+    <option name="HIDDEN_KINDS">
25
+      <set />
26
+    </option>
27
+    <expand />
28
+    <select />
29
+  </component>
13 30
   <component name="FileEditorManager">
14
-    <leaf>
31
+    <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
15 32
       <file leaf-file-name="SimpleWindow.java" pinned="false" current-in-tab="false">
16 33
         <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodeconway/SimpleWindow.java">
17 34
           <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" />
35
+            <state relative-caret-position="-176">
36
+              <caret line="17" column="42" selection-start-line="17" selection-start-column="42" selection-end-line="17" selection-end-column="42" />
20 37
               <folding>
21 38
                 <element signature="imports" expanded="true" />
22 39
               </folding>
@@ -24,64 +41,20 @@
24 41
           </provider>
25 42
         </entry>
26 43
       </file>
27
-      <file leaf-file-name="ConwayGameOfLife.java" pinned="false" current-in-tab="false">
44
+      <file leaf-file-name="ConwayGameOfLife.java" pinned="false" current-in-tab="true">
28 45
         <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodeconway/ConwayGameOfLife.java">
29 46
           <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>
47
+            <state relative-caret-position="-105">
48
+              <caret line="29" column="52" lean-forward="true" selection-start-line="29" selection-start-column="52" selection-end-line="29" selection-end-column="52" />
39 49
             </state>
40 50
           </provider>
41 51
         </entry>
42 52
       </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">
53
+      <file leaf-file-name="ConwayGameOfLifeTest.java" pinned="false" current-in-tab="false">
80 54
         <entry file="file://$PROJECT_DIR$/src/test/java/com/zipcodeconway/ConwayGameOfLifeTest.java">
81 55
           <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 />
56
+            <state relative-caret-position="130">
57
+              <caret line="23" column="22" selection-start-line="23" selection-start-column="7" selection-end-line="23" selection-end-column="22" />
85 58
             </state>
86 59
           </provider>
87 60
         </entry>
@@ -109,11 +82,6 @@
109 82
   <component name="Git.Settings">
110 83
     <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
111 84
   </component>
112
-  <component name="GradleLocalSettings">
113
-    <option name="externalProjectsViewState">
114
-      <projects_view />
115
-    </option>
116
-  </component>
117 85
   <component name="IdeDocumentHistory">
118 86
     <option name="CHANGED_PATHS">
119 87
       <list>
@@ -125,9 +93,9 @@
125 93
         <option value="$PROJECT_DIR$/src/main/java/SimpleWindow.java" />
126 94
         <option value="$PROJECT_DIR$/src/main/java/ConwayGameOfLife.java" />
127 95
         <option value="$PROJECT_DIR$/src/main/java/Life.java" />
128
-        <option value="$PROJECT_DIR$/src/test/java/com/zipcodeconway/ConwayGameOfLifeTest.java" />
129 96
         <option value="$PROJECT_DIR$/src/main/java/com/zipcodeconway/SimpleWindow.java" />
130 97
         <option value="$PROJECT_DIR$/src/main/java/com/zipcodeconway/README.md" />
98
+        <option value="$PROJECT_DIR$/src/test/java/com/zipcodeconway/ConwayGameOfLifeTest.java" />
131 99
         <option value="$PROJECT_DIR$/src/main/java/com/zipcodeconway/ConwayGameOfLife.java" />
132 100
       </list>
133 101
     </option>
@@ -138,76 +106,76 @@
138 106
     <detection-done>true</detection-done>
139 107
     <sorting>DEFINITION_ORDER</sorting>
140 108
   </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" />
109
+  <component name="MavenImportPreferences">
110
+    <option name="importingSettings">
111
+      <MavenImportingSettings>
112
+        <option name="importAutomatically" value="true" />
113
+      </MavenImportingSettings>
114
+    </option>
115
+  </component>
116
+  <component name="NodePackageJsonFileManager">
117
+    <packageJsonPaths />
118
+  </component>
119
+  <component name="ProjectFrameBounds" extendedState="6" fullScreen="true">
120
+    <option name="width" value="1280" />
121
+    <option name="height" value="777" />
146 122
   </component>
147 123
   <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 />
124
+    <navigator proportions="" version="1">
159 125
       <foldersAlwaysOnTop value="true" />
160 126
     </navigator>
161 127
     <panes>
128
+      <pane id="Scope" />
129
+      <pane id="AndroidView" />
162 130
       <pane id="ProjectPane">
163 131
         <subPane>
164 132
           <expand>
165 133
             <path>
166
-              <item name="Game-Of-Life-Java" type="b2602c69:ProjectViewProjectNode" />
167
-              <item name="Game-Of-Life-Java" type="462c0819:PsiDirectoryNode" />
134
+              <item name="ZCW-ConwayGameOfLife" type="b2602c69:ProjectViewProjectNode" />
135
+              <item name="ZCW-ConwayGameOfLife" type="462c0819:PsiDirectoryNode" />
168 136
             </path>
169 137
             <path>
170
-              <item name="Game-Of-Life-Java" type="b2602c69:ProjectViewProjectNode" />
171
-              <item name="Game-Of-Life-Java" type="462c0819:PsiDirectoryNode" />
138
+              <item name="ZCW-ConwayGameOfLife" type="b2602c69:ProjectViewProjectNode" />
139
+              <item name="ZCW-ConwayGameOfLife" type="462c0819:PsiDirectoryNode" />
172 140
               <item name="src" type="462c0819:PsiDirectoryNode" />
173 141
             </path>
174 142
             <path>
175
-              <item name="Game-Of-Life-Java" type="b2602c69:ProjectViewProjectNode" />
176
-              <item name="Game-Of-Life-Java" type="462c0819:PsiDirectoryNode" />
143
+              <item name="ZCW-ConwayGameOfLife" type="b2602c69:ProjectViewProjectNode" />
144
+              <item name="ZCW-ConwayGameOfLife" type="462c0819:PsiDirectoryNode" />
177 145
               <item name="src" type="462c0819:PsiDirectoryNode" />
178 146
               <item name="main" type="462c0819:PsiDirectoryNode" />
179 147
             </path>
180 148
             <path>
181
-              <item name="Game-Of-Life-Java" type="b2602c69:ProjectViewProjectNode" />
182
-              <item name="Game-Of-Life-Java" type="462c0819:PsiDirectoryNode" />
149
+              <item name="ZCW-ConwayGameOfLife" type="b2602c69:ProjectViewProjectNode" />
150
+              <item name="ZCW-ConwayGameOfLife" type="462c0819:PsiDirectoryNode" />
183 151
               <item name="src" type="462c0819:PsiDirectoryNode" />
184 152
               <item name="main" type="462c0819:PsiDirectoryNode" />
185 153
               <item name="java" type="462c0819:PsiDirectoryNode" />
186 154
             </path>
187 155
             <path>
188
-              <item name="Game-Of-Life-Java" type="b2602c69:ProjectViewProjectNode" />
189
-              <item name="Game-Of-Life-Java" type="462c0819:PsiDirectoryNode" />
156
+              <item name="ZCW-ConwayGameOfLife" type="b2602c69:ProjectViewProjectNode" />
157
+              <item name="ZCW-ConwayGameOfLife" type="462c0819:PsiDirectoryNode" />
190 158
               <item name="src" type="462c0819:PsiDirectoryNode" />
191 159
               <item name="main" type="462c0819:PsiDirectoryNode" />
192 160
               <item name="java" type="462c0819:PsiDirectoryNode" />
193 161
               <item name="zipcodeconway" type="462c0819:PsiDirectoryNode" />
194 162
             </path>
195 163
             <path>
196
-              <item name="Game-Of-Life-Java" type="b2602c69:ProjectViewProjectNode" />
197
-              <item name="Game-Of-Life-Java" type="462c0819:PsiDirectoryNode" />
164
+              <item name="ZCW-ConwayGameOfLife" type="b2602c69:ProjectViewProjectNode" />
165
+              <item name="ZCW-ConwayGameOfLife" type="462c0819:PsiDirectoryNode" />
198 166
               <item name="src" type="462c0819:PsiDirectoryNode" />
199 167
               <item name="test" type="462c0819:PsiDirectoryNode" />
200 168
             </path>
201 169
             <path>
202
-              <item name="Game-Of-Life-Java" type="b2602c69:ProjectViewProjectNode" />
203
-              <item name="Game-Of-Life-Java" type="462c0819:PsiDirectoryNode" />
170
+              <item name="ZCW-ConwayGameOfLife" type="b2602c69:ProjectViewProjectNode" />
171
+              <item name="ZCW-ConwayGameOfLife" type="462c0819:PsiDirectoryNode" />
204 172
               <item name="src" type="462c0819:PsiDirectoryNode" />
205 173
               <item name="test" type="462c0819:PsiDirectoryNode" />
206 174
               <item name="java" type="462c0819:PsiDirectoryNode" />
207 175
             </path>
208 176
             <path>
209
-              <item name="Game-Of-Life-Java" type="b2602c69:ProjectViewProjectNode" />
210
-              <item name="Game-Of-Life-Java" type="462c0819:PsiDirectoryNode" />
177
+              <item name="ZCW-ConwayGameOfLife" type="b2602c69:ProjectViewProjectNode" />
178
+              <item name="ZCW-ConwayGameOfLife" type="462c0819:PsiDirectoryNode" />
211 179
               <item name="src" type="462c0819:PsiDirectoryNode" />
212 180
               <item name="test" type="462c0819:PsiDirectoryNode" />
213 181
               <item name="java" type="462c0819:PsiDirectoryNode" />
@@ -218,21 +186,18 @@
218 186
         </subPane>
219 187
       </pane>
220 188
       <pane id="PackagesPane" />
221
-      <pane id="AndroidView" />
222
-      <pane id="Scratches" />
223
-      <pane id="Scope" />
224 189
     </panes>
225 190
   </component>
226 191
   <component name="PropertiesComponent">
227
-    <property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
228 192
     <property name="WebServerToolWindowFactoryState" value="false" />
229 193
     <property name="aspect.path.notification.shown" value="true" />
194
+    <property name="com.intellij.testIntegration.createTest.CreateTestDialog.defaultLibrary" value="JUnit4" />
230 195
     <property name="last_opened_file_path" value="$PROJECT_DIR$" />
231
-    <property name="settings.editor.selected.configurable" value="preferences.lookFeel" />
196
+    <property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
232 197
     <property name="project.structure.last.edited" value="Modules" />
233 198
     <property name="project.structure.proportion" value="0.15" />
234 199
     <property name="project.structure.side.proportion" value="0.2" />
235
-    <property name="com.intellij.testIntegration.createTest.CreateTestDialog.defaultLibrary" value="JUnit4" />
200
+    <property name="settings.editor.selected.configurable" value="preferences.lookFeel" />
236 201
   </component>
237 202
   <component name="RecentsManager">
238 203
     <key name="CreateTestDialog.RecentsKey">
@@ -260,69 +225,32 @@
260 225
       </list>
261 226
     </option>
262 227
   </component>
263
-  <component name="RunManager" selected="JUnit.ConwayGameOfLifeTest">
228
+  <component name="RunManager" selected="Application.ConwayGameOfLife">
264 229
     <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 230
       <option name="POLICY_FILE" value="$APPLICATION_HOME_DIR$/bin/appletviewer.policy" />
269
-      <module />
270 231
     </configuration>
271 232
     <configuration name="ConwayGameOfLife" type="Application" factoryName="Application" temporary="true" nameIsGenerated="true">
272
-      <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea">
233
+      <option name="MAIN_CLASS_NAME" value="com.zipcodeconway.ConwayGameOfLife" />
234
+      <module name="Game-Of-Life-Java" />
235
+      <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
236
+      <extension name="coverage">
273 237
         <pattern>
274 238
           <option name="PATTERN" value="com.zipcodeconway.*" />
275 239
           <option name="ENABLED" value="true" />
276 240
         </pattern>
277 241
       </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 242
     </configuration>
304 243
     <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 244
       <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 245
     </configuration>
318 246
     <configuration name="ConwayGameOfLifeTest" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
319
-      <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea">
247
+      <module name="Game-Of-Life-Java" />
248
+      <extension name="coverage">
320 249
         <pattern>
321 250
           <option name="PATTERN" value="com.zipcodeconway.*" />
322 251
           <option name="ENABLED" value="true" />
323 252
         </pattern>
324 253
       </extension>
325
-      <module name="Game-Of-Life-Java" />
326 254
       <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
327 255
       <option name="ALTERNATIVE_JRE_PATH" />
328 256
       <option name="PACKAGE_NAME" value="com.zipcodeconway" />
@@ -332,22 +260,20 @@
332 260
       <option name="VM_PARAMETERS" value="-ea" />
333 261
       <option name="PARAMETERS" />
334 262
       <option name="WORKING_DIRECTORY" value="%MODULE_WORKING_DIR%" />
335
-      <option name="ENV_VARIABLES" />
336 263
       <option name="PASS_PARENT_ENVS" value="true" />
337 264
       <option name="TEST_SEARCH_SCOPE">
338 265
         <value defaultName="singleModule" />
339 266
       </option>
340
-      <envs />
341 267
       <patterns />
342 268
     </configuration>
343 269
     <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">
270
+      <module name="Game-Of-Life-Java" />
271
+      <extension name="coverage">
345 272
         <pattern>
346 273
           <option name="PATTERN" value="com.zipcodeconway.*" />
347 274
           <option name="ENABLED" value="true" />
348 275
         </pattern>
349 276
       </extension>
350
-      <module name="Game-Of-Life-Java" />
351 277
       <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
352 278
       <option name="ALTERNATIVE_JRE_PATH" />
353 279
       <option name="PACKAGE_NAME" value="com.zipcodeconway" />
@@ -357,22 +283,43 @@
357 283
       <option name="VM_PARAMETERS" value="-ea" />
358 284
       <option name="PARAMETERS" />
359 285
       <option name="WORKING_DIRECTORY" value="%MODULE_WORKING_DIR%" />
360
-      <option name="ENV_VARIABLES" />
361 286
       <option name="PASS_PARENT_ENVS" value="true" />
362 287
       <option name="TEST_SEARCH_SCOPE">
363 288
         <value defaultName="singleModule" />
364 289
       </option>
365
-      <envs />
366 290
       <patterns />
367 291
     </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">
292
+    <configuration name="ConwayGameOfLifeTest.runTest1" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
293
+      <module name="Game-Of-Life-Java" />
294
+      <extension name="coverage">
370 295
         <pattern>
371 296
           <option name="PATTERN" value="com.zipcodeconway.*" />
372 297
           <option name="ENABLED" value="true" />
373 298
         </pattern>
374 299
       </extension>
300
+      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
301
+      <option name="ALTERNATIVE_JRE_PATH" />
302
+      <option name="PACKAGE_NAME" value="com.zipcodeconway" />
303
+      <option name="MAIN_CLASS_NAME" value="com.zipcodeconway.ConwayGameOfLifeTest" />
304
+      <option name="METHOD_NAME" value="runTest1" />
305
+      <option name="TEST_OBJECT" value="method" />
306
+      <option name="VM_PARAMETERS" value="-ea" />
307
+      <option name="PARAMETERS" />
308
+      <option name="WORKING_DIRECTORY" value="%MODULE_WORKING_DIR%" />
309
+      <option name="PASS_PARENT_ENVS" value="true" />
310
+      <option name="TEST_SEARCH_SCOPE">
311
+        <value defaultName="singleModule" />
312
+      </option>
313
+      <patterns />
314
+    </configuration>
315
+    <configuration name="ConwayGameOfLifeTest.runTest2" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
375 316
       <module name="Game-Of-Life-Java" />
317
+      <extension name="coverage">
318
+        <pattern>
319
+          <option name="PATTERN" value="com.zipcodeconway.*" />
320
+          <option name="ENABLED" value="true" />
321
+        </pattern>
322
+      </extension>
376 323
       <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
377 324
       <option name="ALTERNATIVE_JRE_PATH" />
378 325
       <option name="PACKAGE_NAME" value="com.zipcodeconway" />
@@ -382,17 +329,13 @@
382 329
       <option name="VM_PARAMETERS" value="-ea" />
383 330
       <option name="PARAMETERS" />
384 331
       <option name="WORKING_DIRECTORY" value="%MODULE_WORKING_DIR%" />
385
-      <option name="ENV_VARIABLES" />
386 332
       <option name="PASS_PARENT_ENVS" value="true" />
387 333
       <option name="TEST_SEARCH_SCOPE">
388 334
         <value defaultName="singleModule" />
389 335
       </option>
390
-      <envs />
391 336
       <patterns />
392 337
     </configuration>
393 338
     <configuration default="true" type="JUnit" factoryName="JUnit">
394
-      <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
395
-      <module name="" />
396 339
       <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
397 340
       <option name="ALTERNATIVE_JRE_PATH" />
398 341
       <option name="PACKAGE_NAME" />
@@ -402,12 +345,10 @@
402 345
       <option name="VM_PARAMETERS" value="-ea" />
403 346
       <option name="PARAMETERS" />
404 347
       <option name="WORKING_DIRECTORY" value="%MODULE_WORKING_DIR%" />
405
-      <option name="ENV_VARIABLES" />
406 348
       <option name="PASS_PARENT_ENVS" value="true" />
407 349
       <option name="TEST_SEARCH_SCOPE">
408 350
         <value defaultName="singleModule" />
409 351
       </option>
410
-      <envs />
411 352
       <patterns />
412 353
     </configuration>
413 354
     <configuration name="ConwayLife" type="MavenRunConfiguration" factoryName="Maven">
@@ -422,6 +363,7 @@
422 363
             <option name="goals">
423 364
               <list />
424 365
             </option>
366
+            <option name="pomFileName" />
425 367
             <option name="profilesMap">
426 368
               <map />
427 369
             </option>
@@ -431,16 +373,7 @@
431 373
         </option>
432 374
       </MavenSettings>
433 375
     </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 376
     <configuration default="true" type="TestNG" factoryName="TestNG">
442
-      <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
443
-      <module name="" />
444 377
       <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
445 378
       <option name="ALTERNATIVE_JRE_PATH" />
446 379
       <option name="SUITE_NAME" />
@@ -453,45 +386,33 @@
453 386
       <option name="PARAMETERS" />
454 387
       <option name="WORKING_DIRECTORY" value="%MODULE_WORKING_DIR%" />
455 388
       <option name="OUTPUT_DIRECTORY" />
456
-      <option name="ANNOTATION_TYPE" />
457
-      <option name="ENV_VARIABLES" />
458 389
       <option name="PASS_PARENT_ENVS" value="true" />
459 390
       <option name="TEST_SEARCH_SCOPE">
460 391
         <value defaultName="singleModule" />
461 392
       </option>
462 393
       <option name="USE_DEFAULT_REPORTERS" value="false" />
463 394
       <option name="PROPERTIES_FILE" />
464
-      <envs />
465 395
       <properties />
466 396
       <listeners />
467 397
     </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" />
398
+    <list>
399
+      <item itemvalue="Maven.ConwayLife" />
400
+      <item itemvalue="Application.ConwayGameOfLife" />
401
+      <item itemvalue="JUnit.ConwayGameOfLifeTest.runTest" />
402
+      <item itemvalue="JUnit.ConwayGameOfLifeTest.runTest2" />
403
+      <item itemvalue="JUnit.ConwayGameOfLifeTest" />
404
+      <item itemvalue="JUnit.ConwayGameOfLifeTest.runTest1" />
481 405
     </list>
482 406
     <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" />
407
+      <list>
408
+        <item itemvalue="Application.ConwayGameOfLife" />
409
+        <item itemvalue="JUnit.ConwayGameOfLifeTest" />
410
+        <item itemvalue="JUnit.ConwayGameOfLifeTest.runTest1" />
411
+        <item itemvalue="JUnit.ConwayGameOfLifeTest.runTest2" />
412
+        <item itemvalue="JUnit.ConwayGameOfLifeTest.runTest" />
489 413
       </list>
490 414
     </recent_temporary>
491 415
   </component>
492
-  <component name="ShelveChangesManager" show_recycled="false">
493
-    <option name="remove_strategy" value="false" />
494
-  </component>
495 416
   <component name="SvnConfiguration">
496 417
     <configuration />
497 418
   </component>
@@ -503,72 +424,76 @@
503 424
       <option name="presentableId" value="Default" />
504 425
       <updated>1519668901598</updated>
505 426
       <workItem from="1519668902904" duration="14517000" />
427
+      <workItem from="1529669432082" duration="20487000" />
506 428
     </task>
507 429
     <servers />
508 430
   </component>
509 431
   <component name="TestHistory">
510
-    <history-entry file="ConwayGameOfLifeTest - 2018.02.26 at 15h 45m 01s.xml">
432
+    <history-entry file="ConwayGameOfLifeTest - 2018.06.24 at 18h 55m 39s.xml">
511 433
       <configuration name="ConwayGameOfLifeTest" configurationId="JUnit" />
512 434
     </history-entry>
513
-    <history-entry file="ConwayGameOfLifeTest - 2018.02.26 at 15h 59m 00s.xml">
435
+    <history-entry file="ConwayGameOfLifeTest - 2018.06.25 at 08h 58m 42s.xml">
514 436
       <configuration name="ConwayGameOfLifeTest" configurationId="JUnit" />
515 437
     </history-entry>
516
-    <history-entry file="ConwayGameOfLifeTest - 2018.02.26 at 16h 02m 03s.xml">
438
+    <history-entry file="ConwayGameOfLifeTest - 2018.06.25 at 09h 01m 35s.xml">
517 439
       <configuration name="ConwayGameOfLifeTest" configurationId="JUnit" />
518 440
     </history-entry>
519
-    <history-entry file="ConwayGameOfLifeTest - 2018.02.26 at 16h 03m 01s.xml">
441
+    <history-entry file="ConwayGameOfLifeTest - 2018.06.25 at 09h 56m 55s.xml">
520 442
       <configuration name="ConwayGameOfLifeTest" configurationId="JUnit" />
521 443
     </history-entry>
522
-    <history-entry file="ConwayGameOfLifeTest - 2018.02.26 at 16h 05m 07s.xml">
444
+    <history-entry file="ConwayGameOfLifeTest_runTest1 - 2018.06.25 at 09h 57m 14s.xml">
445
+      <configuration name="ConwayGameOfLifeTest.runTest1" configurationId="JUnit" />
446
+    </history-entry>
447
+    <history-entry file="ConwayGameOfLifeTest - 2018.06.25 at 13h 37m 06s.xml">
523 448
       <configuration name="ConwayGameOfLifeTest" configurationId="JUnit" />
524 449
     </history-entry>
525
-    <history-entry file="ConwayGameOfLifeTest - 2018.02.26 at 16h 06m 11s.xml">
450
+    <history-entry file="ConwayGameOfLifeTest - 2018.06.25 at 13h 37m 33s.xml">
526 451
       <configuration name="ConwayGameOfLifeTest" configurationId="JUnit" />
527 452
     </history-entry>
528
-    <history-entry file="ConwayGameOfLifeTest_runTest - 2018.02.26 at 15h 41m 14s.xml">
529
-      <configuration name="ConwayGameOfLifeTest.runTest" configurationId="JUnit" />
453
+    <history-entry file="ConwayGameOfLifeTest - 2018.06.25 at 13h 53m 30s.xml">
454
+      <configuration name="ConwayGameOfLifeTest" configurationId="JUnit" />
530 455
     </history-entry>
531
-    <history-entry file="ConwayGameOfLifeTest_runTest2 - 2018.02.26 at 15h 42m 02s.xml">
532
-      <configuration name="ConwayGameOfLifeTest.runTest2" configurationId="JUnit" />
456
+    <history-entry file="ConwayGameOfLifeTest - 2018.06.25 at 13h 54m 24s.xml">
457
+      <configuration name="ConwayGameOfLifeTest" configurationId="JUnit" />
533 458
     </history-entry>
534
-    <history-entry file="ConwayGameOfLifeTest_runTest2 - 2018.02.26 at 15h 42m 18s.xml">
535
-      <configuration name="ConwayGameOfLifeTest.runTest2" configurationId="JUnit" />
459
+    <history-entry file="ConwayGameOfLifeTest - 2018.06.25 at 13h 56m 51s.xml">
460
+      <configuration name="ConwayGameOfLifeTest" configurationId="JUnit" />
536 461
     </history-entry>
537 462
   </component>
538 463
   <component name="TimeTrackingManager">
539
-    <option name="totallyTimeSpent" value="14517000" />
464
+    <option name="totallyTimeSpent" value="35004000" />
540 465
   </component>
541 466
   <component name="ToolWindowManager">
542
-    <frame x="82" y="32" width="1440" height="821" extended-state="0" />
543
-    <editor active="true" />
467
+    <frame x="0" y="0" width="1280" height="800" extended-state="6" />
544 468
     <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" />
469
+      <window_info anchor="right" id="Palette" order="3" />
470
+      <window_info anchor="bottom" id="TODO" order="6" />
471
+      <window_info anchor="bottom" id="Messages" order="7" weight="0.4537931" />
472
+      <window_info anchor="right" id="Palette&#9;" order="3" />
473
+      <window_info id="Image Layers" order="2" />
474
+      <window_info anchor="right" id="Capture Analysis" order="3" />
475
+      <window_info anchor="bottom" id="Event Log" order="7" side_tool="true" />
476
+      <window_info anchor="right" id="Maven Projects" order="3" />
477
+      <window_info anchor="bottom" id="Database Changes" show_stripe_button="false" />
478
+      <window_info anchor="bottom" id="Run" order="2" weight="0.21241379" />
479
+      <window_info anchor="bottom" id="Version Control" order="7" />
480
+      <window_info anchor="bottom" id="Terminal" order="7" weight="0.32970026" />
481
+      <window_info id="Capture Tool" order="2" />
482
+      <window_info id="Designer" order="2" />
483
+      <window_info content_ui="combo" id="Project" order="0" visible="true" weight="0.25" />
484
+      <window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
485
+      <window_info anchor="right" id="Database" order="3" weight="0.3296875" />
486
+      <window_info id="Structure" order="1" side_tool="true" weight="0.25" />
487
+      <window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
488
+      <window_info id="UI Designer" order="2" />
489
+      <window_info anchor="right" id="Theme Preview" order="3" />
490
+      <window_info anchor="bottom" id="Debug" order="3" weight="0.4" />
491
+      <window_info id="Favorites" order="2" side_tool="true" />
492
+      <window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
493
+      <window_info anchor="right" id="Commander" order="0" weight="0.4" />
494
+      <window_info anchor="bottom" id="Message" order="0" />
495
+      <window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
496
+      <window_info anchor="bottom" id="Find" order="1" />
572 497
     </layout>
573 498
   </component>
574 499
   <component name="TypeScriptGeneratedFilesManager">
@@ -579,35 +504,43 @@
579 504
   </component>
580 505
   <component name="XDebuggerManager">
581 506
     <breakpoint-manager>
582
-      <option name="time" value="2" />
507
+      <option name="time" value="15" />
583 508
     </breakpoint-manager>
584
-    <watches-manager />
585 509
   </component>
586 510
   <component name="editorHistoryManager">
587
-    <entry file="file://$PROJECT_DIR$/pom.xml">
511
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodeconway/SimpleWindow.java">
588 512
       <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 />
513
+        <state relative-caret-position="240">
514
+          <caret line="17" column="42" selection-start-line="17" selection-start-column="42" selection-end-line="17" selection-end-column="42" />
515
+          <folding>
516
+            <element signature="imports" expanded="true" />
517
+          </folding>
592 518
         </state>
593 519
       </provider>
594 520
     </entry>
595
-    <entry file="file://$PROJECT_DIR$/src/main/java/LifeStarts.java">
521
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodeconway/ConwayGameOfLife.java">
596 522
       <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 />
523
+        <state relative-caret-position="300">
524
+          <caret line="20" selection-start-line="20" selection-end-line="20" />
600 525
         </state>
601 526
       </provider>
602 527
     </entry>
603
-    <entry file="file://$PROJECT_DIR$/src/main/java/Life.java">
528
+    <entry file="file://$PROJECT_DIR$/src/test/java/com/zipcodeconway/ConwayGameOfLifeTest.java">
604 529
       <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 />
530
+        <state relative-caret-position="450">
531
+          <caret line="32" column="32" selection-start-line="32" selection-start-column="32" selection-end-line="32" selection-end-column="32" />
608 532
         </state>
609 533
       </provider>
610 534
     </entry>
535
+    <entry file="file://$PROJECT_DIR$/pom.xml">
536
+      <provider selected="true" editor-type-id="text-editor">
537
+        <state relative-caret-position="187">
538
+          <caret line="11" column="10" selection-start-line="11" selection-start-column="10" selection-end-line="11" selection-end-column="10" />
539
+        </state>
540
+      </provider>
541
+    </entry>
542
+    <entry file="file://$PROJECT_DIR$/src/main/java/LifeStarts.java" />
543
+    <entry file="file://$PROJECT_DIR$/src/main/java/Life.java" />
611 544
     <entry file="uml://JAVA/com.zipcodeconway.ConwayGameOfLife">
612 545
       <provider selected="true" editor-type-id="UmlEditorProvider">
613 546
         <state>
@@ -629,64 +562,38 @@
629 562
         </state>
630 563
       </provider>
631 564
     </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>
565
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodeconway/README.md" />
566
+    <entry file="file://$USER_HOME$/Downloads/ConwayLifeRandomat50.png" />
567
+    <entry file="file://$USER_HOME$/Documents/gitea/gitea/custom/public/img/ConwayLifeUML.png" />
568
+    <entry file="file://$PROJECT_DIR$/src/main/java/GameofLife.java" />
661 569
     <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodeconway/SimpleWindow.java">
662 570
       <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" />
571
+        <state relative-caret-position="-176">
572
+          <caret line="17" column="42" selection-start-line="17" selection-start-column="42" selection-end-line="17" selection-end-column="42" />
665 573
           <folding>
666 574
             <element signature="imports" expanded="true" />
667 575
           </folding>
668 576
         </state>
669 577
       </provider>
670 578
     </entry>
671
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodeconway/ConwayGameOfLife.java">
579
+    <entry file="jar:///Library/Java/JavaVirtualMachines/jdk1.8.0_172.jdk/Contents/Home/jre/lib/rt.jar!/sun/reflect/NativeMethodAccessorImpl.class">
672 580
       <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>
581
+        <state relative-caret-position="240">
582
+          <caret line="17" column="43" selection-start-line="17" selection-start-column="43" selection-end-line="17" selection-end-column="43" />
682 583
         </state>
683 584
       </provider>
684 585
     </entry>
685 586
     <entry file="file://$PROJECT_DIR$/src/test/java/com/zipcodeconway/ConwayGameOfLifeTest.java">
686 587
       <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 />
588
+        <state relative-caret-position="130">
589
+          <caret line="23" column="22" selection-start-line="23" selection-start-column="7" selection-end-line="23" selection-end-column="22" />
590
+        </state>
591
+      </provider>
592
+    </entry>
593
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodeconway/ConwayGameOfLife.java">
594
+      <provider selected="true" editor-type-id="text-editor">
595
+        <state relative-caret-position="-105">
596
+          <caret line="29" column="52" lean-forward="true" selection-start-line="29" selection-start-column="52" selection-end-line="29" selection-end-column="52" />
690 597
         </state>
691 598
       </provider>
692 599
     </entry>

+ 107
- 7
src/main/java/com/zipcodeconway/ConwayGameOfLife.java Целия файл

@@ -2,31 +2,70 @@ package com.zipcodeconway;
2 2
 
3 3
 public class ConwayGameOfLife {
4 4
 
5
+    SimpleWindow window;
6
+    private final int dimension;
7
+
8
+    int[][] theBoard;// board represents the grid in 2d format
9
+    int[][] next;
10
+
5 11
     public ConwayGameOfLife(Integer dimension) {
6
-     }
12
+        this.dimension = dimension;
13
+        this.theBoard = createRandomStart(dimension);
14
+        this.next = new int[dimension][dimension];
15
+        this.window = new SimpleWindow(dimension);
16
+    }
7 17
 
8 18
     public ConwayGameOfLife(Integer dimension, int[][] startmatrix) {
19
+        this.dimension = dimension;
20
+        this.theBoard = startmatrix;
21
+        this.next = new int[dimension][dimension];
22
+        this.window = new SimpleWindow(dimension);
9 23
     }
10 24
 
11 25
     public static void main(String[] args) {
12 26
         ConwayGameOfLife sim = new ConwayGameOfLife(50);
13
-        int[][] endingWorld = sim.simulate(50);
27
+        int[][] endingWorld = sim.simulate(2000);
14 28
     }
15 29
 
16 30
     // Contains the logic for the starting scenario.
17 31
     // Which cells are alive or dead in generation 0.
18 32
     // allocates and returns the starting matrix of size 'dimension'
19 33
     private int[][] createRandomStart(Integer dimension) {
20
-        return new int[1][1];
34
+
35
+        int[][] randoBoard = new int[dimension][dimension];
36
+        for (int i = 0; i < (dimension * dimension)*.5; i++) {
37
+
38
+            int x = (int) (Math.random() * dimension);
39
+
40
+            int y = (int) (Math.random() * dimension);
41
+
42
+            randoBoard[x][y] = 1;
43
+
44
+        }
45
+
46
+        return randoBoard;
21 47
     }
22 48
 
23 49
     public int[][] simulate(Integer maxGenerations) {
24
-        return new int[1][1];
50
+        for (int generation = 0; generation <= maxGenerations; generation++) {
51
+            window.display(theBoard, generation);
52
+            iterate();
53
+            copyAndZeroOut(next, theBoard);
54
+            window.sleep(100);
55
+        }
56
+
57
+        return theBoard;
25 58
     }
26 59
 
27 60
     // copy the values of 'next' matrix to 'current' matrix,
28 61
     // and then zero out the contents of 'next' matrix
29
-    public void copyAndZeroOut(int [][] next, int[][] current) {
62
+    public void copyAndZeroOut(int[][] next, int[][] current) {
63
+        for(int i = 0; i < dimension; i++){
64
+            for(int j = 0; j < dimension; j++){
65
+                current[i][j] = next[i][j];
66
+                next[i][j] = 0;
67
+            }
68
+        }
30 69
     }
31 70
 
32 71
     // Calculate if an individual cell should be alive in the next generation.
@@ -37,7 +76,68 @@ public class ConwayGameOfLife {
37 76
 		Any live cell with two or three live neighbours lives, unchanged, to the next generation.
38 77
 		Any dead cell with exactly three live neighbours cells will come to life.
39 78
 	*/
40
-    private int isAlive(int row, int col, int[][] world) {
41
-        return 0;
79
+    private int isAlive(int row /*y axis*/, int col/*x axis*/, int[][] board) {
80
+        int count = 0;
81
+        int returnValue = 0;
82
+        int x;
83
+        int y;
84
+
85
+//        int pointOfInterest = board[col][row];
86
+
87
+        for (int i = row - 1; i <= row + 1; i++) {
88
+            for (int j = col - 1; j <= col + 1; j++) {
89
+
90
+                x = i;
91
+                y = j;
92
+
93
+                if (i == -1) {
94
+                    i = dimension - 1;
95
+                }
96
+
97
+                if (i == dimension) {
98
+                    i = 0;
99
+                }
100
+
101
+                if (j == -1) {
102
+                    j = dimension - 1;
103
+                }
104
+
105
+                if (j == dimension) {
106
+                    j = 0;
107
+                }
108
+
109
+                if (board[i][j] == 1 && (!(i == row && j == col))) {
110
+                    count++;
111
+                }
112
+
113
+                i = x;
114
+                j = y;
115
+
116
+            }
117
+        }
118
+
119
+            if (count == 3) {
120
+                returnValue = 1;
121
+            }
122
+            if (board[row][col] == 1 && count == 2){
123
+                returnValue = 1;
124
+            }
125
+
126
+            return returnValue;
127
+        }
128
+
129
+
130
+
131
+
132
+    public void iterate() {
133
+        for (int i = 0; i < theBoard.length; i++) {
134
+            for (int j = 0; j < theBoard.length; j++) {
135
+                next[i][j] = isAlive(i, j, theBoard);
136
+            }
137
+        }
42 138
     }
139
+
140
+
141
+
142
+
43 143
 }