浏览代码

i spent an our trying to fix a bug but all i had to do was turn the else if into a if...

ghost1497 6 年前
父节点
当前提交
58a0bcc5b2
共有 8 个文件被更改,包括 169 次插入551 次删除
  1. 1
    0
      .idea/.name
  2. 3
    1
      .idea/misc.xml
  3. 1
    1
      .idea/modules.xml
  4. 0
    124
      .idea/uiDesigner.xml
  5. 1
    1
      .idea/vcs.xml
  6. 73
    417
      .idea/workspace.xml
  7. 0
    1
      Game-Of-Life-Java.iml
  8. 90
    6
      src/main/java/com/zipcodeconway/ConwayGameOfLife.java

+ 1
- 0
.idea/.name 查看文件

@@ -0,0 +1 @@
1
+Game-Of-Life-Java

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

@@ -7,5 +7,7 @@
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_8" project-jdk-name="1.8" project-jdk-type="JavaSDK">
11
+    <output url="file://$PROJECT_DIR$/classes" />
12
+  </component>
11 13
 </project>

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

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

+ 0
- 124
.idea/uiDesigner.xml 查看文件

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

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

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

+ 73
- 417
.idea/workspace.xml 查看文件

@@ -1,7 +1,15 @@
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="3cec3003-c8fa-4876-bce6-47ea58dfac1c" name="Default" comment="">
5
+      <change beforePath="$PROJECT_DIR$/.idea/Game-Of-Life-Java.iml" afterPath="" />
6
+      <change beforePath="$PROJECT_DIR$/.idea/misc.xml" afterPath="$PROJECT_DIR$/.idea/misc.xml" />
7
+      <change beforePath="$PROJECT_DIR$/.idea/modules.xml" afterPath="$PROJECT_DIR$/.idea/modules.xml" />
8
+      <change beforePath="$PROJECT_DIR$/.idea/uiDesigner.xml" afterPath="" />
9
+      <change beforePath="$PROJECT_DIR$/.idea/vcs.xml" afterPath="$PROJECT_DIR$/.idea/vcs.xml" />
10
+      <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
11
+      <change beforePath="$PROJECT_DIR$/src/main/java/com/zipcodeconway/ConwayGameOfLife.java" afterPath="$PROJECT_DIR$/src/main/java/com/zipcodeconway/ConwayGameOfLife.java" />
12
+    </list>
5 13
     <ignored path="$PROJECT_DIR$/target/" />
6 14
     <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
7 15
     <option name="TRACKING_ENABLED" value="true" />
@@ -12,14 +20,12 @@
12 20
   </component>
13 21
   <component name="FileEditorManager">
14 22
     <leaf>
15
-      <file leaf-file-name="SimpleWindow.java" pinned="false" current-in-tab="false">
16
-        <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodeconway/SimpleWindow.java">
23
+      <file leaf-file-name="ConwayGameOfLifeTest.java" pinned="false" current-in-tab="true">
24
+        <entry file="file://$PROJECT_DIR$/src/test/java/com/zipcodeconway/ConwayGameOfLifeTest.java">
17 25
           <provider selected="true" editor-type-id="text-editor">
18
-            <state relative-caret-position="289">
19
-              <caret line="17" column="42" lean-forward="false" selection-start-line="17" selection-start-column="42" selection-end-line="17" selection-end-column="42" />
20
-              <folding>
21
-                <element signature="imports" expanded="true" />
22
-              </folding>
26
+            <state relative-caret-position="60">
27
+              <caret line="6" column="13" lean-forward="false" selection-start-line="6" selection-start-column="13" selection-end-line="6" selection-end-column="13" />
28
+              <folding />
23 29
             </state>
24 30
           </provider>
25 31
         </entry>
@@ -27,83 +33,35 @@
27 33
       <file leaf-file-name="ConwayGameOfLife.java" pinned="false" current-in-tab="false">
28 34
         <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodeconway/ConwayGameOfLife.java">
29 35
           <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 />
36
+            <state relative-caret-position="1200">
37
+              <caret line="80" column="29" lean-forward="true" selection-start-line="80" selection-start-column="29" selection-end-line="80" selection-end-column="29" />
38
+              <folding />
75 39
             </state>
