瀏覽代碼

Merge 0b9c50145b706e23ec84050706d154308fc90662 into 2286bf332a6a66859fa1ab1a7063f5e3ecc912fc

PeterMcCormick 6 年之前
父節點
當前提交
8ebf3c4527
沒有帳戶連結到提交者的電子郵件

+ 1
- 1
.idea/misc.xml 查看文件

@@ -7,5 +7,5 @@
7 7
       </list>
8 8
     </option>
9 9
   </component>
10
-  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_9" default="false" project-jdk-name="1.8" project-jdk-type="JavaSDK" />
10
+  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_9" default="false" project-jdk-name="9.0" project-jdk-type="JavaSDK" />
11 11
 </project>

+ 245
- 183
.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" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
6
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/zipcodeconway/ConwayGameOfLife.java" afterPath="$PROJECT_DIR$/src/main/java/com/zipcodeconway/ConwayGameOfLife.java" />
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" />
@@ -11,12 +14,12 @@
11 14
     <option name="LAST_RESOLUTION" value="IGNORE" />
12 15
   </component>
13 16
   <component name="FileEditorManager">
14
-    <leaf>
17
+    <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
15 18
       <file leaf-file-name="SimpleWindow.java" pinned="false" current-in-tab="false">
16 19
         <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodeconway/SimpleWindow.java">
17 20
           <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" />
21
+            <state relative-caret-position="615">
22
+              <caret line="42" column="35" lean-forward="false" selection-start-line="42" selection-start-column="35" selection-end-line="43" selection-end-column="17" />
20 23
               <folding>
21 24
                 <element signature="imports" expanded="true" />
22 25
               </folding>
@@ -24,63 +27,21 @@
24 27
           </provider>
25 28
         </entry>
26 29
       </file>
27
-      <file leaf-file-name="ConwayGameOfLife.java" pinned="false" current-in-tab="false">
30
+      <file leaf-file-name="ConwayGameOfLife.java" pinned="false" current-in-tab="true">
28 31
         <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodeconway/ConwayGameOfLife.java">
29 32
           <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 />
33
+            <state relative-caret-position="154">
34
+              <caret line="23" column="54" lean-forward="false" selection-start-line="23" selection-start-column="54" selection-end-line="23" selection-end-column="54" />
35
+              <folding />
75 36
             </state>
76 37
           </provider>
77 38
         </entry>
78 39
       </file>
79
-      <file leaf-file-name="ConwayGameOfLifeTest.java" pinned="false" current-in-tab="true">
40
+      <file leaf-file-name="ConwayGameOfLifeTest.java" pinned="false" current-in-tab="false">
80 41
         <entry file="file://$PROJECT_DIR$/src/test/java/com/zipcodeconway/ConwayGameOfLifeTest.java">
81 42
           <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" />
43
+            <state relative-caret-position="285">
44
+              <caret line="21" column="32" lean-forward="false" selection-start-line="21" selection-start-column="32" selection-end-line="21" selection-end-column="32" />
84 45
               <folding />
85 46
             </state>
86 47
           </provider>
@@ -100,6 +61,7 @@
100 61
   <component name="FindInProjectRecents">
101 62
     <findStrings>
102 63
       <find>end</find>
64
+      <find>north</find>
103 65
     </findStrings>
104 66
     <replaceStrings>
105 67
       <replace>currentGeneration</replace>
@@ -126,8 +88,8 @@
126 88
         <option value="$PROJECT_DIR$/src/main/java/ConwayGameOfLife.java" />
127 89
         <option value="$PROJECT_DIR$/src/main/java/Life.java" />
128 90
         <option value="$PROJECT_DIR$/src/test/java/com/zipcodeconway/ConwayGameOfLifeTest.java" />
129
-        <option value="$PROJECT_DIR$/src/main/java/com/zipcodeconway/SimpleWindow.java" />
130 91
         <option value="$PROJECT_DIR$/src/main/java/com/zipcodeconway/README.md" />
92
+        <option value="$PROJECT_DIR$/src/main/java/com/zipcodeconway/SimpleWindow.java" />
131 93
         <option value="$PROJECT_DIR$/src/main/java/com/zipcodeconway/ConwayGameOfLife.java" />
132 94
       </list>
133 95
     </option>
@@ -138,11 +100,18 @@
138 100
     <detection-done>true</detection-done>
139 101
     <sorting>DEFINITION_ORDER</sorting>
140 102
   </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" />
103
+  <component name="MavenImportPreferences">
104
+    <option name="importingSettings">
105
+      <MavenImportingSettings>
106
+        <option name="importAutomatically" value="true" />
107
+      </MavenImportingSettings>
108
+    </option>
109
+  </component>
110
+  <component name="ProjectFrameBounds" fullScreen="true">
111
+    <option name="x" value="53" />
112
+    <option name="y" value="117" />
113
+    <option name="width" value="1280" />
114
+    <option name="height" value="709" />
146 115
   </component>
147 116
   <component name="ProjectView">
148 117
     <navigator currentView="ProjectPane" proportions="" version="1">
@@ -159,55 +128,57 @@
159 128
       <foldersAlwaysOnTop value="true" />
160 129
     </navigator>
161 130
     <panes>
131
+      <pane id="Scope" />
132
+      <pane id="Scratches" />
162 133
       <pane id="ProjectPane">
163 134
         <subPane>
164 135
           <expand>
165 136
             <path>
166
-              <item name="Game-Of-Life-Java" type="b2602c69:ProjectViewProjectNode" />
167
-              <item name="Game-Of-Life-Java" type="462c0819:PsiDirectoryNode" />
137
+              <item name="ConwayGameOfLife" type="b2602c69:ProjectViewProjectNode" />
138
+              <item name="ConwayGameOfLife" type="462c0819:PsiDirectoryNode" />
168 139
             </path>
169 140
             <path>
170
-              <item name="Game-Of-Life-Java" type="b2602c69:ProjectViewProjectNode" />
171
-              <item name="Game-Of-Life-Java" type="462c0819:PsiDirectoryNode" />
141
+              <item name="ConwayGameOfLife" type="b2602c69:ProjectViewProjectNode" />
142
+              <item name="ConwayGameOfLife" type="462c0819:PsiDirectoryNode" />
172 143
               <item name="src" type="462c0819:PsiDirectoryNode" />
173 144
             </path>
174 145
             <path>
175
-              <item name="Game-Of-Life-Java" type="b2602c69:ProjectViewProjectNode" />
176
-              <item name="Game-Of-Life-Java" type="462c0819:PsiDirectoryNode" />
146
+              <item name="ConwayGameOfLife" type="b2602c69:ProjectViewProjectNode" />
147
+              <item name="ConwayGameOfLife" type="462c0819:PsiDirectoryNode" />
177 148
               <item name="src" type="462c0819:PsiDirectoryNode" />
178 149
               <item name="main" type="462c0819:PsiDirectoryNode" />
179 150
             </path>
180 151
             <path>
181
-              <item name="Game-Of-Life-Java" type="b2602c69:ProjectViewProjectNode" />
182
-              <item name="Game-Of-Life-Java" type="462c0819:PsiDirectoryNode" />
152
+              <item name="ConwayGameOfLife" type="b2602c69:ProjectViewProjectNode" />
153
+              <item name="ConwayGameOfLife" type="462c0819:PsiDirectoryNode" />
183 154
               <item name="src" type="462c0819:PsiDirectoryNode" />
184 155
               <item name="main" type="462c0819:PsiDirectoryNode" />
185 156
               <item name="java" type="462c0819:PsiDirectoryNode" />
186 157
             </path>
187 158
             <path>
188
-              <item name="Game-Of-Life-Java" type="b2602c69:ProjectViewProjectNode" />
189
-              <item name="Game-Of-Life-Java" type="462c0819:PsiDirectoryNode" />
159
+              <item name="ConwayGameOfLife" type="b2602c69:ProjectViewProjectNode" />
160
+              <item name="ConwayGameOfLife" type="462c0819:PsiDirectoryNode" />
190 161
               <item name="src" type="462c0819:PsiDirectoryNode" />
191 162
               <item name="main" type="462c0819:PsiDirectoryNode" />
192 163
               <item name="java" type="462c0819:PsiDirectoryNode" />
193 164
               <item name="zipcodeconway" type="462c0819:PsiDirectoryNode" />
194 165
             </path>
195 166
             <path>
196
-              <item name="Game-Of-Life-Java" type="b2602c69:ProjectViewProjectNode" />
197
-              <item name="Game-Of-Life-Java" type="462c0819:PsiDirectoryNode" />
167
+              <item name="ConwayGameOfLife" type="b2602c69:ProjectViewProjectNode" />
168
+              <item name="ConwayGameOfLife" type="462c0819:PsiDirectoryNode" />
198 169
               <item name="src" type="462c0819:PsiDirectoryNode" />
199 170
               <item name="test" type="462c0819:PsiDirectoryNode" />
200 171
             </path>
201 172
             <path>