76 40
           </provider>
77 41
         </entry>
78 42
       </file>
79
-      <file leaf-file-name="ConwayGameOfLifeTest.java" pinned="false" current-in-tab="true">
80
-        <entry file="file://$PROJECT_DIR$/src/test/java/com/zipcodeconway/ConwayGameOfLifeTest.java">
43
+      <file leaf-file-name="SimpleWindow.java" pinned="false" current-in-tab="false">
44
+        <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodeconway/SimpleWindow.java">
81 45
           <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 />
46
+            <state relative-caret-position="90">
47
+              <caret line="6" column="24" lean-forward="true" selection-start-line="6" selection-start-column="24" selection-end-line="6" selection-end-column="24" />
48
+              <folding>
49
+                <element signature="imports" expanded="true" />
50
+              </folding>
85 51
             </state>
86 52
           </provider>
87 53
         </entry>
88 54
       </file>
89 55
     </leaf>
90 56
   </component>
91
-  <component name="FileTemplateManagerImpl">
92
-    <option name="RECENT_TEMPLATES">
93
-      <list>
94
-        <option value="Arquillian JUnit Test Class" />
95
-        <option value="Class" />
96
-        <option value="JUnit4 Test Class" />
97
-      </list>
98
-    </option>
99
-  </component>
100 57
   <component name="FindInProjectRecents">
101 58
     <findStrings>
102
-      <find>end</find>
59
+      <find>startmatrix</find>
60
+      <find>west</find>
103 61
     </findStrings>
104 62
     <replaceStrings>
105 63
       <replace>currentGeneration</replace>
106
-      <replace>nextGeneration</replace>
64
+      <replace>left</replace>
107 65
     </replaceStrings>
108 66
   </component>
109 67
   <component name="Git.Settings">
@@ -117,17 +75,6 @@
117 75
   <component name="IdeDocumentHistory">
118 76
     <option name="CHANGED_PATHS">
119 77
       <list>
120
-        <option value="$PROJECT_DIR$/LifeStarts.java" />
121
-        <option value="$PROJECT_DIR$/pom.xml" />
122
-        <option value="$PROJECT_DIR$/src/main/java/GameOnLife.java" />
123
-        <option value="$PROJECT_DIR$/src/main/java/GameOfLife.java" />
124
-        <option value="$PROJECT_DIR$/src/main/java/GameofLife.java" />
125
-        <option value="$PROJECT_DIR$/src/main/java/SimpleWindow.java" />
126
-        <option value="$PROJECT_DIR$/src/main/java/ConwayGameOfLife.java" />
127
-        <option value="$PROJECT_DIR$/src/main/java/Life.java" />
128
-        <option value="$PROJECT_DIR$/src/test/java/com/zipcodeconway/ConwayGameOfLifeTest.java" />
129
-        <option value="$PROJECT_DIR$/src/main/java/com/zipcodeconway/SimpleWindow.java" />
130
-        <option value="$PROJECT_DIR$/src/main/java/com/zipcodeconway/README.md" />
131 78
         <option value="$PROJECT_DIR$/src/main/java/com/zipcodeconway/ConwayGameOfLife.java" />
132 79
       </list>
133 80
     </option>
@@ -138,11 +85,14 @@
138 85
     <detection-done>true</detection-done>
139 86
     <sorting>DEFINITION_ORDER</sorting>
140 87
   </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" />
88
+  <component name="ProjectFrameBounds" fullScreen="true">
89
+    <option name="x" value="1280" />
90
+    <option name="y" value="-447" />
91
+    <option name="width" value="1920" />
92
+    <option name="height" value="1080" />
93
+  </component>
94
+  <component name="ProjectLevelVcsManager" settingsEditedManually="true">
95
+    <ConfirmationsSetting value="1" id="Add" />
146 96
   </component>
147 97
   <component name="ProjectView">
148 98
     <navigator currentView="ProjectPane" proportions="" version="1">
@@ -159,34 +109,38 @@
159 109
       <foldersAlwaysOnTop value="true" />
160 110
     </navigator>
161 111
     <panes>