202
-              <item name="Game-Of-Life-Java" type="b2602c69:ProjectViewProjectNode" />
203
-              <item name="Game-Of-Life-Java" type="462c0819:PsiDirectoryNode" />
173
+              <item name="ConwayGameOfLife" type="b2602c69:ProjectViewProjectNode" />
174
+              <item name="ConwayGameOfLife" type="462c0819:PsiDirectoryNode" />
204 175
               <item name="src" type="462c0819:PsiDirectoryNode" />
205 176
               <item name="test" type="462c0819:PsiDirectoryNode" />
206 177
               <item name="java" type="462c0819:PsiDirectoryNode" />
207 178
             </path>
208 179
             <path>
209
-              <item name="Game-Of-Life-Java" type="b2602c69:ProjectViewProjectNode" />
210
-              <item name="Game-Of-Life-Java" type="462c0819:PsiDirectoryNode" />
180
+              <item name="ConwayGameOfLife" type="b2602c69:ProjectViewProjectNode" />
181
+              <item name="ConwayGameOfLife" type="462c0819:PsiDirectoryNode" />
211 182
               <item name="src" type="462c0819:PsiDirectoryNode" />
212 183
               <item name="test" type="462c0819:PsiDirectoryNode" />
213 184
               <item name="java" type="462c0819:PsiDirectoryNode" />
@@ -217,17 +188,15 @@
217 188
           <select />
218 189
         </subPane>
219 190
       </pane>
220
-      <pane id="PackagesPane" />
221 191
       <pane id="AndroidView" />
222
-      <pane id="Scratches" />
223
-      <pane id="Scope" />
192
+      <pane id="PackagesPane" />
224 193
     </panes>
225 194
   </component>
226 195
   <component name="PropertiesComponent">
227 196
     <property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
228 197
     <property name="WebServerToolWindowFactoryState" value="false" />
229 198
     <property name="aspect.path.notification.shown" value="true" />
230
-    <property name="last_opened_file_path" value="$PROJECT_DIR$" />
199
+    <property name="last_opened_file_path" value="$PROJECT_DIR$/pom.xml" />
231 200
     <property name="settings.editor.selected.configurable" value="preferences.lookFeel" />
232 201
     <property name="project.structure.last.edited" value="Modules" />
233 202
     <property name="project.structure.proportion" value="0.15" />
@@ -238,14 +207,15 @@
238 207
     <key name="CreateTestDialog.RecentsKey">
239 208
       <recent name="com.zipcodeconway" />
240 209
     </key>
241
-    <key name="CopyFile.RECENT_KEYS">
242
-      <recent name="$PROJECT_DIR$" />
210
+    <key name="MoveFile.RECENT_KEYS">
211
+      <recent name="$PROJECT_DIR$/src/main/java/com/zipcodeconway" />
212
+      <recent name="$PROJECT_DIR$/src/main/java" />
243 213
     </key>
244 214
     <key name="CreateTestDialog.Recents.Supers">
245 215
       <recent name="" />
246 216
     </key>
247
-    <key name="MoveFile.RECENT_KEYS">
248
-      <recent name="$PROJECT_DIR$/src/main/java" />
217
+    <key name="CopyFile.RECENT_KEYS">
218
+      <recent name="$PROJECT_DIR$" />
249 219
     </key>
250 220
   </component>
251 221
   <component name="RunDashboard">
@@ -260,7 +230,7 @@
260 230
       </list>
261 231
     </option>
262 232
   </component>
263
-  <component name="RunManager" selected="JUnit.ConwayGameOfLifeTest">
233
+  <component name="RunManager" selected="Application.ConwayGameOfLife">
264 234
     <configuration default="true" type="Applet" factoryName="Applet">
265 235
       <option name="HTML_USED" value="false" />
266 236
       <option name="WIDTH" value="400" />
@@ -287,20 +257,6 @@
287 257
       <module name="Game-Of-Life-Java" />
288 258
       <envs />
289 259
     </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 260
     <configuration default="true" type="Application" factoryName="Application">
305 261
       <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
306 262
       <option name="MAIN_CLASS_NAME" />
@@ -365,6 +321,31 @@
365 321
       <envs />
366 322
       <patterns />
367 323
     </configuration>