112
+      <pane id="Scope" />
113
+      <pane id="AndroidView" />
114
+      <pane id="PackagesPane" />
115
+      <pane id="Scratches" />
162 116
       <pane id="ProjectPane">
163 117
         <subPane>
164 118
           <expand>
165 119
             <path>
166 120
               <item name="Game-Of-Life-Java" type="b2602c69:ProjectViewProjectNode" />
167
-              <item name="Game-Of-Life-Java" type="462c0819:PsiDirectoryNode" />
121
+              <item name="ConwayGameOfLife" type="462c0819:PsiDirectoryNode" />
168 122
             </path>
169 123
             <path>
170 124
               <item name="Game-Of-Life-Java" type="b2602c69:ProjectViewProjectNode" />
171
-              <item name="Game-Of-Life-Java" type="462c0819:PsiDirectoryNode" />
125
+              <item name="ConwayGameOfLife" type="462c0819:PsiDirectoryNode" />
172 126
               <item name="src" type="462c0819:PsiDirectoryNode" />
173 127
             </path>
174 128
             <path>
175 129
               <item name="Game-Of-Life-Java" type="b2602c69:ProjectViewProjectNode" />
176
-              <item name="Game-Of-Life-Java" type="462c0819:PsiDirectoryNode" />
130
+              <item name="ConwayGameOfLife" type="462c0819:PsiDirectoryNode" />
177 131
               <item name="src" type="462c0819:PsiDirectoryNode" />
178 132
               <item name="main" type="462c0819:PsiDirectoryNode" />
179 133
             </path>
180 134
             <path>
181 135
               <item name="Game-Of-Life-Java" type="b2602c69:ProjectViewProjectNode" />
182
-              <item name="Game-Of-Life-Java" type="462c0819:PsiDirectoryNode" />
136
+              <item name="ConwayGameOfLife" type="462c0819:PsiDirectoryNode" />
183 137
               <item name="src" type="462c0819:PsiDirectoryNode" />
184 138
               <item name="main" type="462c0819:PsiDirectoryNode" />
185 139
               <item name="java" type="462c0819:PsiDirectoryNode" />
186 140
             </path>
187 141
             <path>
188 142
               <item name="Game-Of-Life-Java" type="b2602c69:ProjectViewProjectNode" />
189
-              <item name="Game-Of-Life-Java" type="462c0819:PsiDirectoryNode" />
143
+              <item name="ConwayGameOfLife" type="462c0819:PsiDirectoryNode" />
190 144
               <item name="src" type="462c0819:PsiDirectoryNode" />
191 145
               <item name="main" type="462c0819:PsiDirectoryNode" />
192 146
               <item name="java" type="462c0819:PsiDirectoryNode" />
@@ -194,20 +148,20 @@
194 148
             </path>
195 149
             <path>
196 150
               <item name="Game-Of-Life-Java" type="b2602c69:ProjectViewProjectNode" />
197
-              <item name="Game-Of-Life-Java" type="462c0819:PsiDirectoryNode" />
151
+              <item name="ConwayGameOfLife" type="462c0819:PsiDirectoryNode" />
198 152
               <item name="src" type="462c0819:PsiDirectoryNode" />
199 153
               <item name="test" type="462c0819:PsiDirectoryNode" />
200 154
             </path>
201 155
             <path>
202 156
               <item name="Game-Of-Life-Java" type="b2602c69:ProjectViewProjectNode" />
203
-              <item name="Game-Of-Life-Java" type="462c0819:PsiDirectoryNode" />
157
+              <item name="ConwayGameOfLife" type="462c0819:PsiDirectoryNode" />
204 158
               <item name="src" type="462c0819:PsiDirectoryNode" />
205 159
               <item name="test" type="462c0819:PsiDirectoryNode" />
206 160
               <item name="java" type="462c0819:PsiDirectoryNode" />
207 161
             </path>
208 162
             <path>
209 163
               <item name="Game-Of-Life-Java" type="b2602c69:ProjectViewProjectNode" />
210
-              <item name="Game-Of-Life-Java" type="462c0819:PsiDirectoryNode" />
164
+              <item name="ConwayGameOfLife" type="462c0819:PsiDirectoryNode" />
211 165
               <item name="src" type="462c0819:PsiDirectoryNode" />