324
+    <configuration name="ConwayGameOfLifeTest.runTest1" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
325
+      <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea">
326
+        <pattern>
327
+          <option name="PATTERN" value="com.zipcodeconway.*" />
328
+          <option name="ENABLED" value="true" />
329
+        </pattern>
330
+      </extension>
331
+      <module name="Game-Of-Life-Java" />
332
+      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
333
+      <option name="ALTERNATIVE_JRE_PATH" />
334
+      <option name="PACKAGE_NAME" value="com.zipcodeconway" />
335
+      <option name="MAIN_CLASS_NAME" value="com.zipcodeconway.ConwayGameOfLifeTest" />
336
+      <option name="METHOD_NAME" value="runTest1" />
337
+      <option name="TEST_OBJECT" value="method" />
338
+      <option name="VM_PARAMETERS" value="-ea" />
339
+      <option name="PARAMETERS" />
340
+      <option name="WORKING_DIRECTORY" value="%MODULE_WORKING_DIR%" />
341
+      <option name="ENV_VARIABLES" />
342
+      <option name="PASS_PARENT_ENVS" value="true" />
343
+      <option name="TEST_SEARCH_SCOPE">
344
+        <value defaultName="singleModule" />
345
+      </option>
346
+      <envs />
347
+      <patterns />
348
+    </configuration>
368 349
     <configuration name="ConwayGameOfLifeTest.runTest2" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
369 350
       <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea">
370 351
         <pattern>
@@ -473,19 +454,19 @@
473 454
     </configuration>
474 455
     <list size="6">
475 456
       <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" />
457
+      <item index="1" class="java.lang.String" itemvalue="Application.ConwayGameOfLife" />
458
+      <item index="2" class="java.lang.String" itemvalue="JUnit.ConwayGameOfLifeTest.runTest" />
459
+      <item index="3" class="java.lang.String" itemvalue="JUnit.ConwayGameOfLifeTest.runTest2" />
460
+      <item index="4" class="java.lang.String" itemvalue="JUnit.ConwayGameOfLifeTest" />
461
+      <item index="5" class="java.lang.String" itemvalue="JUnit.ConwayGameOfLifeTest.runTest1" />
481 462
     </list>
482 463
     <recent_temporary>
483 464
       <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" />
465
+        <item index="0" class="java.lang.String" itemvalue="Application.ConwayGameOfLife" />
466
+        <item index="1" class="java.lang.String" itemvalue="JUnit.ConwayGameOfLifeTest.runTest2" />
467
+        <item index="2" class="java.lang.String" itemvalue="JUnit.ConwayGameOfLifeTest" />
468
+        <item index="3" class="java.lang.String" itemvalue="JUnit.ConwayGameOfLifeTest.runTest1" />
469
+        <item index="4" class="java.lang.String" itemvalue="JUnit.ConwayGameOfLifeTest.runTest" />
489 470
       </list>
490 471
     </recent_temporary>
491 472
   </component>
@@ -503,30 +484,34 @@
503 484
       <option name="presentableId" value="Default" />
504 485
       <updated>1519668901598</updated>
505 486
       <workItem from="1519668902904" duration="14517000" />
487
+      <workItem from="1520876650308" duration="12120000" />
488
+      <workItem from="1521064961471" duration="142000" />
489
+      <workItem from="1521065147925" duration="30000" />
490
+      <workItem from="1521227757325" duration="5000" />
506 491
     </task>
507 492
     <servers />
508 493
   </component>
509 494
   <component name="TestHistory">
510
-    <history-entry file="ConwayGameOfLifeTest - 2018.02.26 at 15h 45m 01s.xml">
495
+    <history-entry file="ConwayGameOfLifeTest - 2018.03.12 at 16h 26m 32s.xml">
511 496
       <configuration name="ConwayGameOfLifeTest" configurationId="JUnit" />
512 497
     </history-entry>
513
-    <history-entry file="ConwayGameOfLifeTest - 2018.02.26 at 15h 59m 00s.xml">
498
+    <history-entry file="ConwayGameOfLifeTest - 2018.03.12 at 16h 27m 57s.xml">
514 499
       <configuration name="ConwayGameOfLifeTest" configurationId="JUnit" />
515 500
     </history-entry>
516
-    <history-entry file="ConwayGameOfLifeTest - 2018.02.26 at 16h 02m 03s.xml">
501
+    <history-entry file="ConwayGameOfLifeTest - 2018.03.12 at 16h 34m 06s.xml">
517 502
       <configuration name="ConwayGameOfLifeTest" configurationId="JUnit" />
518 503
     </history-entry>
519
-    <history-entry file="ConwayGameOfLifeTest - 2018.02.26 at 16h 03m 01s.xml">
504
+    <history-entry file="ConwayGameOfLifeTest - 2018.03.12 at 16h 38m 31s.xml">
520 505
       <configuration name="ConwayGameOfLifeTest" configurationId="JUnit" />
521 506
     </history-entry>