212 166
               <item name="test" type="462c0819:PsiDirectoryNode" />
213 167
               <item name="java" type="462c0819:PsiDirectoryNode" />
@@ -217,36 +171,13 @@
217 171
           <select />
218 172
         </subPane>
219 173
       </pane>
220
-      <pane id="PackagesPane" />
221
-      <pane id="AndroidView" />
222
-      <pane id="Scratches" />
223
-      <pane id="Scope" />
224 174
     </panes>
225 175
   </component>
226 176
   <component name="PropertiesComponent">
227 177
     <property name="nodejs_interpreter_path.stuck_in_default_project" value="undefined stuck path" />
228 178
     <property name="WebServerToolWindowFactoryState" value="false" />
229 179
     <property name="aspect.path.notification.shown" value="true" />
230
-    <property name="last_opened_file_path" value="$PROJECT_DIR$" />
231
-    <property name="settings.editor.selected.configurable" value="preferences.lookFeel" />
232
-    <property name="project.structure.last.edited" value="Modules" />
233
-    <property name="project.structure.proportion" value="0.15" />
234
-    <property name="project.structure.side.proportion" value="0.2" />
235
-    <property name="com.intellij.testIntegration.createTest.CreateTestDialog.defaultLibrary" value="JUnit4" />
236
-  </component>
237
-  <component name="RecentsManager">
238
-    <key name="CreateTestDialog.RecentsKey">
239
-      <recent name="com.zipcodeconway" />
240
-    </key>
241
-    <key name="CopyFile.RECENT_KEYS">
242
-      <recent name="$PROJECT_DIR$" />
243
-    </key>
244
-    <key name="CreateTestDialog.Recents.Supers">
245
-      <recent name="" />
246
-    </key>
247
-    <key name="MoveFile.RECENT_KEYS">
248
-      <recent name="$PROJECT_DIR$/src/main/java" />
249
-    </key>
180
+    <property name="last_opened_file_path" value="$PROJECT_DIR$/pom.xml" />
250 181
   </component>
251 182
   <component name="RunDashboard">
252 183
     <option name="ruleStates">
@@ -287,20 +218,6 @@
287 218
       <module name="Game-Of-Life-Java" />
288 219
       <envs />
289 220
     </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 221
     <configuration default="true" type="Application" factoryName="Application">
305 222
       <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
306 223
       <option name="MAIN_CLASS_NAME" />
@@ -340,56 +257,6 @@
340 257
       <envs />
341 258
       <patterns />
342 259
     </configuration>
343
-    <configuration name="ConwayGameOfLifeTest.runTest" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
344
-      <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea">
345
-        <pattern>
346
-          <option name="PATTERN" value="com.zipcodeconway.*" />
347
-          <option name="ENABLED" value="true" />
348
-        </pattern>
349
-      </extension>
350
-      <module name="Game-Of-Life-Java" />
351
-      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
352
-      <option name="ALTERNATIVE_JRE_PATH" />
353
-      <option name="PACKAGE_NAME" value="com.zipcodeconway" />
354
-      <option name="MAIN_CLASS_NAME" value="com.zipcodeconway.ConwayGameOfLifeTest" />
355
-      <option name="METHOD_NAME" value="runTest" />
356
-      <option name="TEST_OBJECT" value="method" />
357
-      <option name="VM_PARAMETERS" value="-ea" />
358
-      <option name="PARAMETERS" />
359
-      <option name="WORKING_DIRECTORY" value="%MODULE_WORKING_DIR%" />
360
-      <option name="ENV_VARIABLES" />
361
-      <option name="PASS_PARENT_ENVS" value="true" />
362
-      <option name="TEST_SEARCH_SCOPE">
363
-        <value defaultName="singleModule" />
364
-      </option>
365
-      <envs />
366
-      <patterns />
367
-    </configuration>
368
-    <configuration name="ConwayGameOfLifeTest.runTest2" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
369
-      <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea">
370
-        <pattern>
371
-          <option name="PATTERN" value="com.zipcodeconway.*" />
372
-          <option name="ENABLED" value="true" />
373
-        </pattern>
374
-      </extension>
375
-      <module name="Game-Of-Life-Java" />
376
-      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
377
-      <option name="ALTERNATIVE_JRE_PATH" />
378
-      <option name="PACKAGE_NAME" value="com.zipcodeconway" />
379
-      <option name="MAIN_CLASS_NAME" value="com.zipcodeconway.ConwayGameOfLifeTest" />
380
-      <option name="METHOD_NAME" value="runTest2" />
381
-      <option name="TEST_OBJECT" value="method" />
382
-      <option name="VM_PARAMETERS" value="-ea" />
383
-      <option name="PARAMETERS" />
384
-      <option name="WORKING_DIRECTORY" value="%MODULE_WORKING_DIR%" />
385
-      <option name="ENV_VARIABLES" />
386
-      <option name="PASS_PARENT_ENVS" value="true" />
387
-      <option name="TEST_SEARCH_SCOPE">
388
-        <value defaultName="singleModule" />
389
-      </option>
390
-      <envs />
391
-      <patterns />
392
-    </configuration>
393 260
     <configuration default="true" type="JUnit" factoryName="JUnit">
394 261
       <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
395 262
       <module name="" />
@@ -410,27 +277,6 @@
410 277
       <envs />
411 278
       <patterns />
412 279
     </configuration>
413
-    <configuration name="ConwayLife" type="MavenRunConfiguration" factoryName="Maven">
414
-      <MavenSettings>
415
-        <option name="myGeneralSettings" />
416
-        <option name="myRunnerSettings" />
417
-        <option name="myRunnerParameters">
418
-          <MavenRunnerParameters>
419
-            <option name="profiles">
420
-              <set />
421
-            </option>
422
-            <option name="goals">
423
-              <list />
424
-            </option>
425
-            <option name="profilesMap">
426
-              <map />
427
-            </option>
428
-            <option name="resolveToWorkspace" value="false" />
429
-            <option name="workingDirPath" value="$PROJECT_DIR$" />
430
-          </MavenRunnerParameters>
431
-        </option>
432
-      </MavenSettings>
433
-    </configuration>
434 280
     <configuration default="true" type="Remote" factoryName="Remote">
435 281
       <option name="USE_SOCKET_TRANSPORT" value="true" />
436 282
       <option name="SERVER_MODE" value="false" />
@@ -471,21 +317,14 @@
471 317
       <option name="PROGRAM_PARAMETERS" />
472 318
       <predefined_log_file id="idea.log" enabled="true" />
473 319
     </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" />
320
+    <list size="2">
321
+      <item index="0" class="java.lang.String" itemvalue="JUnit.ConwayGameOfLifeTest" />
322
+      <item index="1" class="java.lang.String" itemvalue="Application.ConwayGameOfLife" />
481 323
     </list>
482 324
     <recent_temporary>
483
-      <list size="5">
325
+      <list size="2">
484 326
         <item index="0" class="java.lang.String" itemvalue="JUnit.ConwayGameOfLifeTest" />
485 327
         <item index="1" class="java.lang.String" itemvalue="Application.ConwayGameOfLife" />
486
-        <item index="2" class="java.lang.String" itemvalue="JUnit.ConwayGameOfLifeTest.runTest2" />
487
-        <item index="3" class="java.lang.String" itemvalue="JUnit.ConwayGameOfLifeTest.runTest" />
488
-        <item index="4" class="java.lang.String" itemvalue="Application.GameofLife" />
489 328
       </list>
490 329
     </recent_temporary>
491 330
   </component>
@@ -497,71 +336,50 @@
497 336
   </component>
498 337
   <component name="TaskManager">
499 338
     <task active="true" id="Default" summary="Default task">
500
-      <changelist id="e282cee1-bfe9-42a3-9794-9633eb4654d1" name="Default" comment="" />
501
-      <created>1519668901598</created>
339
+      <changelist id="3cec3003-c8fa-4876-bce6-47ea58dfac1c" name="Default" comment="" />
340
+      <created>1520867264394</created>
502 341
       <option name="number" value="Default" />
503 342
       <option name="presentableId" value="Default" />