522
-    <history-entry file="ConwayGameOfLifeTest - 2018.02.26 at 16h 05m 07s.xml">
523
-      <configuration name="ConwayGameOfLifeTest" configurationId="JUnit" />
507
+    <history-entry file="ConwayGameOfLifeTest_runTest1 - 2018.03.12 at 16h 21m 49s.xml">
508
+      <configuration name="ConwayGameOfLifeTest.runTest1" configurationId="JUnit" />
524 509
     </history-entry>
525
-    <history-entry file="ConwayGameOfLifeTest - 2018.02.26 at 16h 06m 11s.xml">
526
-      <configuration name="ConwayGameOfLifeTest" configurationId="JUnit" />
510
+    <history-entry file="ConwayGameOfLifeTest_runTest1 - 2018.03.12 at 16h 22m 07s.xml">
511
+      <configuration name="ConwayGameOfLifeTest.runTest1" configurationId="JUnit" />
527 512
     </history-entry>
528
-    <history-entry file="ConwayGameOfLifeTest_runTest - 2018.02.26 at 15h 41m 14s.xml">
529
-      <configuration name="ConwayGameOfLifeTest.runTest" configurationId="JUnit" />
513
+    <history-entry file="ConwayGameOfLifeTest_runTest1 - 2018.03.12 at 16h 22m 16s.xml">
514
+      <configuration name="ConwayGameOfLifeTest.runTest1" configurationId="JUnit" />
530 515
     </history-entry>
531 516
     <history-entry file="ConwayGameOfLifeTest_runTest2 - 2018.02.26 at 15h 42m 02s.xml">
532 517
       <configuration name="ConwayGameOfLifeTest.runTest2" configurationId="JUnit" />
@@ -534,41 +519,43 @@
534 519
     <history-entry file="ConwayGameOfLifeTest_runTest2 - 2018.02.26 at 15h 42m 18s.xml">
535 520
       <configuration name="ConwayGameOfLifeTest.runTest2" configurationId="JUnit" />
536 521
     </history-entry>
522
+    <history-entry file="ConwayGameOfLifeTest_runTest2 - 2018.03.12 at 17h 40m 52s.xml">
523
+      <configuration name="ConwayGameOfLifeTest.runTest2" configurationId="JUnit" />
524
+    </history-entry>
537 525
   </component>
538 526
   <component name="TimeTrackingManager">
539
-    <option name="totallyTimeSpent" value="14517000" />
527
+    <option name="totallyTimeSpent" value="26814000" />
540 528
   </component>
541 529
   <component name="ToolWindowManager">
542
-    <frame x="82" y="32" width="1440" height="821" extended-state="0" />
543
-    <editor active="true" />
530
+    <frame x="0" y="0" width="1280" height="800" extended-state="0" />
544 531
     <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" />
532
+      <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="3" side_tool="false" content_ui="tabs" />
546 533
       <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" />
534
+      <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="3" side_tool="false" content_ui="tabs" />
535
+      <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="2" side_tool="false" content_ui="tabs" />
536
+      <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="3" side_tool="false" content_ui="tabs" />
537
+      <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="7" side_tool="true" content_ui="tabs" />
538
+      <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="3" side_tool="false" content_ui="tabs" />
539
+      <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.5323246" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
540
+      <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="7" side_tool="false" content_ui="tabs" />
541
+      <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3287483" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
542
+      <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="2" side_tool="false" content_ui="tabs" />
543
+      <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="2" side_tool="false" content_ui="tabs" />
544
+      <window_info id="Project" active="true" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.25928918" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
545
+      <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="3" side_tool="false" content_ui="tabs" />
560 546
       <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 547
       <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" />
548
+      <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="2" side_tool="false" content_ui="tabs" />
549
+      <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="3" side_tool="false" content_ui="tabs" />
564 550
       <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" />
551
+      <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="2" side_tool="true" content_ui="tabs" />
566 552
       <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 553
       <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 554
       <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" />
555
+      <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" />
556
+      <window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32462174" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
571 557
       <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" />
558
+      <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" />
572 559
     </layout>
573 560
   </component>
574 561
   <component name="TypeScriptGeneratedFilesManager">
@@ -584,30 +571,120 @@
584 571
     <watches-manager />
585 572
   </component>
586 573
   <component name="editorHistoryManager">
587
-    <entry file="file://$PROJECT_DIR$/pom.xml">
574
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodeconway/SimpleWindow.java">
588 575
       <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" />
576
+        <state relative-caret-position="615">
577
+          <caret line="42" column="35" lean-forward="false" selection-start-line="42" selection-start-column="35" selection-end-line="43" selection-end-column="17" />
578
+          <folding>
579
+            <element signature="imports" expanded="true" />
580
+          </folding>
581
+        </state>
582
+      </provider>
583
+    </entry>
584
+    <entry file="file://$PROJECT_DIR$/src/test/java/com/zipcodeconway/ConwayGameOfLifeTest.java">
585
+      <provider selected="true" editor-type-id="text-editor">
586
+        <state relative-caret-position="285">
587
+          <caret line="21" column="32" lean-forward="false" selection-start-line="21" selection-start-column="32" selection-end-line="21" selection-end-column="32" />
591 588
           <folding />
592 589
         </state>
593 590
       </provider>
594 591
     </entry>
595
-    <entry file="file://$PROJECT_DIR$/src/main/java/LifeStarts.java">
592
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodeconway/ConwayGameOfLife.java">
596 593
       <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" />
594
+        <state relative-caret-position="345">
595
+          <caret line="23" column="54" lean-forward="false" selection-start-line="23" selection-start-column="54" selection-end-line="23" selection-end-column="54" />
599 596
           <folding />
600 597
         </state>
601 598
       </provider>
602 599
     </entry>
603
-    <entry file="file://$PROJECT_DIR$/src/main/java/Life.java">
600
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodeconway/SimpleWindow.java">
604 601
       <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" />
602
+        <state relative-caret-position="615">
603
+          <caret line="42" column="35" lean-forward="false" selection-start-line="42" selection-start-column="35" selection-end-line="43" selection-end-column="17" />
604
+          <folding>
605
+            <element signature="imports" expanded="true" />
606
+          </folding>
607
+        </state>
608
+      </provider>
609
+    </entry>
610
+    <entry file="file://$PROJECT_DIR$/src/test/java/com/zipcodeconway/ConwayGameOfLifeTest.java">
611
+      <provider selected="true" editor-type-id="text-editor">
612
+        <state relative-caret-position="285">
613
+          <caret line="21" column="32" lean-forward="false" selection-start-line="21" selection-start-column="32" selection-end-line="21" selection-end-column="32" />
614
+          <folding />
615
+        </state>
616
+      </provider>
617
+    </entry>
618
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodeconway/ConwayGameOfLife.java">
619
+      <provider selected="true" editor-type-id="text-editor">
620
+        <state relative-caret-position="345">
621
+          <caret line="23" column="54" lean-forward="true" selection-start-line="23" selection-start-column="54" selection-end-line="23" selection-end-column="54" />
622
+          <folding />
623
+        </state>
624
+      </provider>
625
+    </entry>
626
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodeconway/SimpleWindow.java">
627
+      <provider selected="true" editor-type-id="text-editor">
628
+        <state relative-caret-position="615">
629
+          <caret line="42" column="35" lean-forward="false" selection-start-line="42" selection-start-column="35" selection-end-line="43" selection-end-column="17" />
630
+          <folding>
631
+            <element signature="imports" expanded="true" />
632
+          </folding>
633
+        </state>
634
+      </provider>
635
+    </entry>
636
+    <entry file="file://$PROJECT_DIR$/src/test/java/com/zipcodeconway/ConwayGameOfLifeTest.java">
637
+      <provider selected="true" editor-type-id="text-editor">
638
+        <state relative-caret-position="285">
639
+          <caret line="21" column="32" lean-forward="true" selection-start-line="21" selection-start-column="32" selection-end-line="21" selection-end-column="32" />
640
+          <folding />
641
+        </state>
642
+      </provider>
643
+    </entry>
644
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodeconway/ConwayGameOfLife.java">
645
+      <provider selected="true" editor-type-id="text-editor">
646
+        <state relative-caret-position="915">
647
+          <caret line="61" column="5" lean-forward="true" selection-start-line="61" selection-start-column="5" selection-end-line="61" selection-end-column="5" />
607 648
           <folding />
608 649
         </state>
609 650
       </provider>
610 651
     </entry>