504
-      <updated>1519668901598</updated>
505
-      <workItem from="1519668902904" duration="14517000" />
343
+      <updated>1520867264394</updated>
344
+      <workItem from="1520867268180" duration="9778000" />
506 345
     </task>
507 346
     <servers />
508 347
   </component>
509 348
   <component name="TestHistory">
510
-    <history-entry file="ConwayGameOfLifeTest - 2018.02.26 at 15h 45m 01s.xml">
349
+    <history-entry file="ConwayGameOfLifeTest - 2018.03.12 at 11h 08m 25s.xml">
511 350
       <configuration name="ConwayGameOfLifeTest" configurationId="JUnit" />
512 351
     </history-entry>
513
-    <history-entry file="ConwayGameOfLifeTest - 2018.02.26 at 15h 59m 00s.xml">
352
+    <history-entry file="ConwayGameOfLifeTest - 2018.03.12 at 13h 51m 50s.xml">
514 353
       <configuration name="ConwayGameOfLifeTest" configurationId="JUnit" />
515 354
     </history-entry>
516
-    <history-entry file="ConwayGameOfLifeTest - 2018.02.26 at 16h 02m 03s.xml">
517
-      <configuration name="ConwayGameOfLifeTest" configurationId="JUnit" />
518
-    </history-entry>
519
-    <history-entry file="ConwayGameOfLifeTest - 2018.02.26 at 16h 03m 01s.xml">
520
-      <configuration name="ConwayGameOfLifeTest" configurationId="JUnit" />
521
-    </history-entry>
522
-    <history-entry file="ConwayGameOfLifeTest - 2018.02.26 at 16h 05m 07s.xml">
523
-      <configuration name="ConwayGameOfLifeTest" configurationId="JUnit" />
524
-    </history-entry>
525
-    <history-entry file="ConwayGameOfLifeTest - 2018.02.26 at 16h 06m 11s.xml">
526
-      <configuration name="ConwayGameOfLifeTest" configurationId="JUnit" />
527
-    </history-entry>
528
-    <history-entry file="ConwayGameOfLifeTest_runTest - 2018.02.26 at 15h 41m 14s.xml">
529
-      <configuration name="ConwayGameOfLifeTest.runTest" configurationId="JUnit" />
530
-    </history-entry>
531
-    <history-entry file="ConwayGameOfLifeTest_runTest2 - 2018.02.26 at 15h 42m 02s.xml">
532
-      <configuration name="ConwayGameOfLifeTest.runTest2" configurationId="JUnit" />
533
-    </history-entry>
534
-    <history-entry file="ConwayGameOfLifeTest_runTest2 - 2018.02.26 at 15h 42m 18s.xml">
535
-      <configuration name="ConwayGameOfLifeTest.runTest2" configurationId="JUnit" />
536
-    </history-entry>
537 355
   </component>
538 356
   <component name="TimeTrackingManager">
539
-    <option name="totallyTimeSpent" value="14517000" />
357
+    <option name="totallyTimeSpent" value="9778000" />
540 358
   </component>
541 359
   <component name="ToolWindowManager">
542
-    <frame x="82" y="32" width="1440" height="821" extended-state="0" />
360
+    <frame x="1280" y="-447" width="1920" height="1080" extended-state="0" />
543 361
     <editor active="true" />
544 362
     <layout>
545 363
       <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 364
       <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" />
365
+      <window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32969216" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
548 366
       <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 367
       <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 368
       <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 369
       <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 370
       <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" />
371
+      <window_info id="Run" active="true" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.32969216" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
554 372
       <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" />
373
+      <window_info id="Terminal" 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" />
556 374
       <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 375
       <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" />
376
+      <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.24973376" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
559 377
       <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 378
       <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 379
       <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 380
       <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 381
       <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" />
382
+      <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.39920557" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
565 383
       <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 384
       <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 385
       <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" />
@@ -584,84 +402,15 @@
584 402
     <watches-manager />
585 403
   </component>
586 404
   <component name="editorHistoryManager">