652
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodeconway/SimpleWindow.java">
653
+      <provider selected="true" editor-type-id="text-editor">
654
+        <state relative-caret-position="240">
655
+          <caret line="17" column="42" lean-forward="false" selection-start-line="17" selection-start-column="42" selection-end-line="17" selection-end-column="42" />
656
+          <folding>
657
+            <element signature="imports" expanded="true" />
658
+          </folding>
659
+        </state>
660
+      </provider>
661
+    </entry>
662
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodeconway/ConwayGameOfLife.java">
663
+      <provider selected="true" editor-type-id="text-editor">
664
+        <state relative-caret-position="300">
665
+          <caret line="20" column="0" lean-forward="false" selection-start-line="20" selection-start-column="0" selection-end-line="20" selection-end-column="0" />
666
+          <folding />
667
+        </state>
668
+      </provider>
669
+    </entry>
670
+    <entry file="file://$PROJECT_DIR$/src/test/java/com/zipcodeconway/ConwayGameOfLifeTest.java">
671
+      <provider selected="true" editor-type-id="text-editor">
672
+        <state relative-caret-position="450">
673
+          <caret line="32" column="32" lean-forward="false" selection-start-line="32" selection-start-column="32" selection-end-line="32" selection-end-column="32" />
674
+          <folding />
675
+        </state>
676
+      </provider>
677
+    </entry>
678
+    <entry file="file://$PROJECT_DIR$/pom.xml">
679
+      <provider selected="true" editor-type-id="text-editor">
680
+        <state relative-caret-position="187">
681
+          <caret line="11" column="10" lean-forward="false" selection-start-line="11" selection-start-column="10" selection-end-line="11" selection-end-column="10" />
682
+          <folding />
683
+        </state>
684
+      </provider>
685
+    </entry>
686
+    <entry file="file://$PROJECT_DIR$/src/main/java/LifeStarts.java" />
687
+    <entry file="file://$PROJECT_DIR$/src/main/java/Life.java" />
611 688
     <entry file="uml://JAVA/com.zipcodeconway.ConwayGameOfLife">
612 689
       <provider selected="true" editor-type-id="UmlEditorProvider">
613 690
         <state>
@@ -629,39 +706,38 @@
629 706
         </state>
630 707
       </provider>
631 708
     </entry>
632
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodeconway/README.md">
709
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodeconway/README.md" />
710
+    <entry file="file://$USER_HOME$/Downloads/ConwayLifeRandomat50.png" />
711
+    <entry file="file://$USER_HOME$/Documents/gitea/gitea/custom/public/img/ConwayLifeUML.png" />
712
+    <entry file="file://$PROJECT_DIR$/src/main/java/GameofLife.java" />
713
+    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodeconway/Screen Shot 2018-03-12 at 4.42.28 PM.png">
714
+      <provider selected="true" editor-type-id="images">
715
+        <state />
716
+      </provider>
717
+    </entry>
718
+    <entry file="file://$PROJECT_DIR$/README.md">
633 719
       <provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
634 720
         <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" />
721
+          <first_editor relative-caret-position="0">
722
+            <caret line="0" column="0" lean-forward="false" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
637 723
             <folding />
638 724
           </first_editor>
639 725
           <second_editor />
640 726
         </state>
641 727
       </provider>
642 728
     </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">
729
+    <entry file="file://$PROJECT_DIR$/src/test/java/com/zipcodeconway/ConwayGameOfLifeTest.java">
654 730
       <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" />
731
+        <state relative-caret-position="285">
732
+          <caret line="21" column="32" lean-forward="false" selection-start-line="21" selection-start-column="32" selection-end-line="21" selection-end-column="32" />
657 733
           <folding />
658 734
         </state>
659 735
       </provider>
660 736
     </entry>
661 737
     <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodeconway/SimpleWindow.java">
662 738
       <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" />
739
+        <state relative-caret-position="615">
740
+          <caret line="42" column="35" lean-forward="false" selection-start-line="42" selection-start-column="35" selection-end-line="43" selection-end-column="17" />
665 741
           <folding>
666 742
             <element signature="imports" expanded="true" />
667 743
           </folding>
@@ -670,22 +746,8 @@
670 746
     </entry>
671 747
     <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodeconway/ConwayGameOfLife.java">
672 748
       <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" />
749
+        <state relative-caret-position="154">
750
+          <caret line="23" column="54" lean-forward="false" selection-start-line="23" selection-start-column="54" selection-end-line="23" selection-end-column="54" />
689 751
           <folding />
690 752
         </state>
691 753
       </provider>

+ 75
- 4
src/main/java/com/zipcodeconway/ConwayGameOfLife.java 查看文件

@@ -2,31 +2,69 @@ package com.zipcodeconway;
2 2
 