587
-    <entry file="file://$PROJECT_DIR$/pom.xml">
588
-      <provider selected="true" editor-type-id="text-editor">
589
-        <state relative-caret-position="187">
590
-          <caret line="11" column="10" lean-forward="false" selection-start-line="11" selection-start-column="10" selection-end-line="11" selection-end-column="10" />
591
-          <folding />
592
-        </state>
593
-      </provider>
594
-    </entry>
595
-    <entry file="file://$PROJECT_DIR$/src/main/java/LifeStarts.java">
596
-      <provider selected="true" editor-type-id="text-editor">
597
-        <state relative-caret-position="272">
598
-          <caret line="16" column="5" lean-forward="false" selection-start-line="7" selection-start-column="0" selection-end-line="16" selection-end-column="5" />
599
-          <folding />
600
-        </state>
601
-      </provider>
602
-    </entry>
603
-    <entry file="file://$PROJECT_DIR$/src/main/java/Life.java">
604
-      <provider selected="true" editor-type-id="text-editor">
605
-        <state relative-caret-position="669">
606
-          <caret line="87" column="5" lean-forward="true" selection-start-line="47" selection-start-column="0" selection-end-line="87" selection-end-column="5" />
607
-          <folding />
608
-        </state>
609
-      </provider>
610
-    </entry>
611
-    <entry file="uml://JAVA/com.zipcodeconway.ConwayGameOfLife">
612
-      <provider selected="true" editor-type-id="UmlEditorProvider">
613
-        <state>
614
-          <ID>JAVA</ID>
615
-          <OriginalElement>com.zipcodeconway.ConwayGameOfLife</OriginalElement>
616
-          <nodes>
617
-            <node x="-54.0" y="-179.0">com.zipcodeconway.ConwayGameOfLife</node>
618
-          </nodes>
619
-          <notes />
620
-          <edges />
621
-          <settings layout="Hierarchic Group" zoom="1.0" x="-203.0" y="-1.0" />
622
-          <SelectedNodes />
623
-          <Categories>
624
-            <Category>Constructors</Category>
625
-            <Category>Methods</Category>
626
-          </Categories>
627
-          <SCOPE>All</SCOPE>
628
-          <VISIBILITY>private</VISIBILITY>
629
-        </state>
630
-      </provider>
631
-    </entry>
632
-    <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodeconway/README.md">
633
-      <provider selected="true" editor-type-id="split-provider[text-editor;markdown-preview-editor]">
634
-        <state split_layout="SPLIT">
635
-          <first_editor relative-caret-position="236">
636
-            <caret line="52" column="194" lean-forward="false" selection-start-line="52" selection-start-column="194" selection-end-line="52" selection-end-column="194" />
637
-            <folding />
638
-          </first_editor>
639
-          <second_editor />
640
-        </state>
641
-      </provider>
642
-    </entry>
643
-    <entry file="file://$USER_HOME$/Downloads/ConwayLifeRandomat50.png">
644
-      <provider selected="true" editor-type-id="images">
645
-        <state />
646
-      </provider>
647
-    </entry>
648
-    <entry file="file://$USER_HOME$/Documents/gitea/gitea/custom/public/img/ConwayLifeUML.png">
405
+    <entry file="file://$PROJECT_DIR$/ConwayLifeUML.png">
649 406
       <provider selected="true" editor-type-id="images">
650 407
         <state />
651 408
       </provider>
652 409
     </entry>
653
-    <entry file="file://$PROJECT_DIR$/src/main/java/GameofLife.java">
654
-      <provider selected="true" editor-type-id="text-editor">
655
-        <state relative-caret-position="334">
656
-          <caret line="83" column="17" lean-forward="false" selection-start-line="82" selection-start-column="30" selection-end-line="83" selection-end-column="17" />
657
-          <folding />
658
-        </state>
659
-      </provider>
660
-    </entry>
661 410
     <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodeconway/SimpleWindow.java">
662 411
       <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" />
412
+        <state relative-caret-position="90">
413
+          <caret line="6" column="24" lean-forward="true" selection-start-line="6" selection-start-column="24" selection-end-line="6" selection-end-column="24" />
665 414
           <folding>
666 415
             <element signature="imports" expanded="true" />
667 416
           </folding>
@@ -670,112 +419,19 @@
670 419
     </entry>
671 420
     <entry file="file://$PROJECT_DIR$/src/main/java/com/zipcodeconway/ConwayGameOfLife.java">
672 421
       <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>
422
+        <state relative-caret-position="1200">
423
+          <caret line="80" column="29" lean-forward="true" selection-start-line="80" selection-start-column="29" selection-end-line="80" selection-end-column="29" />
424
+          <folding />
682 425
         </state>
683 426
       </provider>
684 427
     </entry>
685 428
     <entry file="file://$PROJECT_DIR$/src/test/java/com/zipcodeconway/ConwayGameOfLifeTest.java">
686 429
       <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" />
430
+        <state relative-caret-position="60">
431
+          <caret line="6" column="13" lean-forward="false" selection-start-line="6" selection-start-column="13" selection-end-line="6" selection-end-column="13" />
689 432
           <folding />
690 433
         </state>
691 434
       </provider>
692 435
     </entry>
693 436
   </component>
694
-  <component name="masterDetails">
695
-    <states>
696
-      <state key="ArtifactsStructureConfigurable.UI">
697
-        <settings>
698
-          <artifact-editor />
699
-          <splitter-proportions>
700
-            <option name="proportions">
701
-              <list>
702
-                <option value="0.2" />
703
-              </list>
704
-            </option>
705
-          </splitter-proportions>
706
-        </settings>
707
-      </state>
708
-      <state key="FacetStructureConfigurable.UI">
709
-        <settings>
710
-          <last-edited>No facets are configured</last-edited>
711
-          <splitter-proportions>
712
-            <option name="proportions">
713
-              <list>
714
-                <option value="0.2" />
715
-              </list>
716
-            </option>
717
-          </splitter-proportions>
718
-        </settings>
719
-      </state>
720
-      <state key="GlobalLibrariesConfigurable.UI">
721
-        <settings>
722
-          <splitter-proportions>
723
-            <option name="proportions">
724
-              <list>
725
-                <option value="0.2" />
726
-              </list>
727
-            </option>
728
-          </splitter-proportions>
729
-        </settings>
730
-      </state>
731
-      <state key="JdkListConfigurable.UI">
732
-        <settings>
733
-          <last-edited>1.8</last-edited>
734
-          <splitter-proportions>
735
-            <option name="proportions">
736
-              <list>
737
-                <option value="0.2" />
738
-              </list>
739
-            </option>
740
-          </splitter-proportions>
741
-        </settings>
742
-      </state>
743
-      <state key="ModuleStructureConfigurable.UI">
744
-        <settings>
745
-          <last-edited>Game-Of-Life-Java</last-edited>
746
-          <splitter-proportions>
747
-            <option name="proportions">
748
-              <list>
749
-                <option value="0.2" />
750
-                <option value="0.6" />
751
-              </list>
752
-            </option>
753
-          </splitter-proportions>
754
-        </settings>
755
-      </state>
756
-      <state key="ProjectJDKs.UI">
757
-        <settings>
758
-          <last-edited>1.8</last-edited>
759
-          <splitter-proportions>
760
-            <option name="proportions">
761
-              <list>
762
-                <option value="0.2" />
763
-              </list>
764
-            </option>
765
-          </splitter-proportions>
766
-        </settings>
767
-      </state>
768
-      <state key="ProjectLibrariesConfigurable.UI">
769
-        <settings>
770
-          <splitter-proportions>
771
-            <option name="proportions">
772
-              <list>
773
-                <option value="0.2" />
774
-              </list>
775
-            </option>
776
-          </splitter-proportions>
777
-        </settings>
778
-      </state>
779
-    </states>
780
-  </component>
781 437
 </project>

.idea/Game-Of-Life-Java.iml → Game-Of-Life-Java.iml 查看文件

@@ -5,7 +5,6 @@
5 5
     <output-test url="file://$MODULE_DIR$/target/test-classes" />
6 6
     <content url="file://$MODULE_DIR$">
7 7
       <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
8
-      <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
9 8
       <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
10 9
       <excludeFolder url="file://$MODULE_DIR$/target" />
11 10
     </content>

+ 90
- 6
src/main/java/com/zipcodeconway/ConwayGameOfLife.java 查看文件

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