3 3
 public class ConwayGameOfLife {
4 4
 
5
+    private int[][] currentGen;
6
+    private int[][] nextGen;
7
+    private SimpleWindow displayWindow;
8
+
5 9
     public ConwayGameOfLife(Integer dimension) {
10
+
11
+        this.currentGen = createRandomStart(dimension);
12
+        this.nextGen = new int [dimension][dimension];
13
+        this.displayWindow = new SimpleWindow(dimension);
6 14
      }
7 15
 
8 16
     public ConwayGameOfLife(Integer dimension, int[][] startmatrix) {
17
+
18
+        this.currentGen = startmatrix;
19
+        this.nextGen = new int [dimension][dimension];
20
+        this.displayWindow = new SimpleWindow(dimension);
9 21
     }
10 22
 
11 23
     public static void main(String[] args) {
12 24
         ConwayGameOfLife sim = new ConwayGameOfLife(50);
13
-        int[][] endingWorld = sim.simulate(50);
25
+        int[][] endingWorld = sim.simulate(500);
14 26
     }
15 27
 
16 28
     // Contains the logic for the starting scenario.
17 29
     // Which cells are alive or dead in generation 0.
18 30
     // allocates and returns the starting matrix of size 'dimension'
19 31
     private int[][] createRandomStart(Integer dimension) {
20
-        return new int[1][1];
32
+        int[][] randStart = new int[dimension][dimension];
33
+        for (int i = 0; i < randStart.length; i++) {
34
+            for (int j = 0; j < randStart.length; j++) {
35
+                randStart[i][j] = (int)Math.round(Math.random());
36
+            }
37
+        } return randStart;
21 38
     }
22 39
 
23 40
     public int[][] simulate(Integer maxGenerations) {
24
-        return new int[1][1];
41
+        int generations = 0;
42
+
43
+        while (generations <= maxGenerations) {
44
+            this.displayWindow.display(currentGen, generations);
45
+
46
+            for (int i = 0; i < currentGen.length; i++) {
47
+                for (int j = 0; j < currentGen.length; j++) {
48
+                    nextGen[i][j] = isAlive(i, j, currentGen);
49
+                }
50
+            }
51
+            this.displayWindow.sleep(125);
52
+            copyAndZeroOut(nextGen, currentGen);
53
+            generations++;
54
+        }
55
+        return currentGen;
25 56
     }
26 57
 
27 58
     // copy the values of 'next' matrix to 'current' matrix,
28 59
     // and then zero out the contents of 'next' matrix
29 60
     public void copyAndZeroOut(int [][] next, int[][] current) {
61
+
62
+        for (int i = 0; i < current.length; i++) {
63
+            for (int j = 0; j < current.length; j++) {
64
+                current[i][j] = next[i][j];
65
+                next[i][j] = 0;
66
+            }
67
+        }
30 68
     }
31 69
 
32 70
     // Calculate if an individual cell should be alive in the next generation.
@@ -38,6 +76,39 @@ public class ConwayGameOfLife {
38 76
 		Any dead cell with exactly three live neighbours cells will come to life.
39 77
 	*/
40 78
     private int isAlive(int row, int col, int[][] world) {
41
-        return 0;
79
+
80
+        int numberOfLivingNeighbors = numberOfNeighborsAlive(row, col, world);
81
+
82
+        if (numberOfLivingNeighbors > 2 && numberOfLivingNeighbors <= 3)
83
+            return 1;
84
+        else if (numberOfLivingNeighbors < 2 || numberOfLivingNeighbors > 3)
85
+            return 0;
86
+        else return world[row][col];
87
+
88
+    }
89
+
90
+    public int numberOfNeighborsAlive(int row, int col, int[][] world) {
91
+
92
+        int north = col - 1;
93
+        int south = col + 1;
94
+        int east = row + 1;
95
+        int west = row -1;
96
+
97
+        if (north < 0) {
98
+            north = world[row].length-1;
99
+        }
100
+        if (south == world[row].length) {
101
+            south = 0;
102
+        }
103
+        if (east == world[col].length) {
104
+            east = 0;
105
+        }
106
+        if (west < 0) {
107
+            west = world[col].length - 1;
108
+        }
109
+
110
+        return world[row][north] + world[row][south] + world[east][col] + world[west][col]
111
+                + world[east][north] + world[east][south] + world[west][north] + world[west][south];
112
+
42 113
     }
43 114
 }

二進制
src/main/java/com/zipcodeconway/Screen Shot 2018-03-12 at 4.42.28 PM.png 查看文件


+ 1
- 1
src/main/java/com/zipcodeconway/SimpleWindow.java 查看文件

@@ -39,7 +39,7 @@ public class SimpleWindow {
39 39
             for (int j = 0; j < array[0].length; j++) {
40 40
                 g.drawRect(i * BOX_DIM, j * BOX_DIM, 10, 10);
41 41
                 if (array[i][j] == 0) {
42
-                    g.setColor(Color.WHITE);
42
+                    g.setColor(Color.GREEN);
43 43
                     g.fillRect(i * BOX_DIM, j * BOX_DIM, 10, 10);
44 44
                 }
45 45
                 if (array[i][j] == 1) {