diff --git a/.DS_Store b/.DS_Store
new file mode 100644
index 0000000000000000000000000000000000000000..3236b4a97698eea5ca9a3c1cf366229fd13679b5
Binary files /dev/null and b/.DS_Store differ
diff --git a/Assignment4.0/Monopoly/.idea/misc.xml b/Assignment4.0/Monopoly/.idea/misc.xml
new file mode 100644
index 0000000000000000000000000000000000000000..05483570e041eb648703359441d61bf9a5feeb13
--- /dev/null
+++ b/Assignment4.0/Monopoly/.idea/misc.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
+    <output url="file://$PROJECT_DIR$/out" />
+  </component>
+</project>
\ No newline at end of file
diff --git a/Assignment4.0/Monopoly/.idea/modules.xml b/Assignment4.0/Monopoly/.idea/modules.xml
new file mode 100644
index 0000000000000000000000000000000000000000..c47be033d9ebe207e1e3995bb901c3d014df44ae
--- /dev/null
+++ b/Assignment4.0/Monopoly/.idea/modules.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ProjectModuleManager">
+    <modules>
+      <module fileurl="file://$PROJECT_DIR$/Monopoly.iml" filepath="$PROJECT_DIR$/Monopoly.iml" />
+    </modules>
+  </component>
+</project>
\ No newline at end of file
diff --git a/Assignment4.0/Monopoly/.idea/uiDesigner.xml b/Assignment4.0/Monopoly/.idea/uiDesigner.xml
new file mode 100644
index 0000000000000000000000000000000000000000..e96534fb27b68192f27f985d3879e173ec77adb8
--- /dev/null
+++ b/Assignment4.0/Monopoly/.idea/uiDesigner.xml
@@ -0,0 +1,124 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="Palette2">
+    <group name="Swing">
+      <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">
+        <default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
+      </item>
+      <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">
+        <default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
+      </item>
+      <item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.png" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
+      </item>
+      <item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.png" removable="false" auto-create-binding="false" can-attach-label="true">
+        <default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
+      </item>
+      <item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
+        <initial-values>
+          <property name="text" value="Button" />
+        </initial-values>
+      </item>
+      <item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
+        <initial-values>
+          <property name="text" value="RadioButton" />
+        </initial-values>
+      </item>
+      <item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
+        <initial-values>
+          <property name="text" value="CheckBox" />
+        </initial-values>
+      </item>
+      <item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.png" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
+        <initial-values>
+          <property name="text" value="Label" />
+        </initial-values>
+      </item>
+      <item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.png" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
+          <preferred-size width="150" height="-1" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.png" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
+          <preferred-size width="150" height="-1" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.png" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
+          <preferred-size width="150" height="-1" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.png" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.png" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
+      </item>
+      <item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
+          <preferred-size width="200" height="200" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.png" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
+          <preferred-size width="200" height="200" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.png" removable="false" auto-create-binding="true" can-attach-label="true">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
+      </item>
+      <item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
+      </item>
+      <item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.png" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
+      </item>
+      <item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
+      </item>
+      <item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.png" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
+          <preferred-size width="-1" height="20" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.png" removable="false" auto-create-binding="false" can-attach-label="false">
+        <default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
+      </item>
+      <item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
+        <default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
+      </item>
+    </group>
+  </component>
+</project>
\ No newline at end of file
diff --git a/Assignment4.0/Monopoly/.idea/workspace.xml b/Assignment4.0/Monopoly/.idea/workspace.xml
new file mode 100644
index 0000000000000000000000000000000000000000..becfab67b853192dc5828a619d9a52ba4b0e81eb
--- /dev/null
+++ b/Assignment4.0/Monopoly/.idea/workspace.xml
@@ -0,0 +1,1025 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="ChangeListManager">
+    <list default="true" id="aa0720d8-2e2e-4991-a19e-8b9502b5f0a9" name="Default" comment="" />
+    <ignored path="$PROJECT_DIR$/out/" />
+    <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
+    <option name="TRACKING_ENABLED" value="true" />
+    <option name="SHOW_DIALOG" value="false" />
+    <option name="HIGHLIGHT_CONFLICTS" value="true" />
+    <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
+    <option name="LAST_RESOLUTION" value="IGNORE" />
+  </component>
+  <component name="CoverageDataManager">
+    <SUITE FILE_PATH="coverage/Monopoly$ChanceTest.coverage" NAME="ChanceTest Coverage Results" MODIFIED="1510705850784" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="idea" COVERAGE_BY_TEST_ENABLED="false" COVERAGE_TRACING_ENABLED="false">
+      <FILTER>Board.*</FILTER>
+    </SUITE>
+  </component>
+  <component name="FileEditorManager">
+    <leaf>
+      <file leaf-file-name="MonopolyBoard.java" pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/Board/MonopolyBoard.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="1860">
+              <caret line="128" column="31" lean-forward="false" selection-start-line="128" selection-start-column="31" selection-end-line="128" selection-end-column="31" />
+              <folding>
+                <element signature="imports" expanded="true" />
+                <element signature="e#537#538#0" expanded="true" />
+                <element signature="e#570#571#0" expanded="true" />
+              </folding>
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file leaf-file-name="AllTest.java" pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/test/AllTest.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="120">
+              <caret line="8" column="21" lean-forward="true" selection-start-line="8" selection-start-column="21" selection-end-line="8" selection-end-column="21" />
+              <folding>
+                <element signature="imports" expanded="true" />
+              </folding>
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file leaf-file-name="GoToJailTest.java" pinned="false" current-in-tab="true">
+        <entry file="file://$PROJECT_DIR$/test/Board/GoToJailTest.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="375">
+              <caret line="25" column="17" lean-forward="false" selection-start-line="25" selection-start-column="17" selection-end-line="25" selection-end-column="17" />
+              <folding>
+                <element signature="imports" expanded="true" />
+              </folding>
+            </state>
+          </provider>
+        </entry>
+      </file>
+    </leaf>
+  </component>
+  <component name="FileTemplateManagerImpl">
+    <option name="RECENT_TEMPLATES">
+      <list>
+        <option value="Class" />
+      </list>
+    </option>
+  </component>
+  <component name="GradleLocalSettings">
+    <option name="externalProjectsViewState">
+      <projects_view />
+    </option>
+  </component>
+  <component name="IdeDocumentHistory">
+    <option name="CHANGED_PATHS">
+      <list>
+        <option value="$PROJECT_DIR$/src/Pieces/CommunityChestCards/AdvanceToGo.java" />
+        <option value="$PROJECT_DIR$/src/Pieces/CommunityChestCards/BankError.java" />
+        <option value="$PROJECT_DIR$/src/Pieces/CommunityChestCards/DoctorFees.java" />
+        <option value="$PROJECT_DIR$/src/Pieces/CommunityChestCards/FromStockSale.java" />
+        <option value="$PROJECT_DIR$/src/Pieces/CommunityChestCards/GetOutOfJail.java" />
+        <option value="$PROJECT_DIR$/src/Pieces/CommunityChestCards/GetOutOfJailCC.java" />
+        <option value="$PROJECT_DIR$/src/Pieces/CommunityChestCards/GoToJailCC.java" />
+        <option value="$PROJECT_DIR$/src/Pieces/CommunityChestCards/GrandOpera.java" />
+        <option value="$PROJECT_DIR$/src/Pieces/CommunityChestCards/HolidayFund.java" />
+        <option value="$PROJECT_DIR$/src/Pieces/CommunityChestCards/IncomeTaxRefund.java" />
+        <option value="$PROJECT_DIR$/src/Pieces/CommunityChestCards/LifeInsurance.java" />
+        <option value="$PROJECT_DIR$/src/Pieces/CommunityChestCards/PayHospital.java" />
+        <option value="$PROJECT_DIR$/src/Pieces/CommunityChestCards/PaySchool.java" />
+        <option value="$PROJECT_DIR$/src/Pieces/CommunityChestCards/ReceiveConsultantFee.java" />
+        <option value="$PROJECT_DIR$/src/Pieces/CommunityChestCards/YouGetStreetRepairs.java" />
+        <option value="$PROJECT_DIR$/src/Pieces/CommunityChestCards/YouWonBeauty.java" />
+        <option value="$PROJECT_DIR$/src/Pieces/CommunityChestCards/YouReceivedInheitance.java" />
+        <option value="$PROJECT_DIR$/src/Pieces/ChanceCards/ChanceCard.java" />
+        <option value="$PROJECT_DIR$/src/Pieces/ChanceCards/AdvanceToGoChance.java" />
+        <option value="$PROJECT_DIR$/src/Pieces/ChanceCards/AdvanceToIllinois.java" />
+        <option value="$PROJECT_DIR$/src/Pieces/ChanceCards/AdvanceToRailRoad.java" />
+        <option value="$PROJECT_DIR$/src/Pieces/ChanceCards/AdvanceToStCharles.java" />
+        <option value="$PROJECT_DIR$/src/Pieces/ChanceCards/AdvanceToUtility.java" />
+        <option value="$PROJECT_DIR$/src/Pieces/ChanceCards/BankPaysYou.java" />
+        <option value="$PROJECT_DIR$/src/Pieces/ChanceCards/GetOutOfJailChance.java" />
+        <option value="$PROJECT_DIR$/src/Pieces/ChanceCards/GoBackThree.java" />
+        <option value="$PROJECT_DIR$/src/Pieces/ChanceCards/GoToJailChance.java" />
+        <option value="$PROJECT_DIR$/src/Pieces/ChanceCards/MakeGeneralRepairs.java" />
+        <option value="$PROJECT_DIR$/src/Pieces/ChanceCards/PayPoorTax.java" />
+        <option value="$PROJECT_DIR$/src/Pieces/ChanceCards/TakeTripToReading.java" />
+        <option value="$PROJECT_DIR$/src/Pieces/ChanceCards/TakeWalkOnBoardwalk.java" />
+        <option value="$PROJECT_DIR$/src/Pieces/ChanceCards/YouAreChairman.java" />
+        <option value="$PROJECT_DIR$/src/Pieces/ChanceCards/YouBuildingLoanMatures.java" />
+        <option value="$PROJECT_DIR$/src/Pieces/ChanceCards/YourBuildingLoanMatures.java" />
+        <option value="$PROJECT_DIR$/src/Pieces/ChanceCards/YouWonCrossword.java" />
+        <option value="$PROJECT_DIR$/src/Board/Property.java" />
+        <option value="$PROJECT_DIR$/src/Board/Chance.java" />
+        <option value="$PROJECT_DIR$/src/Board/CommunityChest.java" />
+        <option value="$PROJECT_DIR$/src/Board/FreeParking.java" />
+        <option value="$PROJECT_DIR$/src/Board/Go.java" />
+        <option value="$PROJECT_DIR$/src/Board/Jail.java" />
+        <option value="$PROJECT_DIR$/src/Board/GoToJail.java" />
+        <option value="$PROJECT_DIR$/src/Board/MonopolyBoard.java" />
+        <option value="$PROJECT_DIR$/src/Players/Player.java" />
+        <option value="$PROJECT_DIR$/src/Board/Space.java" />
+        <option value="$PROJECT_DIR$/test/AllTest.java" />
+        <option value="$PROJECT_DIR$/test/Board/ChanceTest.java" />
+        <option value="$PROJECT_DIR$/test/Board/CommunityChestTest.java" />
+        <option value="$PROJECT_DIR$/test/Board/GoTest.java" />
+        <option value="$PROJECT_DIR$/test/Board/FreeParkingTest.java" />
+        <option value="$PROJECT_DIR$/test/Board/GoToJailTest.java" />
+      </list>
+    </option>
+  </component>
+  <component name="JsBuildToolGruntFileManager" detection-done="true" sorting="DEFINITION_ORDER" />
+  <component name="JsBuildToolPackageJson" detection-done="true" sorting="DEFINITION_ORDER" />
+  <component name="JsGulpfileManager">
+    <detection-done>true</detection-done>
+    <sorting>DEFINITION_ORDER</sorting>
+  </component>
+  <component name="ProjectFrameBounds" fullScreen="true">
+    <option name="width" value="1440" />
+    <option name="height" value="900" />
+  </component>
+  <component name="ProjectView">
+    <navigator currentView="ProjectPane" proportions="" version="1">
+      <flattenPackages />
+      <showMembers />
+      <showModules />
+      <showLibraryContents />
+      <hideEmptyPackages />
+      <abbreviatePackageNames />
+      <autoscrollToSource />
+      <autoscrollFromSource />
+      <sortByType />
+      <manualOrder />
+      <foldersAlwaysOnTop value="true" />
+    </navigator>
+    <panes>
+      <pane id="PackagesPane" />
+      <pane id="ProjectPane">
+        <subPane>
+          <expand>
+            <path>
+              <item name="Monopoly" type="b2602c69:ProjectViewProjectNode" />
+              <item name="Monopoly" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="Monopoly" type="b2602c69:ProjectViewProjectNode" />
+              <item name="Monopoly" type="462c0819:PsiDirectoryNode" />
+              <item name="src" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="Monopoly" type="b2602c69:ProjectViewProjectNode" />
+              <item name="Monopoly" type="462c0819:PsiDirectoryNode" />
+              <item name="src" type="462c0819:PsiDirectoryNode" />
+              <item name="Board" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="Monopoly" type="b2602c69:ProjectViewProjectNode" />
+              <item name="Monopoly" type="462c0819:PsiDirectoryNode" />
+              <item name="test" type="462c0819:PsiDirectoryNode" />
+            </path>
+            <path>
+              <item name="Monopoly" type="b2602c69:ProjectViewProjectNode" />
+              <item name="Monopoly" type="462c0819:PsiDirectoryNode" />
+              <item name="test" type="462c0819:PsiDirectoryNode" />
+              <item name="Board" type="462c0819:PsiDirectoryNode" />
+            </path>
+          </expand>
+          <select />
+        </subPane>
+      </pane>
+      <pane id="Scratches" />
+      <pane id="Scope" />
+      <pane id="AndroidView" />
+    </panes>
+  </component>
+  <component name="PropertiesComponent">
+    <property name="nodejs_interpreter_path" value="$USER_HOME$/.nvm/versions/node/v8.8.0/bin/node" />
+    <property name="WebServerToolWindowFactoryState" value="false" />
+    <property name="aspect.path.notification.shown" value="true" />
+  </component>
+  <component name="RunDashboard">
+    <option name="ruleStates">
+      <list>
+        <RuleState>
+          <option name="name" value="ConfigurationTypeDashboardGroupingRule" />
+        </RuleState>
+        <RuleState>
+          <option name="name" value="StatusDashboardGroupingRule" />
+        </RuleState>
+      </list>
+    </option>
+  </component>
+  <component name="RunManager" selected="JUnit.GoToJailTest">
+    <configuration name="AllTest" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
+      <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
+      <module name="Monopoly" />
+      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
+      <option name="ALTERNATIVE_JRE_PATH" />
+      <option name="PACKAGE_NAME" value="" />
+      <option name="MAIN_CLASS_NAME" value="AllTest" />
+      <option name="METHOD_NAME" />
+      <option name="TEST_OBJECT" value="class" />
+      <option name="VM_PARAMETERS" value="-ea" />
+      <option name="PARAMETERS" />
+      <option name="WORKING_DIRECTORY" value="$MODULE_DIR$" />
+      <option name="ENV_VARIABLES" />
+      <option name="PASS_PARENT_ENVS" value="true" />
+      <option name="TEST_SEARCH_SCOPE">
+        <value defaultName="singleModule" />
+      </option>
+      <envs />
+      <patterns />
+    </configuration>
+    <configuration name="ChanceTest" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
+      <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea">
+        <pattern>
+          <option name="PATTERN" value="Board.*" />
+          <option name="ENABLED" value="true" />
+        </pattern>
+      </extension>
+      <module name="Monopoly" />
+      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
+      <option name="ALTERNATIVE_JRE_PATH" />
+      <option name="PACKAGE_NAME" value="Board" />
+      <option name="MAIN_CLASS_NAME" value="Board.ChanceTest" />
+      <option name="METHOD_NAME" />
+      <option name="TEST_OBJECT" value="class" />
+      <option name="VM_PARAMETERS" value="-ea" />
+      <option name="PARAMETERS" />
+      <option name="WORKING_DIRECTORY" value="$MODULE_DIR$" />
+      <option name="ENV_VARIABLES" />
+      <option name="PASS_PARENT_ENVS" value="true" />
+      <option name="TEST_SEARCH_SCOPE">
+        <value defaultName="singleModule" />
+      </option>
+      <envs />
+      <patterns />
+    </configuration>
+    <configuration name="GoToJailTest" type="JUnit" factoryName="JUnit" temporary="true" nameIsGenerated="true">
+      <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea">
+        <pattern>
+          <option name="PATTERN" value="Board.*" />
+          <option name="ENABLED" value="true" />
+        </pattern>
+      </extension>
+      <module name="Monopoly" />
+      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
+      <option name="ALTERNATIVE_JRE_PATH" />
+      <option name="PACKAGE_NAME" value="Board" />
+      <option name="MAIN_CLASS_NAME" value="Board.GoToJailTest" />
+      <option name="METHOD_NAME" />
+      <option name="TEST_OBJECT" value="class" />
+      <option name="VM_PARAMETERS" value="-ea" />
+      <option name="PARAMETERS" />
+      <option name="WORKING_DIRECTORY" value="$MODULE_DIR$" />
+      <option name="ENV_VARIABLES" />
+      <option name="PASS_PARENT_ENVS" value="true" />
+      <option name="TEST_SEARCH_SCOPE">
+        <value defaultName="singleModule" />
+      </option>
+      <envs />
+      <patterns />
+    </configuration>
+    <configuration default="true" type="Applet" factoryName="Applet">
+      <option name="HTML_USED" value="false" />
+      <option name="WIDTH" value="400" />
+      <option name="HEIGHT" value="300" />
+      <option name="POLICY_FILE" value="$APPLICATION_HOME_DIR$/bin/appletviewer.policy" />
+      <module />
+    </configuration>
+    <configuration default="true" type="Application" factoryName="Application">
+      <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
+      <option name="MAIN_CLASS_NAME" />
+      <option name="VM_PARAMETERS" />
+      <option name="PROGRAM_PARAMETERS" />
+      <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
+      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
+      <option name="ALTERNATIVE_JRE_PATH" />
+      <option name="ENABLE_SWING_INSPECTOR" value="false" />
+      <option name="ENV_VARIABLES" />
+      <option name="PASS_PARENT_ENVS" value="true" />
+      <module name="" />
+      <envs />
+    </configuration>
+    <configuration default="true" type="JUnit" factoryName="JUnit">
+      <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
+      <module name="" />
+      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
+      <option name="ALTERNATIVE_JRE_PATH" />
+      <option name="PACKAGE_NAME" />
+      <option name="MAIN_CLASS_NAME" />
+      <option name="METHOD_NAME" />
+      <option name="TEST_OBJECT" value="class" />
+      <option name="VM_PARAMETERS" value="-ea" />
+      <option name="PARAMETERS" />
+      <option name="WORKING_DIRECTORY" value="$MODULE_DIR$" />
+      <option name="ENV_VARIABLES" />
+      <option name="PASS_PARENT_ENVS" value="true" />
+      <option name="TEST_SEARCH_SCOPE">
+        <value defaultName="singleModule" />
+      </option>
+      <envs />
+      <patterns />
+    </configuration>
+    <configuration default="true" type="#org.jetbrains.idea.devkit.run.PluginConfigurationType" factoryName="Plugin">
+      <module name="" />
+      <option name="VM_PARAMETERS" value="-Xmx512m -Xms256m -XX:MaxPermSize=250m -ea" />
+      <option name="PROGRAM_PARAMETERS" />
+      <predefined_log_file id="idea.log" enabled="true" />
+    </configuration>
+    <configuration default="true" type="Remote" factoryName="Remote">
+      <option name="USE_SOCKET_TRANSPORT" value="true" />
+      <option name="SERVER_MODE" value="false" />
+      <option name="SHMEM_ADDRESS" value="javadebug" />
+      <option name="HOST" value="localhost" />
+      <option name="PORT" value="5005" />
+    </configuration>
+    <configuration default="true" type="TestNG" factoryName="TestNG">
+      <extension name="coverage" enabled="false" merge="false" sample_coverage="true" runner="idea" />
+      <module name="" />
+      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
+      <option name="ALTERNATIVE_JRE_PATH" />
+      <option name="SUITE_NAME" />
+      <option name="PACKAGE_NAME" />
+      <option name="MAIN_CLASS_NAME" />
+      <option name="METHOD_NAME" />
+      <option name="GROUP_NAME" />
+      <option name="TEST_OBJECT" value="CLASS" />
+      <option name="VM_PARAMETERS" value="-ea" />
+      <option name="PARAMETERS" />
+      <option name="WORKING_DIRECTORY" value="$MODULE_DIR$" />
+      <option name="OUTPUT_DIRECTORY" />
+      <option name="ANNOTATION_TYPE" />
+      <option name="ENV_VARIABLES" />
+      <option name="PASS_PARENT_ENVS" value="true" />
+      <option name="TEST_SEARCH_SCOPE">
+        <value defaultName="singleModule" />
+      </option>
+      <option name="USE_DEFAULT_REPORTERS" value="false" />
+      <option name="PROPERTIES_FILE" />
+      <envs />
+      <properties />
+      <listeners />
+    </configuration>
+    <list size="3">
+      <item index="0" class="java.lang.String" itemvalue="JUnit.ChanceTest" />
+      <item index="1" class="java.lang.String" itemvalue="JUnit.AllTest" />
+      <item index="2" class="java.lang.String" itemvalue="JUnit.GoToJailTest" />
+    </list>
+    <recent_temporary>
+      <list size="3">
+        <item index="0" class="java.lang.String" itemvalue="JUnit.GoToJailTest" />
+        <item index="1" class="java.lang.String" itemvalue="JUnit.AllTest" />
+        <item index="2" class="java.lang.String" itemvalue="JUnit.ChanceTest" />
+      </list>
+    </recent_temporary>
+  </component>
+  <component name="ShelveChangesManager" show_recycled="false">
+    <option name="remove_strategy" value="false" />
+  </component>
+  <component name="SvnConfiguration">
+    <configuration />
+  </component>
+  <component name="TaskManager">
+    <task active="true" id="Default" summary="Default task">
+      <changelist id="aa0720d8-2e2e-4991-a19e-8b9502b5f0a9" name="Default" comment="" />
+      <created>1510626956913</created>
+      <option name="number" value="Default" />
+      <option name="presentableId" value="Default" />
+      <updated>1510626956913</updated>
+      <workItem from="1510626962237" duration="41808000" />
+    </task>
+    <servers />
+  </component>
+  <component name="TestHistory">
+    <history-entry file="AllTest - 2017.11.14 at 18h 37m 06s.xml">
+      <configuration name="AllTest" configurationId="JUnit" />
+    </history-entry>
+    <history-entry file="AllTest - 2017.11.14 at 18h 39m 09s.xml">
+      <configuration name="AllTest" configurationId="JUnit" />
+    </history-entry>
+    <history-entry file="AllTest - 2017.11.14 at 19h 13m 39s.xml">
+      <configuration name="AllTest" configurationId="JUnit" />
+    </history-entry>
+    <history-entry file="AllTest - 2017.11.14 at 19h 15m 07s.xml">
+      <configuration name="AllTest" configurationId="JUnit" />
+    </history-entry>
+    <history-entry file="AllTest - 2017.11.14 at 19h 16m 26s.xml">
+      <configuration name="AllTest" configurationId="JUnit" />
+    </history-entry>
+    <history-entry file="AllTest - 2017.11.14 at 19h 18m 02s.xml">
+      <configuration name="AllTest" configurationId="JUnit" />
+    </history-entry>
+    <history-entry file="ChanceTest - 2017.11.14 at 18h 29m 20s.xml">
+      <configuration name="ChanceTest" configurationId="JUnit" />
+    </history-entry>
+    <history-entry file="ChanceTest - 2017.11.14 at 18h 30m 51s.xml">
+      <configuration name="ChanceTest" configurationId="JUnit" />
+    </history-entry>
+    <history-entry file="ChanceTest - 2017.11.14 at 19h 11m 51s.xml">
+      <configuration name="ChanceTest" configurationId="JUnit" />
+    </history-entry>
+    <history-entry file="GoToJailTest - 2017.11.14 at 19h 19m 19s.xml">
+      <configuration name="GoToJailTest" configurationId="JUnit" />
+    </history-entry>
+  </component>
+  <component name="TimeTrackingManager">
+    <option name="totallyTimeSpent" value="41808000" />
+  </component>
+  <component name="ToolWindowManager">
+    <frame x="0" y="0" width="1440" height="900" extended-state="0" />
+    <layout>
+      <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" />
+      <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" />
+      <window_info id="Messages" 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" />
+      <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" />
+      <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" />
+      <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" />
+      <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" />
+      <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" />
+      <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="false" weight="0.33" sideWeight="0.5" order="-1" side_tool="false" content_ui="tabs" />
+      <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.32941177" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
+      <window_info id="Coverage" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.3298611" sideWeight="0.5" order="-1" side_tool="true" content_ui="tabs" />
+      <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" />
+      <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" />
+      <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" />
+      <window_info id="Project" active="true" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.104166664" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
+      <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" />
+      <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" />
+      <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" />
+      <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" />
+      <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" />
+      <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" />
+      <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" />
+      <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" />
+      <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" />
+      <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" />
+      <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" />
+      <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" />
+      <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" />
+    </layout>
+  </component>
+  <component name="TypeScriptGeneratedFilesManager">
+    <option name="version" value="1" />
+  </component>
+  <component name="VcsContentAnnotationSettings">
+    <option name="myLimit" value="2678400000" />
+  </component>
+  <component name="XDebuggerManager">
+    <breakpoint-manager />
+    <watches-manager />
+  </component>
+  <component name="editorHistoryManager">
+    <entry file="file://$PROJECT_DIR$/src/Pieces/CommunityChestCards/CommunityChestCard.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="75">
+          <caret line="5" column="0" lean-forward="false" selection-start-line="5" selection-start-column="0" selection-end-line="5" selection-end-column="0" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/Pieces/CommunityChestCards/DoctorFees.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="195">
+          <caret line="13" column="1" lean-forward="true" selection-start-line="13" selection-start-column="1" selection-end-line="13" selection-end-column="1" />
+          <folding>
+            <element signature="e#139#140#0" expanded="true" />
+            <element signature="e#199#200#0" expanded="true" />
+            <element signature="e#244#245#0" expanded="true" />
+            <element signature="e#290#291#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/Pieces/CommunityChestCards/FromStockSale.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="180">
+          <caret line="12" column="5" lean-forward="false" selection-start-line="12" selection-start-column="5" selection-end-line="12" selection-end-column="5" />
+          <folding>
+            <element signature="e#145#146#0" expanded="true" />
+            <element signature="e#212#213#0" expanded="true" />
+            <element signature="e#257#258#0" expanded="true" />
+            <element signature="e#298#299#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/Pieces/CommunityChestCards/GetOutOfJailCC.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="170">
+          <caret line="10" column="43" lean-forward="true" selection-start-line="10" selection-start-column="43" selection-end-line="10" selection-end-column="43" />
+          <folding>
+            <element signature="e#147#148#0" expanded="true" />
+            <element signature="e#249#250#0" expanded="true" />
+            <element signature="e#356#357#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/Pieces/CommunityChestCards/GoToJailCC.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="180">
+          <caret line="12" column="4" lean-forward="false" selection-start-line="12" selection-start-column="4" selection-end-line="12" selection-end-column="4" />
+          <folding>
+            <element signature="imports" expanded="true" />
+            <element signature="e#352#353#0" expanded="true" />
+            <element signature="e#393#394#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/Pieces/CommunityChestCards/GrandOpera.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="165">
+          <caret line="11" column="36" lean-forward="true" selection-start-line="11" selection-start-column="36" selection-end-line="11" selection-end-column="36" />
+          <folding>
+            <element signature="e#294#295#0" expanded="true" />
+            <element signature="e#340#341#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/Pieces/CommunityChestCards/HolidayFund.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="165">
+          <caret line="11" column="33" lean-forward="false" selection-start-line="11" selection-start-column="33" selection-end-line="11" selection-end-column="33" />
+          <folding>
+            <element signature="e#141#142#0" expanded="true" />
+            <element signature="e#213#214#0" expanded="true" />
+            <element signature="e#258#259#0" expanded="true" />
+            <element signature="e#300#301#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/Pieces/CommunityChestCards/IncomeTaxRefund.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="165">
+          <caret line="11" column="32" lean-forward="false" selection-start-line="11" selection-start-column="32" selection-end-line="11" selection-end-column="32" />
+          <folding>
+            <element signature="e#149#150#0" expanded="true" />
+            <element signature="e#217#218#0" expanded="true" />
+            <element signature="e#262#263#0" expanded="true" />
+            <element signature="e#303#304#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/Pieces/CommunityChestCards/LifeInsurance.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="195">
+          <caret line="13" column="0" lean-forward="true" selection-start-line="13" selection-start-column="0" selection-end-line="13" selection-end-column="0" />
+          <folding>
+            <element signature="e#145#146#0" expanded="true" />
+            <element signature="e#219#220#0" expanded="true" />
+            <element signature="e#264#265#0" expanded="true" />
+            <element signature="e#306#307#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/Pieces/CommunityChestCards/PayHospital.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="165">
+          <caret line="11" column="38" lean-forward="false" selection-start-line="11" selection-start-column="38" selection-end-line="11" selection-end-column="38" />
+          <folding>
+            <element signature="e#141#142#0" expanded="true" />
+            <element signature="e#203#204#0" expanded="true" />
+            <element signature="e#248#249#0" expanded="true" />
+            <element signature="e#295#296#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/Pieces/CommunityChestCards/PaySchool.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="165">
+          <caret line="11" column="38" lean-forward="false" selection-start-line="11" selection-start-column="38" selection-end-line="11" selection-end-column="38" />
+          <folding>
+            <element signature="e#137#138#0" expanded="true" />
+            <element signature="e#197#198#0" expanded="true" />
+            <element signature="e#242#243#0" expanded="true" />
+            <element signature="e#289#290#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/Pieces/PlayerPiece.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="30">
+          <caret line="2" column="24" lean-forward="false" selection-start-line="2" selection-start-column="24" selection-end-line="2" selection-end-column="24" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/Pieces/CommunityChestCards/ReceiveConsultantFee.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="180">
+          <caret line="12" column="5" lean-forward="true" selection-start-line="12" selection-start-column="5" selection-end-line="12" selection-end-column="5" />
+          <folding>
+            <element signature="e#159#160#0" expanded="true" />
+            <element signature="e#223#224#0" expanded="true" />
+            <element signature="e#268#269#0" expanded="true" />
+            <element signature="e#309#310#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/Pieces/CommunityChestCards/YouGetStreetRepairs.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="165">
+          <caret line="11" column="42" lean-forward="true" selection-start-line="11" selection-start-column="42" selection-end-line="11" selection-end-column="42" />
+          <folding>
+            <element signature="e#307#308#0" expanded="true" />
+            <element signature="e#356#357#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/Pieces/CommunityChestCards/YouWonBeauty.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="165">
+          <caret line="11" column="32" lean-forward="false" selection-start-line="11" selection-start-column="32" selection-end-line="11" selection-end-column="32" />
+          <folding>
+            <element signature="e#143#144#0" expanded="true" />
+            <element signature="e#239#240#0" expanded="true" />
+            <element signature="e#284#285#0" expanded="true" />
+            <element signature="e#325#326#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/Pieces/CommunityChestCards/YouReceivedInheitance.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="180">
+          <caret line="12" column="5" lean-forward="true" selection-start-line="12" selection-start-column="5" selection-end-line="12" selection-end-column="5" />
+          <folding>
+            <element signature="e#161#162#0" expanded="true" />
+            <element signature="e#214#215#0" expanded="true" />
+            <element signature="e#259#260#0" expanded="true" />
+            <element signature="e#301#302#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/Pieces/ChanceCards/AdvanceToGoChance.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="240">
+          <caret line="16" column="5" lean-forward="true" selection-start-line="16" selection-start-column="5" selection-end-line="16" selection-end-column="5" />
+          <folding>
+            <element signature="imports" expanded="true" />
+            <element signature="e#297#298#0" expanded="true" />
+            <element signature="e#336#337#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/Pieces/ChanceCards/AdvanceToIllinois.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="225">
+          <caret line="15" column="36" lean-forward="false" selection-start-line="15" selection-start-column="36" selection-end-line="15" selection-end-column="36" />
+          <folding>
+            <element signature="imports" expanded="true" />
+            <element signature="e#348#349#0" expanded="true" />
+            <element signature="e#393#394#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/Pieces/ChanceCards/AdvanceToStCharles.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="225">
+          <caret line="15" column="37" lean-forward="false" selection-start-line="15" selection-start-column="37" selection-end-line="15" selection-end-column="37" />
+          <folding>
+            <element signature="imports" expanded="true" />
+            <element signature="e#372#373#0" expanded="true" />
+            <element signature="e#418#419#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/Pieces/ChanceCards/AdvanceToRailRoad.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="195">
+          <caret line="13" column="4" lean-forward="false" selection-start-line="13" selection-start-column="4" selection-end-line="24" selection-end-column="5" />
+          <folding>
+            <element signature="imports" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/Pieces/ChanceCards/AdvanceToUtility.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="285">
+          <caret line="19" column="9" lean-forward="true" selection-start-line="19" selection-start-column="9" selection-end-line="19" selection-end-column="9" />
+          <folding>
+            <element signature="imports" expanded="true" />
+            <element signature="e#650#651#0" expanded="true" />
+            <element signature="e#724#725#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/Pieces/ChanceCards/BankPaysYou.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="180">
+          <caret line="12" column="5" lean-forward="true" selection-start-line="12" selection-start-column="5" selection-end-line="12" selection-end-column="5" />
+          <folding>
+            <element signature="e#125#126#0" expanded="true" />
+            <element signature="e#191#192#0" expanded="true" />
+            <element signature="e#236#237#0" expanded="true" />
+            <element signature="e#277#278#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/Pieces/ChanceCards/GetOutOfJailChance.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="150">
+          <caret line="10" column="26" lean-forward="false" selection-start-line="10" selection-start-column="26" selection-end-line="10" selection-end-column="26" />
+          <folding>
+            <element signature="e#294#295#0" expanded="true" />
+            <element signature="e#353#354#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/Pieces/ChanceCards/GoToJailChance.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="225">
+          <caret line="15" column="34" lean-forward="true" selection-start-line="15" selection-start-column="34" selection-end-line="15" selection-end-column="34" />
+          <folding>
+            <element signature="imports" expanded="true" />
+            <element signature="e#355#356#0" expanded="true" />
+            <element signature="e#396#397#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/Pieces/ChanceCards/MakeGeneralRepairs.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="195">
+          <caret line="13" column="1" lean-forward="true" selection-start-line="13" selection-start-column="1" selection-end-line="13" selection-end-column="1" />
+          <folding>
+            <element signature="e#309#310#0" expanded="true" />
+            <element signature="e#358#359#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/Pieces/ChanceCards/PayPoorTax.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="180">
+          <caret line="12" column="5" lean-forward="true" selection-start-line="12" selection-start-column="5" selection-end-line="12" selection-end-column="5" />
+          <folding>
+            <element signature="e#123#124#0" expanded="true" />
+            <element signature="e#179#180#0" expanded="true" />
+            <element signature="e#224#225#0" expanded="true" />
+            <element signature="e#270#271#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/Pieces/ChanceCards/TakeTripToReading.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="225">
+          <caret line="15" column="37" lean-forward="false" selection-start-line="15" selection-start-column="37" selection-end-line="15" selection-end-column="37" />
+          <folding>
+            <element signature="imports" expanded="true" />
+            <element signature="e#362#363#0" expanded="true" />
+            <element signature="e#408#409#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/Pieces/ChanceCards/TakeWalkOnBoardwalk.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="225">
+          <caret line="15" column="39" lean-forward="true" selection-start-line="15" selection-start-column="39" selection-end-line="15" selection-end-column="39" />
+          <folding>
+            <element signature="imports" expanded="true" />
+            <element signature="e#372#373#0" expanded="true" />
+            <element signature="e#418#419#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/Pieces/ChanceCards/YouAreChairman.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="165">
+          <caret line="11" column="34" lean-forward="false" selection-start-line="11" selection-start-column="34" selection-end-line="11" selection-end-column="34" />
+          <folding>
+            <element signature="e#131#132#0" expanded="true" />
+            <element signature="e#233#234#0" expanded="true" />
+            <element signature="e#278#279#0" expanded="true" />
+            <element signature="e#321#322#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/Pieces/ChanceCards/YourBuildingLoanMatures.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="180">
+          <caret line="12" column="5" lean-forward="true" selection-start-line="12" selection-start-column="5" selection-end-line="12" selection-end-column="5" />
+          <folding>
+            <element signature="e#150#151#0" expanded="true" />
+            <element signature="e#228#229#0" expanded="true" />
+            <element signature="e#273#274#0" expanded="true" />
+            <element signature="e#315#316#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/Pieces/ChanceCards/YouWonCrossword.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="75">
+          <caret line="5" column="28" lean-forward="true" selection-start-line="5" selection-start-column="28" selection-end-line="5" selection-end-column="28" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/Pieces/ChanceCards/ChanceCard.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="120">
+          <caret line="8" column="51" lean-forward="true" selection-start-line="8" selection-start-column="51" selection-end-line="8" selection-end-column="51" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/Pieces/ChanceCards/GoBackThree.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="150">
+          <caret line="12" column="56" lean-forward="false" selection-start-line="12" selection-start-column="56" selection-end-line="12" selection-end-column="56" />
+          <folding>
+            <element signature="imports" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/Board/Chance.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="300">
+          <caret line="20" column="42" lean-forward="false" selection-start-line="20" selection-start-column="42" selection-end-line="20" selection-end-column="42" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/Board/CommunityChest.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="300">
+          <caret line="20" column="51" lean-forward="false" selection-start-line="20" selection-start-column="51" selection-end-line="20" selection-end-column="51" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/Board/FreeParking.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="300">
+          <caret line="20" column="19" lean-forward="false" selection-start-line="20" selection-start-column="19" selection-end-line="20" selection-end-column="19" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/Board/GoToJail.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="420">
+          <caret line="28" column="45" lean-forward="false" selection-start-line="28" selection-start-column="45" selection-end-line="28" selection-end-column="45" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/Board/Jail.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="255">
+          <caret line="17" column="39" lean-forward="false" selection-start-line="17" selection-start-column="39" selection-end-line="17" selection-end-column="39" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/Board/Property.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="315">
+          <caret line="21" column="41" lean-forward="false" selection-start-line="21" selection-start-column="41" selection-end-line="21" selection-end-column="41" />
+          <folding>
+            <element signature="imports" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/Players/Bank.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="225">
+          <caret line="17" column="30" lean-forward="false" selection-start-line="17" selection-start-column="30" selection-end-line="17" selection-end-column="30" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/Main.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="0">
+          <caret line="0" column="13" lean-forward="false" selection-start-line="0" selection-start-column="13" selection-end-line="0" selection-end-column="13" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/Board/MonopolyBoard.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="1860">
+          <caret line="128" column="31" lean-forward="false" selection-start-line="128" selection-start-column="31" selection-end-line="128" selection-end-column="31" />
+          <folding>
+            <element signature="imports" expanded="true" />
+            <element signature="e#537#538#0" expanded="true" />
+            <element signature="e#570#571#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/Board/Go.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="285">
+          <caret line="19" column="89" lean-forward="false" selection-start-line="19" selection-start-column="89" selection-end-line="19" selection-end-column="89" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/Board/Space.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="328">
+          <caret line="34" column="8" lean-forward="false" selection-start-line="34" selection-start-column="8" selection-end-line="34" selection-end-column="8" />
+          <folding>
+            <element signature="e#239#240#0" expanded="true" />
+            <element signature="e#277#278#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/Players/Player.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="-4">
+          <caret line="17" column="0" lean-forward="true" selection-start-line="17" selection-start-column="0" selection-end-line="17" selection-end-column="0" />
+          <folding>
+            <element signature="imports" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/test/Board/ChanceTest.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="240">
+          <caret line="16" column="45" lean-forward="false" selection-start-line="16" selection-start-column="45" selection-end-line="16" selection-end-column="62" />
+          <folding>
+            <element signature="imports" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/test/Board/CommunityChestTest.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="240">
+          <caret line="16" column="70" lean-forward="false" selection-start-line="16" selection-start-column="70" selection-end-line="16" selection-end-column="70" />
+          <folding>
+            <element signature="imports" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/test/Board/GoTest.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="240">
+          <caret line="16" column="58" lean-forward="false" selection-start-line="16" selection-start-column="58" selection-end-line="16" selection-end-column="58" />
+          <folding>
+            <element signature="imports" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/test/Board/FreeParkingTest.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="195">
+          <caret line="13" column="0" lean-forward="true" selection-start-line="0" selection-start-column="0" selection-end-line="29" selection-end-column="0" />
+          <folding>
+            <element signature="imports" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/test/AllTest.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="120">
+          <caret line="8" column="21" lean-forward="true" selection-start-line="8" selection-start-column="21" selection-end-line="8" selection-end-column="21" />
+          <folding>
+            <element signature="imports" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/test/Board/GoToJailTest.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="375">
+          <caret line="25" column="17" lean-forward="false" selection-start-line="25" selection-start-column="17" selection-end-line="25" selection-end-column="17" />
+          <folding>
+            <element signature="imports" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+  </component>
+</project>
\ No newline at end of file
diff --git a/Assignment4.0/Monopoly/Monopoly.iml b/Assignment4.0/Monopoly/Monopoly.iml
new file mode 100644
index 0000000000000000000000000000000000000000..99912257a9ef75995e6428bf61fd19249d5fc4c7
--- /dev/null
+++ b/Assignment4.0/Monopoly/Monopoly.iml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module type="JAVA_MODULE" version="4">
+  <component name="NewModuleRootManager" inherit-compiler-output="true">
+    <exclude-output />
+    <content url="file://$MODULE_DIR$">
+      <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/test" isTestSource="true" />
+    </content>
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+    <orderEntry type="module-library" scope="TEST">
+      <library name="JUnit4">
+        <CLASSES>
+          <root url="jar://$APPLICATION_HOME_DIR$/lib/junit-4.12.jar!/" />
+          <root url="jar://$APPLICATION_HOME_DIR$/lib/hamcrest-core-1.3.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+  </component>
+</module>
\ No newline at end of file
diff --git a/Assignment4.0/Monopoly/out/production/Monopoly/Board/Chance.class b/Assignment4.0/Monopoly/out/production/Monopoly/Board/Chance.class
new file mode 100644
index 0000000000000000000000000000000000000000..0328ec07e703c131edfd5db15713504d85e2c483
Binary files /dev/null and b/Assignment4.0/Monopoly/out/production/Monopoly/Board/Chance.class differ
diff --git a/Assignment4.0/Monopoly/out/production/Monopoly/Board/CommunityChest.class b/Assignment4.0/Monopoly/out/production/Monopoly/Board/CommunityChest.class
new file mode 100644
index 0000000000000000000000000000000000000000..d6f1dec0c1da86750aa1ec02934658fb565c0fc7
Binary files /dev/null and b/Assignment4.0/Monopoly/out/production/Monopoly/Board/CommunityChest.class differ
diff --git a/Assignment4.0/Monopoly/out/production/Monopoly/Board/FreeParking.class b/Assignment4.0/Monopoly/out/production/Monopoly/Board/FreeParking.class
new file mode 100644
index 0000000000000000000000000000000000000000..171977b15909c299d38e9fb659cf4e0aa232e9bf
Binary files /dev/null and b/Assignment4.0/Monopoly/out/production/Monopoly/Board/FreeParking.class differ
diff --git a/Assignment4.0/Monopoly/out/production/Monopoly/Board/Go.class b/Assignment4.0/Monopoly/out/production/Monopoly/Board/Go.class
new file mode 100644
index 0000000000000000000000000000000000000000..2dfd773beea80159263ac90c8ba60fd233758eb1
Binary files /dev/null and b/Assignment4.0/Monopoly/out/production/Monopoly/Board/Go.class differ
diff --git a/Assignment4.0/Monopoly/out/production/Monopoly/Board/GoToJail.class b/Assignment4.0/Monopoly/out/production/Monopoly/Board/GoToJail.class
new file mode 100644
index 0000000000000000000000000000000000000000..46368b3869f250b2e399a4743ab1e9e80e23fce8
Binary files /dev/null and b/Assignment4.0/Monopoly/out/production/Monopoly/Board/GoToJail.class differ
diff --git a/Assignment4.0/Monopoly/out/production/Monopoly/Board/Jail.class b/Assignment4.0/Monopoly/out/production/Monopoly/Board/Jail.class
new file mode 100644
index 0000000000000000000000000000000000000000..f7518dd6ccd637690f78894b5f18550fa296bd9a
Binary files /dev/null and b/Assignment4.0/Monopoly/out/production/Monopoly/Board/Jail.class differ
diff --git a/Assignment4.0/Monopoly/out/production/Monopoly/Board/MonopolyBoard.class b/Assignment4.0/Monopoly/out/production/Monopoly/Board/MonopolyBoard.class
new file mode 100644
index 0000000000000000000000000000000000000000..635925ed783729af76a91948c772705038b016be
Binary files /dev/null and b/Assignment4.0/Monopoly/out/production/Monopoly/Board/MonopolyBoard.class differ
diff --git a/Assignment4.0/Monopoly/out/production/Monopoly/Board/PassingJail.class b/Assignment4.0/Monopoly/out/production/Monopoly/Board/PassingJail.class
new file mode 100644
index 0000000000000000000000000000000000000000..2be9293dcca21ed27ba1a163812217265fc8c73d
Binary files /dev/null and b/Assignment4.0/Monopoly/out/production/Monopoly/Board/PassingJail.class differ
diff --git a/Assignment4.0/Monopoly/out/production/Monopoly/Board/Property.class b/Assignment4.0/Monopoly/out/production/Monopoly/Board/Property.class
new file mode 100644
index 0000000000000000000000000000000000000000..e948498c55aea52a062047c27204c9ca1e6b93a7
Binary files /dev/null and b/Assignment4.0/Monopoly/out/production/Monopoly/Board/Property.class differ
diff --git a/Assignment4.0/Monopoly/out/production/Monopoly/Board/Railroad.class b/Assignment4.0/Monopoly/out/production/Monopoly/Board/Railroad.class
new file mode 100644
index 0000000000000000000000000000000000000000..572c23d4f006714b552aa35a45dd6156b8c57613
Binary files /dev/null and b/Assignment4.0/Monopoly/out/production/Monopoly/Board/Railroad.class differ
diff --git a/Assignment4.0/Monopoly/out/production/Monopoly/Board/Space.class b/Assignment4.0/Monopoly/out/production/Monopoly/Board/Space.class
new file mode 100644
index 0000000000000000000000000000000000000000..6a9aeb5311a311a8ca162c1aa772a61c89903a54
Binary files /dev/null and b/Assignment4.0/Monopoly/out/production/Monopoly/Board/Space.class differ
diff --git a/Assignment4.0/Monopoly/out/production/Monopoly/Board/Tax.class b/Assignment4.0/Monopoly/out/production/Monopoly/Board/Tax.class
new file mode 100644
index 0000000000000000000000000000000000000000..03087be846bb32c1f3f019e38e4c204766c5e2d5
Binary files /dev/null and b/Assignment4.0/Monopoly/out/production/Monopoly/Board/Tax.class differ
diff --git a/Assignment4.0/Monopoly/out/production/Monopoly/Board/Utilities.class b/Assignment4.0/Monopoly/out/production/Monopoly/Board/Utilities.class
new file mode 100644
index 0000000000000000000000000000000000000000..d55e68d8e0e0910673d0fba82d3a7cd350e51c81
Binary files /dev/null and b/Assignment4.0/Monopoly/out/production/Monopoly/Board/Utilities.class differ
diff --git a/Assignment4.0/Monopoly/out/production/Monopoly/Main.class b/Assignment4.0/Monopoly/out/production/Monopoly/Main.class
new file mode 100644
index 0000000000000000000000000000000000000000..69abdf0cd1ac6f2db3fbb6eff5f976691e3759ee
Binary files /dev/null and b/Assignment4.0/Monopoly/out/production/Monopoly/Main.class differ
diff --git a/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/ChanceCards/AdvanceToGoChance.class b/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/ChanceCards/AdvanceToGoChance.class
new file mode 100644
index 0000000000000000000000000000000000000000..b1d7cfbe6c0798d11bbe8fd8916c7eacb3b4e6b7
Binary files /dev/null and b/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/ChanceCards/AdvanceToGoChance.class differ
diff --git a/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/ChanceCards/AdvanceToIllinois.class b/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/ChanceCards/AdvanceToIllinois.class
new file mode 100644
index 0000000000000000000000000000000000000000..70c16555f2ac230a6a8fc89d1e9d38ca2927b1f7
Binary files /dev/null and b/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/ChanceCards/AdvanceToIllinois.class differ
diff --git a/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/ChanceCards/AdvanceToRailRoad.class b/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/ChanceCards/AdvanceToRailRoad.class
new file mode 100644
index 0000000000000000000000000000000000000000..4bdbe53bfa1ddf6115838478db0d648501a731d7
Binary files /dev/null and b/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/ChanceCards/AdvanceToRailRoad.class differ
diff --git a/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/ChanceCards/AdvanceToStCharles.class b/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/ChanceCards/AdvanceToStCharles.class
new file mode 100644
index 0000000000000000000000000000000000000000..a906185fd198ff3a28bf182480a65785d702ff2b
Binary files /dev/null and b/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/ChanceCards/AdvanceToStCharles.class differ
diff --git a/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/ChanceCards/AdvanceToUtility.class b/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/ChanceCards/AdvanceToUtility.class
new file mode 100644
index 0000000000000000000000000000000000000000..a2da255d5b3aae48d5de637bab1e6a42dd7da33d
Binary files /dev/null and b/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/ChanceCards/AdvanceToUtility.class differ
diff --git a/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/ChanceCards/BankPaysYou.class b/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/ChanceCards/BankPaysYou.class
new file mode 100644
index 0000000000000000000000000000000000000000..7e9f8011262beb1b187dbec14adad5798c45349e
Binary files /dev/null and b/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/ChanceCards/BankPaysYou.class differ
diff --git a/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/ChanceCards/ChanceCard.class b/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/ChanceCards/ChanceCard.class
new file mode 100644
index 0000000000000000000000000000000000000000..51e1717b26ebb2d9dd354a3f4a8173dc1639fcb2
Binary files /dev/null and b/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/ChanceCards/ChanceCard.class differ
diff --git a/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/ChanceCards/GetOutOfJailChance.class b/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/ChanceCards/GetOutOfJailChance.class
new file mode 100644
index 0000000000000000000000000000000000000000..851f8d01fef6ec616dcb809d3a86ad96333e7675
Binary files /dev/null and b/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/ChanceCards/GetOutOfJailChance.class differ
diff --git a/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/ChanceCards/GoBackThree.class b/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/ChanceCards/GoBackThree.class
new file mode 100644
index 0000000000000000000000000000000000000000..9b6fc717b8e3e33ff765cbc8025abb952dec4179
Binary files /dev/null and b/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/ChanceCards/GoBackThree.class differ
diff --git a/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/ChanceCards/GoToJailChance.class b/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/ChanceCards/GoToJailChance.class
new file mode 100644
index 0000000000000000000000000000000000000000..c6bdb235850bbde68189fe350c2f014893884043
Binary files /dev/null and b/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/ChanceCards/GoToJailChance.class differ
diff --git a/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/ChanceCards/MakeGeneralRepairs.class b/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/ChanceCards/MakeGeneralRepairs.class
new file mode 100644
index 0000000000000000000000000000000000000000..36e7f4204f7342d6afd16974af74a9abb06bcc4c
Binary files /dev/null and b/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/ChanceCards/MakeGeneralRepairs.class differ
diff --git a/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/ChanceCards/PayPoorTax.class b/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/ChanceCards/PayPoorTax.class
new file mode 100644
index 0000000000000000000000000000000000000000..ee74610c7a6151d0d5ca9234dc58cbe8917744e8
Binary files /dev/null and b/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/ChanceCards/PayPoorTax.class differ
diff --git a/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/ChanceCards/TakeTripToReading.class b/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/ChanceCards/TakeTripToReading.class
new file mode 100644
index 0000000000000000000000000000000000000000..3ce6e2c3e6a216433d53a090e7febc01da3dd38e
Binary files /dev/null and b/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/ChanceCards/TakeTripToReading.class differ
diff --git a/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/ChanceCards/TakeWalkOnBoardwalk.class b/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/ChanceCards/TakeWalkOnBoardwalk.class
new file mode 100644
index 0000000000000000000000000000000000000000..3251b4945bd5422d86a5ecce5a26afee4da87a6a
Binary files /dev/null and b/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/ChanceCards/TakeWalkOnBoardwalk.class differ
diff --git a/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/ChanceCards/YouAreChairman.class b/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/ChanceCards/YouAreChairman.class
new file mode 100644
index 0000000000000000000000000000000000000000..9823deacafb1c72bff9d9280936f650ce0d8e1ed
Binary files /dev/null and b/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/ChanceCards/YouAreChairman.class differ
diff --git a/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/ChanceCards/YourBuildingLoanMatures.class b/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/ChanceCards/YourBuildingLoanMatures.class
new file mode 100644
index 0000000000000000000000000000000000000000..186eac1881ddcdf0724e477b2515265f724035fb
Binary files /dev/null and b/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/ChanceCards/YourBuildingLoanMatures.class differ
diff --git a/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/CommunityChestCards/AdvanceToGoCC.class b/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/CommunityChestCards/AdvanceToGoCC.class
new file mode 100644
index 0000000000000000000000000000000000000000..c3adb65eb0c0dd566cb7d61c99c41ed62152f76d
Binary files /dev/null and b/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/CommunityChestCards/AdvanceToGoCC.class differ
diff --git a/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/CommunityChestCards/BankError.class b/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/CommunityChestCards/BankError.class
new file mode 100644
index 0000000000000000000000000000000000000000..3dd24e1898b7679d44bcafedd5d993004fb4d697
Binary files /dev/null and b/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/CommunityChestCards/BankError.class differ
diff --git a/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/CommunityChestCards/CommunityChestCard.class b/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/CommunityChestCards/CommunityChestCard.class
new file mode 100644
index 0000000000000000000000000000000000000000..8f56cd5c365e1f1e57694b94292d235d4f44ba02
Binary files /dev/null and b/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/CommunityChestCards/CommunityChestCard.class differ
diff --git a/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/CommunityChestCards/DoctorFees.class b/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/CommunityChestCards/DoctorFees.class
new file mode 100644
index 0000000000000000000000000000000000000000..1b6991562b772f6be6a94123d39a6a3b51a6f5d8
Binary files /dev/null and b/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/CommunityChestCards/DoctorFees.class differ
diff --git a/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/CommunityChestCards/FromStockSale.class b/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/CommunityChestCards/FromStockSale.class
new file mode 100644
index 0000000000000000000000000000000000000000..675fa7d5d2f76f82ba12de267df369b6e38415eb
Binary files /dev/null and b/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/CommunityChestCards/FromStockSale.class differ
diff --git a/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/CommunityChestCards/GetOutOfJailCC.class b/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/CommunityChestCards/GetOutOfJailCC.class
new file mode 100644
index 0000000000000000000000000000000000000000..0081149149f54af22e27284e37c554062ca8cf6b
Binary files /dev/null and b/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/CommunityChestCards/GetOutOfJailCC.class differ
diff --git a/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/CommunityChestCards/GoToJailCC.class b/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/CommunityChestCards/GoToJailCC.class
new file mode 100644
index 0000000000000000000000000000000000000000..e2377132434329cffcb4e5e2674dceaf0b8cbefc
Binary files /dev/null and b/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/CommunityChestCards/GoToJailCC.class differ
diff --git a/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/CommunityChestCards/GrandOpera.class b/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/CommunityChestCards/GrandOpera.class
new file mode 100644
index 0000000000000000000000000000000000000000..84ec6822759b1429597a63345634c2ded6cc3a8d
Binary files /dev/null and b/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/CommunityChestCards/GrandOpera.class differ
diff --git a/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/CommunityChestCards/HolidayFund.class b/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/CommunityChestCards/HolidayFund.class
new file mode 100644
index 0000000000000000000000000000000000000000..4da58727bf2521f960031242248cd1ffb80c2dd2
Binary files /dev/null and b/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/CommunityChestCards/HolidayFund.class differ
diff --git a/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/CommunityChestCards/IncomeTaxRefund.class b/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/CommunityChestCards/IncomeTaxRefund.class
new file mode 100644
index 0000000000000000000000000000000000000000..f52c948d36b31ae6574fdcc237256ec7de361006
Binary files /dev/null and b/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/CommunityChestCards/IncomeTaxRefund.class differ
diff --git a/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/CommunityChestCards/LifeInsurance.class b/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/CommunityChestCards/LifeInsurance.class
new file mode 100644
index 0000000000000000000000000000000000000000..c8a736d1d84d580c77871b9679f6ad10bbec81b2
Binary files /dev/null and b/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/CommunityChestCards/LifeInsurance.class differ
diff --git a/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/CommunityChestCards/PayHospital.class b/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/CommunityChestCards/PayHospital.class
new file mode 100644
index 0000000000000000000000000000000000000000..d3a5240c12856016640e27da951d4d0c1405353f
Binary files /dev/null and b/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/CommunityChestCards/PayHospital.class differ
diff --git a/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/CommunityChestCards/PaySchool.class b/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/CommunityChestCards/PaySchool.class
new file mode 100644
index 0000000000000000000000000000000000000000..1c7919a2ddac9b1d5e0e8039345f4bb1902227f7
Binary files /dev/null and b/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/CommunityChestCards/PaySchool.class differ
diff --git a/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/CommunityChestCards/ReceiveConsultantFee.class b/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/CommunityChestCards/ReceiveConsultantFee.class
new file mode 100644
index 0000000000000000000000000000000000000000..25136f2bb31cccd32225c27678f92e3293fc1da6
Binary files /dev/null and b/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/CommunityChestCards/ReceiveConsultantFee.class differ
diff --git a/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/CommunityChestCards/YouGetStreetRepairs.class b/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/CommunityChestCards/YouGetStreetRepairs.class
new file mode 100644
index 0000000000000000000000000000000000000000..5ea2dd2c1907e89efa00eca6bf04f125ec6b0db8
Binary files /dev/null and b/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/CommunityChestCards/YouGetStreetRepairs.class differ
diff --git a/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/CommunityChestCards/YouReceivedInheitance.class b/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/CommunityChestCards/YouReceivedInheitance.class
new file mode 100644
index 0000000000000000000000000000000000000000..b00d0a5e2402fab7a585775f37a76c714df77fc4
Binary files /dev/null and b/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/CommunityChestCards/YouReceivedInheitance.class differ
diff --git a/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/CommunityChestCards/YouWonBeauty.class b/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/CommunityChestCards/YouWonBeauty.class
new file mode 100644
index 0000000000000000000000000000000000000000..161f7d91ad57e61e7e98a5946ec6bd67eb5ee516
Binary files /dev/null and b/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/CommunityChestCards/YouWonBeauty.class differ
diff --git a/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/Dice.class b/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/Dice.class
new file mode 100644
index 0000000000000000000000000000000000000000..2dd14423f7b1eac8538b8ed855edb99725817443
Binary files /dev/null and b/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/Dice.class differ
diff --git a/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/PlayerPiece.class b/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/PlayerPiece.class
new file mode 100644
index 0000000000000000000000000000000000000000..ea30f2cb765174060ee2c5a4ec7e217c3fa0cf86
Binary files /dev/null and b/Assignment4.0/Monopoly/out/production/Monopoly/Pieces/PlayerPiece.class differ
diff --git a/Assignment4.0/Monopoly/out/production/Monopoly/Players/Bank.class b/Assignment4.0/Monopoly/out/production/Monopoly/Players/Bank.class
new file mode 100644
index 0000000000000000000000000000000000000000..3f39942b11cd0da026b1111e283fe0039ae597c2
Binary files /dev/null and b/Assignment4.0/Monopoly/out/production/Monopoly/Players/Bank.class differ
diff --git a/Assignment4.0/Monopoly/out/production/Monopoly/Players/Player.class b/Assignment4.0/Monopoly/out/production/Monopoly/Players/Player.class
new file mode 100644
index 0000000000000000000000000000000000000000..e0b23e9ecf5bca84491323463a30d2511b99450c
Binary files /dev/null and b/Assignment4.0/Monopoly/out/production/Monopoly/Players/Player.class differ
diff --git a/Assignment4.0/Monopoly/out/test/Monopoly/AllTest.class b/Assignment4.0/Monopoly/out/test/Monopoly/AllTest.class
new file mode 100644
index 0000000000000000000000000000000000000000..a21b2de3097c4b552b5e057415317fb35a1bca99
Binary files /dev/null and b/Assignment4.0/Monopoly/out/test/Monopoly/AllTest.class differ
diff --git a/Assignment4.0/Monopoly/out/test/Monopoly/Board/ChanceTest.class b/Assignment4.0/Monopoly/out/test/Monopoly/Board/ChanceTest.class
new file mode 100644
index 0000000000000000000000000000000000000000..52e1a8ae3ca07424f5a05702b9f77cc513891a5e
Binary files /dev/null and b/Assignment4.0/Monopoly/out/test/Monopoly/Board/ChanceTest.class differ
diff --git a/Assignment4.0/Monopoly/out/test/Monopoly/Board/CommunityChestTest.class b/Assignment4.0/Monopoly/out/test/Monopoly/Board/CommunityChestTest.class
new file mode 100644
index 0000000000000000000000000000000000000000..8cf3200955ea04d1198134b3b6162d8cb2d4e820
Binary files /dev/null and b/Assignment4.0/Monopoly/out/test/Monopoly/Board/CommunityChestTest.class differ
diff --git a/Assignment4.0/Monopoly/out/test/Monopoly/Board/FreeParkingTest.class b/Assignment4.0/Monopoly/out/test/Monopoly/Board/FreeParkingTest.class
new file mode 100644
index 0000000000000000000000000000000000000000..40083ed16dacf13e39edee8ae4aa762036eaddba
Binary files /dev/null and b/Assignment4.0/Monopoly/out/test/Monopoly/Board/FreeParkingTest.class differ
diff --git a/Assignment4.0/Monopoly/out/test/Monopoly/Board/GoTest.class b/Assignment4.0/Monopoly/out/test/Monopoly/Board/GoTest.class
new file mode 100644
index 0000000000000000000000000000000000000000..c5dce2efdf4327df8e927d02217beccbf9e41001
Binary files /dev/null and b/Assignment4.0/Monopoly/out/test/Monopoly/Board/GoTest.class differ
diff --git a/Assignment4.0/Monopoly/out/test/Monopoly/Board/GoToJailTest.class b/Assignment4.0/Monopoly/out/test/Monopoly/Board/GoToJailTest.class
new file mode 100644
index 0000000000000000000000000000000000000000..1da5ff55d3cbc1f714c9b029253421ff5f42f221
Binary files /dev/null and b/Assignment4.0/Monopoly/out/test/Monopoly/Board/GoToJailTest.class differ
diff --git a/Assignment4.0/Monopoly/src/Board/Chance.java b/Assignment4.0/Monopoly/src/Board/Chance.java
new file mode 100644
index 0000000000000000000000000000000000000000..190185ae3911c40e4fd5ce68a58971d0f3394a7e
--- /dev/null
+++ b/Assignment4.0/Monopoly/src/Board/Chance.java
@@ -0,0 +1,26 @@
+package Board;
+
+import Players.Player;
+
+/**
+ * @author Matt Caddell
+ * A class designed to represent the spaces on the board that make the player draw a Chance card
+ */
+public class Chance extends Space{
+
+    /**
+     * The constructor
+     */
+    public Chance(Space next, Space prev) {
+        this.next = next;
+        this.prev = prev;
+    }
+
+
+    /**
+     * Makes the player draw a Chance card
+     */
+    public void action(Player currPlayer) {
+        currPlayer.getChanceCard();
+    }
+}
diff --git a/Assignment4.0/Monopoly/src/Board/CommunityChest.java b/Assignment4.0/Monopoly/src/Board/CommunityChest.java
new file mode 100644
index 0000000000000000000000000000000000000000..8aec4fe801f1e48279c3b6cc07195257e0bd7578
--- /dev/null
+++ b/Assignment4.0/Monopoly/src/Board/CommunityChest.java
@@ -0,0 +1,26 @@
+package Board;
+
+import Players.Player;
+
+/**
+ * @author Matt Caddell
+ * A class designed to represent the spaces on the board that make the player draw a Community Chest card
+ */
+public class CommunityChest extends Space{
+
+    /**
+     * The constuctor
+     */
+    public CommunityChest(Space next, Space prev) {
+        this.next = next;
+        this.prev = prev;
+    }
+
+
+    /**
+     * Makes the player draw a community chest card
+     */
+    public void action(Player currPlayer) {
+        currPlayer.getCommunityChestCard();
+    }
+}
diff --git a/Assignment4.0/Monopoly/src/Board/FreeParking.java b/Assignment4.0/Monopoly/src/Board/FreeParking.java
new file mode 100644
index 0000000000000000000000000000000000000000..b3c24d39aa8a58b2c12f63e74e42865616155e3b
--- /dev/null
+++ b/Assignment4.0/Monopoly/src/Board/FreeParking.java
@@ -0,0 +1,26 @@
+package Board;
+
+import Players.Player;
+
+/**
+ * @author Matt Caddell
+ * A class designed to represent the Free Parking Space
+ */
+public class FreeParking extends Space{
+
+
+    /**
+     * The constuctor
+     */
+    public FreeParking(Space next, Space prev) {
+        this.next = next;
+        this.prev = prev;
+    }
+
+    /**
+     * Does nothing
+     */
+    public void action(Player currPlayer)  {
+        return;
+    }
+}
diff --git a/Assignment4.0/Monopoly/src/Board/Go.java b/Assignment4.0/Monopoly/src/Board/Go.java
new file mode 100644
index 0000000000000000000000000000000000000000..b9ba9ebb4747e498747da382abbd7598b6696327
--- /dev/null
+++ b/Assignment4.0/Monopoly/src/Board/Go.java
@@ -0,0 +1,26 @@
+package Board;
+
+import Players.Player;
+
+/**
+ * @author Matt Caddell
+ * A class designed to represent the go/start space in Monopoly
+ */
+public class Go extends Space{
+
+    /**
+     * The constructor
+     */
+    public Go(Space next, Space prev) {
+        this.next = next;
+        this.prev = prev;
+    }
+
+    /**
+     * Gives the player $200 (Should also do it if just passed over. @TODO Implement that
+     */
+    public void action(Player currPlayer) {
+        currPlayer.chargeBank(200);
+    }
+}
+
diff --git a/Assignment4.0/Monopoly/src/Board/GoToJail.java b/Assignment4.0/Monopoly/src/Board/GoToJail.java
new file mode 100644
index 0000000000000000000000000000000000000000..3e0ed890f96b77ff11dd3479409179a9885f4025
--- /dev/null
+++ b/Assignment4.0/Monopoly/src/Board/GoToJail.java
@@ -0,0 +1,35 @@
+package Board;
+
+import Players.Player;
+
+/**
+ * @author Matt Caddell
+ * A class designed to represent the space that sends the player straight to jail
+ */
+public class GoToJail extends Space{
+
+    //A variable to hold the Jail space to be called later
+    Space jail;
+
+
+    /**
+     * The Constructor
+     * @param next - The next space
+     * @param prev - The previous space
+     * @param jail - The jail space
+     */
+    public GoToJail(Space next, Space prev, Space jail) {
+        this.next = next;
+        this.prev = prev;
+        this.jail = jail;
+    }
+
+    /**
+     * Sends the player to jail
+     * @param currPlayer - The current player
+     */
+    public void action(Player currPlayer) {
+        currPlayer.setSpace(jail);
+    }
+
+}
diff --git a/Assignment4.0/Monopoly/src/Board/Jail.java b/Assignment4.0/Monopoly/src/Board/Jail.java
new file mode 100644
index 0000000000000000000000000000000000000000..3bd93780fb8974b565fd9cb157b8813240b355ee
--- /dev/null
+++ b/Assignment4.0/Monopoly/src/Board/Jail.java
@@ -0,0 +1,61 @@
+package Board;
+
+import Players.Player;
+
+/**
+ * @author Matt Caddell
+ * A class designed to represent the jail space
+ */
+public class Jail extends Space{
+
+    //A variable to count the number of turns that a user has spent in jail (They are forced out at 3)
+    int turnCount;
+
+
+    /**
+     * The constructor
+     * @param next - The next space
+     * @param prev - The previous space
+     */
+    public Jail(Space next, Space prev) {
+        this.next = next;
+        this.prev = prev;
+        this.turnCount = 0;
+    }
+
+
+    /**
+     * Counts the turn as spent in jail
+     * @param currPlayer - The current player
+     */
+    public void action(Player currPlayer) {
+        turnCount++;
+        return;
+    }
+
+
+    /**
+     * A function to see how the player wishes to get out of the jail, and whether it's succesful or not
+     * @param currPlayer - The current player
+     * @param method - The method by which the player wishes to try and get out of jail
+     * @param dice1 - The number from the first die
+     * @param dice2 - The number from the second die
+     * @return A boolean representing the success of the escape
+     */
+    public boolean getOut(Player currPlayer, String method, int dice1, int dice2) {
+        if(method.equals("card"))
+            return true;
+        else if(method.equals("double")){
+            if(dice1 == dice2)
+                return true;
+            else
+                return false;
+        }
+        else if(method.equals("pay") || turnCount > 3){
+            currPlayer.charge(50);
+            return true;
+        }
+        else
+            return false;
+    }
+}
diff --git a/Assignment4.0/Monopoly/src/Board/MonopolyBoard.java b/Assignment4.0/Monopoly/src/Board/MonopolyBoard.java
new file mode 100644
index 0000000000000000000000000000000000000000..a9341aac73be6c65857de955543a62a9a5a17ac6
--- /dev/null
+++ b/Assignment4.0/Monopoly/src/Board/MonopolyBoard.java
@@ -0,0 +1,136 @@
+package Board;
+
+import Pieces.ChanceCards.*;
+import Pieces.CommunityChestCards.*;
+import Pieces.Dice;
+import Players.Bank;
+import Players.Player;
+import java.awt.*;
+
+import java.util.ArrayList;
+import java.util.Collections;
+
+public class MonopolyBoard {
+
+    public Bank bank;
+    public Space go;
+    public Space jail;
+    public Dice die1;
+    public Dice die2;
+    public ArrayList<Player> players;
+    public ArrayList<ChanceCard> ChanceDeck;
+    public ArrayList<CommunityChestCard> CommunityChestDeck;
+
+    public MonopolyBoard() {
+        initializeBoard();
+    }
+
+    public ChanceCard getChanceCard() {
+        return ChanceDeck.remove(ChanceDeck.size()-1);
+    }
+
+    public CommunityChestCard getCommunityChestCard() {
+        return CommunityChestDeck.remove(CommunityChestDeck.size()-1);
+    }
+
+    public void initializeChanceDeck(Space go, Space ill, Space stCharles, Space jail, Space rRR, Space boardwalk) {
+        ChanceDeck = new ArrayList<>();
+        ChanceDeck.add(new AdvanceToGoChance(go));
+        ChanceDeck.add(new AdvanceToIllinois(ill));
+        ChanceDeck.add(new AdvanceToRailRoad());
+        ChanceDeck.add(new AdvanceToRailRoad());
+        ChanceDeck.add(new AdvanceToStCharles(stCharles));
+        ChanceDeck.add(new AdvanceToUtility());
+        ChanceDeck.add(new BankPaysYou());
+        ChanceDeck.add(new GetOutOfJailChance());
+        ChanceDeck.add(new GoBackThree());
+        ChanceDeck.add(new GoToJailChance(jail));
+        ChanceDeck.add(new MakeGeneralRepairs());
+        ChanceDeck.add(new PayPoorTax());
+        ChanceDeck.add(new TakeTripToReading(rRR));
+        ChanceDeck.add(new TakeWalkOnBoardwalk(boardwalk));
+        ChanceDeck.add(new YouAreChairman());
+        ChanceDeck.add(new YourBuildingLoanMatures());
+        Collections.shuffle(ChanceDeck);
+    }
+
+    public void initializeCommunityChestDeck(Space go, Space jail) {
+        CommunityChestDeck = new ArrayList<>();
+        CommunityChestDeck.add(new AdvanceToGoCC(go));
+        CommunityChestDeck.add(new BankError());
+        CommunityChestDeck.add(new DoctorFees());
+        CommunityChestDeck.add(new FromStockSale());
+        CommunityChestDeck.add(new GetOutOfJailCC());
+        CommunityChestDeck.add(new GoToJailCC(jail));
+        CommunityChestDeck.add(new GrandOpera());
+        CommunityChestDeck.add(new HolidayFund());
+        CommunityChestDeck.add(new IncomeTaxRefund());
+        CommunityChestDeck.add(new LifeInsurance());
+        CommunityChestDeck.add(new PayHospital());
+        CommunityChestDeck.add(new PaySchool());
+        CommunityChestDeck.add(new ReceiveConsultantFee());
+        CommunityChestDeck.add(new YouGetStreetRepairs());
+        CommunityChestDeck.add(new YouReceivedInheitance());
+        CommunityChestDeck.add(new YouWonBeauty());
+        Collections.shuffle(CommunityChestDeck);
+    }
+
+    public void initializeBoard() {
+        go = new Go(null, null);
+        go.last().next = new Property(null, go.last(), "Mediterranean Avenue", 60, 50, (new int[]{2,4,10,30,90,160,250}), Color.WHITE);
+        go.last().next = new CommunityChest(null, go.last());
+        go.last().next = new Property(null, go.last(), "Baltic Avenue", 60, 50, (new int[]{4,8,20,60,180,320,450}), Color.WHITE);
+        go.last().next = new Tax(null, go.last(), "Income Tax", 200);
+        Space rRR = new Railroad(null, go.last(), "Reading Railroad");
+        go.last().next = rRR;
+        go.last().next = new Property(null, go.last(), "Oriental Avenue", 100, 50, (new int[]{6,12,30,90,270,400,550}), Color.cyan);
+        go.last().next = new Chance(null, go.last());
+        go.last().next = new Property(null, go.last(), "Vermont Avenue", 100, 50, (new int[]{6,12,30,90,270,400,550}), Color.cyan);
+        go.last().next = new Property(null, go.last(), "Connecticut Avenue", 120, 60, (new int[]{8,16,40,100,300,450,600}), Color.cyan);
+        go.last().next = new PassingJail(null, go.last());
+        jail = new Jail(go.last(), null);
+        Space stCharles = new Property(null, go.last(), "St.Charles Place", 140, 100, (new int[]{10, 20, 50, 150, 450, 625}), Color.magenta);
+        go.last().next = stCharles;
+        go.last().next = new Utilities(null, go.last(), "Electric Company");
+        go.last().next = new Property(null, go.last(), "States Avenue", 140, 100, (new int[]{10, 20, 50, 150, 450, 625}), Color.magenta);
+        go.last().next = new Property(null, go.last(), "Virginia Avenue", 160, 100, (new int[]{12,24,60,180,500,700,900}), Color.magenta);
+        go.last().next = new Railroad(null, go.last(), "Pennsylvania Railroad");
+        go.last().next = new Property(null, go.last(), "St.James Place", 180, 100, (new int[]{14, 28, 70, 200, 550, 750, 950}), Color.orange);
+        go.last().next = new CommunityChest(null, go.last());
+        go.last().next = new Property(null, go.last(), "Tennessee Avenue", 180, 100, (new int[]{14, 28, 70, 200, 550, 750, 950}), Color.orange);
+        go.last().next = new Property(null, go.last(), "New York Avenue", 200, 100, (new int[]{16, 32, 80, 220, 600, 800, 1000}), Color.orange);
+        go.last().next = new FreeParking(null, go.last());
+        go.last().next = new Property(null, go.last(), "Kentucky Avenue", 220, 150, (new int[]{18,36,90,250,700,875,1050}), Color.red);
+        go.last().next = new Chance(null, go.last());
+        go.last().next = new Property(null, go.last(), "Indiana Avenue", 220, 150, (new int[]{18,36,90,250,700,875,1050}), Color.red);
+        Space ill = new Property(null, go.last(), "Illinois Avenue", 240, 150, (new int[]{20,40,100,300,750,925,1100}), Color.red);
+        go.last().next = ill;
+        go.last().next = new Railroad(null, go.last(), "B. & O. Railroad");
+        go.last().next = new Property(null, go.last(), "Atlantic Avenue", 260, 150, (new int[]{22,44,110,330,800,975,1150}), Color.yellow);
+        go.last().next = new Property(null, go.last(), "Ventnor Avenue", 260, 150, (new int[]{22,44,110,330,800,975,1150}), Color.yellow);
+        go.last().next = new Utilities(null, go.last(), "Water Works");
+        go.last().next = new Property(null, go.last(), "Marvin Gardens", 280, 150, (new int[]{24,48,120,360,850,1025,1200}), Color.yellow);
+        go.last().next = new GoToJail(null, go.last(), jail);
+        go.last().next = new Property(null, go.last(), "Pacific Avenue", 300, 200, (new int[]{26,52,130,390,900,1100,1275}), Color.green);
+        go.last().next = new Property(null, go.last(), "North Carolina Avenue", 300, 200, (new int[]{26,52,130,390,900,1100,1275}), Color.green);
+        go.last().next = new CommunityChest(null, go.last());
+        go.last().next = new Property(null, go.last(), "Pennsylvania Avenue", 320, 200, (new int[]{28,56,150,450,1000,1200,1400}), Color.green);
+        go.last().next = new Railroad(null, go.last(), "Short Line");
+        go.last().next = new Chance(null, go.last());
+        go.last().next = new Property(null, go.last(), "Park Place", 350, 200, (new int[]{35,70,175,500,1100,1300,1500}), Color.blue);
+        go.last().next = new Tax(null, go.last(), "Luxury Tax", 100);
+        Space boardwalk = new Property(null, go.last(), "Boardwalk", 400, 200, (new int[]{50,100,200,600,1400,1700,2000}), Color.blue);
+        go.last().next = boardwalk;
+        boardwalk.next = go;
+
+        initializeChanceDeck(go, ill, stCharles, jail, rRR, boardwalk);
+        initializeCommunityChestDeck(go, jail);
+
+        this.bank = new Bank();
+    }
+
+    public void startGame() {
+
+    }
+
+}
diff --git a/Assignment4.0/Monopoly/src/Board/PassingJail.java b/Assignment4.0/Monopoly/src/Board/PassingJail.java
new file mode 100644
index 0000000000000000000000000000000000000000..02721fd370bd9064b8155a5229781ab128e0e372
--- /dev/null
+++ b/Assignment4.0/Monopoly/src/Board/PassingJail.java
@@ -0,0 +1,16 @@
+package Board;
+
+import Players.Player;
+
+public class PassingJail extends Space{
+
+    public PassingJail(Space next, Space prev) {
+        this.next = next;
+        this.prev = prev;
+    }
+
+    public void action(Player currPlayer) {
+        return;
+    }
+
+}
diff --git a/Assignment4.0/Monopoly/src/Board/Property.java b/Assignment4.0/Monopoly/src/Board/Property.java
new file mode 100644
index 0000000000000000000000000000000000000000..250f41f1140195a41bf206925008720d30dcf4b3
--- /dev/null
+++ b/Assignment4.0/Monopoly/src/Board/Property.java
@@ -0,0 +1,46 @@
+package Board;
+
+import Players.Player;
+
+import java.awt.*;
+import java.util.Arrays;
+
+public class Property extends Space {
+    String name;
+    int cost;
+    int buildingCost;
+    int level;
+    int[] rent;
+    Color color;
+    Player owner;
+
+    public Property(Space next, Space prev, String name, int cost, int buildingCost, int[] rent, Color color) {
+        this.next = next;
+        this.prev = prev;
+        this.name = name;
+        this.cost = cost;
+        this.buildingCost = buildingCost;
+        this.rent = Arrays.copyOf(rent, rent.length);
+        this.color = color;
+        this.level = 0;
+        this.owner = null;
+    }
+
+    public void action(Player currPlayer) {
+        if(owner == null){
+            if(currPlayer.wantsToBuy(this)) {
+                currPlayer.charge(cost);
+                owner = currPlayer;
+            }
+            else { return; }
+        }
+        else {
+            currPlayer.charge(rent[level]);
+            owner.getMoney(rent[level]);
+        }
+    }
+
+    public void setLevel(int level) {
+        this.level = level;
+    }
+}
diff --git a/Assignment4.0/Monopoly/src/Board/Railroad.java b/Assignment4.0/Monopoly/src/Board/Railroad.java
new file mode 100644
index 0000000000000000000000000000000000000000..b4a9b997fafbddf9815fe1f945cad72e2a6b8f5c
--- /dev/null
+++ b/Assignment4.0/Monopoly/src/Board/Railroad.java
@@ -0,0 +1,38 @@
+package Board;
+
+import Players.Player;
+
+
+public class Railroad extends Space{
+    String name;
+    int cost;
+    int level;
+    Player owner;
+
+    public Railroad(Space next, Space prev, String name) {
+        this.next = next;
+        this.prev = prev;
+        this.name = name;
+        this.cost = 200;
+        this.level = 0;
+        this.owner = null;
+    }
+
+    public void action(Player currPlayer) {
+        if(owner == null){
+            if(currPlayer.wantsToBuy(this)) {
+                currPlayer.charge(cost);
+                owner = currPlayer;
+            }
+            else { return; }
+        }
+        else {
+            currPlayer.charge((int)(25* Math.pow(2, level)));
+            owner.getMoney((int)(25* Math.pow(2, level)));
+        }
+    }
+
+    public void setLevel(int level) {
+        this.level = level;
+    }
+}
diff --git a/Assignment4.0/Monopoly/src/Board/Space.java b/Assignment4.0/Monopoly/src/Board/Space.java
new file mode 100644
index 0000000000000000000000000000000000000000..0bdaa726965292dd7d7e54e80d84f740e4baeb7e
--- /dev/null
+++ b/Assignment4.0/Monopoly/src/Board/Space.java
@@ -0,0 +1,44 @@
+package Board;
+
+import Players.Player;
+
+abstract public class Space {
+    Space next;
+    Space prev;
+
+    public Space move() {
+        return next;
+    }
+
+    public Space previous() {
+        return prev;
+    }
+
+    public Space last() {
+        return lastRecur(this);
+    }
+
+    private static Space lastRecur(Space curr) {
+        if(curr.next == null)
+            return curr;
+        else
+            return lastRecur(curr.next);
+    }
+
+    @Override
+    public boolean equals(Object oth) {
+        if(oth == null)
+            return false;
+        if(!(oth instanceof Space))
+            return false;
+        Space other = (Space) oth;
+        if(next != other.next)
+            return false;
+        else if(prev != other.prev)
+            return false;
+        else
+            return true;
+    }
+
+    public abstract void action(Player currPlayer);
+}
diff --git a/Assignment4.0/Monopoly/src/Board/Tax.java b/Assignment4.0/Monopoly/src/Board/Tax.java
new file mode 100644
index 0000000000000000000000000000000000000000..78fa2a584c244bcf00e1c0351db0491587ecf2a2
--- /dev/null
+++ b/Assignment4.0/Monopoly/src/Board/Tax.java
@@ -0,0 +1,21 @@
+package Board;
+
+import Players.Player;
+
+public class Tax extends Space{
+
+    String name;
+    int cost;
+
+    public Tax(Space next, Space prev, String name, int cost) {
+        this.next = next;
+        this.prev = prev;
+        this.name = name;
+        this.cost = cost;
+    }
+
+    public void action(Player currPlayer) {
+        currPlayer.giveMoneyToBank(cost);
+    }
+
+}
diff --git a/Assignment4.0/Monopoly/src/Board/Utilities.java b/Assignment4.0/Monopoly/src/Board/Utilities.java
new file mode 100644
index 0000000000000000000000000000000000000000..e22e989cbf0e19a14d3b1b95415f2351092d22d0
--- /dev/null
+++ b/Assignment4.0/Monopoly/src/Board/Utilities.java
@@ -0,0 +1,49 @@
+package Board;
+
+import Pieces.Dice;
+import Players.Player;
+
+public class Utilities extends Space {
+
+    String name;
+    int level;
+    int cost;
+    Player owner;
+
+    public Utilities(Space next, Space prev, String name) {
+        this.next = next;
+        this.prev = prev;
+        this.name = name;
+        this.level = 0;
+        this.cost = 150;
+        this.owner = null;
+    }
+
+    public void action(Player currPlayer) {
+        if(owner == null){
+            if(currPlayer.wantsToBuy(this)) {
+                currPlayer.charge(cost);
+                owner = currPlayer;
+            }
+            else { return; }
+        }
+        else {
+            Dice utilityDie = new Dice();
+            if(level == 0) {
+                int amount = utilityDie.roll()*4;
+                currPlayer.charge(amount);
+                owner.getMoney(amount);
+            }
+            else {
+                int amount = utilityDie.roll()*10;
+                currPlayer.charge(amount);
+                owner.getMoney(amount);
+            }
+
+        }
+    }
+
+    public void setLevel(int level) {
+        this.level = level;
+    }
+}
diff --git a/Assignment4.0/Monopoly/src/Main.java b/Assignment4.0/Monopoly/src/Main.java
new file mode 100644
index 0000000000000000000000000000000000000000..70464179bc81d2632c2c74a2cd2478ef9430f2f4
--- /dev/null
+++ b/Assignment4.0/Monopoly/src/Main.java
@@ -0,0 +1,2 @@
+public class Main {
+}
diff --git a/Assignment4.0/Monopoly/src/Pieces/ChanceCards/AdvanceToGoChance.java b/Assignment4.0/Monopoly/src/Pieces/ChanceCards/AdvanceToGoChance.java
new file mode 100644
index 0000000000000000000000000000000000000000..19951cb22c6d2d24b02773a52734618558ebacd1
--- /dev/null
+++ b/Assignment4.0/Monopoly/src/Pieces/ChanceCards/AdvanceToGoChance.java
@@ -0,0 +1,19 @@
+package Pieces.ChanceCards;
+
+import Board.Space;
+import Players.Player;
+
+public class AdvanceToGoChance extends ChanceCard {
+
+    Space go;
+
+    public AdvanceToGoChance(Space go) {
+        this.description = "Advance to Go";
+        this.go = go;
+    }
+
+    public void action(Player currPlayer) {
+        currPlayer.setSpace(go);
+    }
+
+}
diff --git a/Assignment4.0/Monopoly/src/Pieces/ChanceCards/AdvanceToIllinois.java b/Assignment4.0/Monopoly/src/Pieces/ChanceCards/AdvanceToIllinois.java
new file mode 100644
index 0000000000000000000000000000000000000000..8ca31acc05e107cfb5b84c19b402e34e6ab0e965
--- /dev/null
+++ b/Assignment4.0/Monopoly/src/Pieces/ChanceCards/AdvanceToIllinois.java
@@ -0,0 +1,19 @@
+package Pieces.ChanceCards;
+
+import Board.Space;
+import Players.Player;
+
+public class AdvanceToIllinois extends ChanceCard {
+
+    Space illinois;
+
+    public AdvanceToIllinois(Space ill) {
+        this.description = "Advance to Illinois Ave. - If you pass Go, collect $200";
+        illinois = ill;
+    }
+
+    public void action(Player currPlayer) {
+        currPlayer.setSpace(illinois);
+    }
+
+}
diff --git a/Assignment4.0/Monopoly/src/Pieces/ChanceCards/AdvanceToRailRoad.java b/Assignment4.0/Monopoly/src/Pieces/ChanceCards/AdvanceToRailRoad.java
new file mode 100644
index 0000000000000000000000000000000000000000..31993a408e9d0f0e97e3d0db3253da6af72d6534
--- /dev/null
+++ b/Assignment4.0/Monopoly/src/Pieces/ChanceCards/AdvanceToRailRoad.java
@@ -0,0 +1,27 @@
+package Pieces.ChanceCards;
+
+import Board.Railroad;
+import Board.Space;
+import Players.Player;
+
+public class AdvanceToRailRoad extends ChanceCard {
+
+    public AdvanceToRailRoad() {
+        this.description = "Advance token to the nearest Railroad and pay owner twice the rental to which he/she {he} "+
+                "is otherwise entitled. If Railroad is unowned, you may buy it from the Bank.";
+    }
+
+    public Space findClosestRR(Space currSpace) {
+        if(currSpace instanceof Railroad){
+            return currSpace;
+        }
+        else {
+            return findClosestRR(currSpace.move());
+        }
+    }
+
+    public void action(Player currPlayer) {
+        currPlayer.setSpace(findClosestRR(currPlayer.currSpace));
+    }
+
+}
diff --git a/Assignment4.0/Monopoly/src/Pieces/ChanceCards/AdvanceToStCharles.java b/Assignment4.0/Monopoly/src/Pieces/ChanceCards/AdvanceToStCharles.java
new file mode 100644
index 0000000000000000000000000000000000000000..8fe5a4b5e28b3072ca7719501f02691446e43ddb
--- /dev/null
+++ b/Assignment4.0/Monopoly/src/Pieces/ChanceCards/AdvanceToStCharles.java
@@ -0,0 +1,19 @@
+package Pieces.ChanceCards;
+
+import Board.Space;
+import Players.Player;
+
+public class AdvanceToStCharles extends ChanceCard{
+
+    Space stCharles;
+
+    public AdvanceToStCharles(Space stCharles) {
+        this.description = "Advance to St. Charles Place – If you pass Go, collect $200";
+        this.stCharles = stCharles;
+    }
+
+    public void action(Player currPlayer) {
+        currPlayer.setSpace(stCharles);
+    }
+
+}
diff --git a/Assignment4.0/Monopoly/src/Pieces/ChanceCards/AdvanceToUtility.java b/Assignment4.0/Monopoly/src/Pieces/ChanceCards/AdvanceToUtility.java
new file mode 100644
index 0000000000000000000000000000000000000000..4235462c9b2d6460fbddf13ca1a07df9d9575e0b
--- /dev/null
+++ b/Assignment4.0/Monopoly/src/Pieces/ChanceCards/AdvanceToUtility.java
@@ -0,0 +1,26 @@
+package Pieces.ChanceCards;
+
+import Board.Utilities;
+import Board.Space;
+import Players.Player;
+
+public class AdvanceToUtility extends ChanceCard {
+
+    public AdvanceToUtility() {
+        this.description = "Advance token to nearest Utility. If unowned, you may buy it from the Bank. If owned, throw"+
+                " dice and pay owner a total ten times the amount thrown.";
+    }
+
+    public Space findClosestUtil(Space currSpace) {
+        if(currSpace instanceof Utilities){
+            return currSpace;
+        }
+        else {
+            return findClosestUtil(currSpace.move());
+        }
+    }
+
+    public void action(Player currPlayer) {
+        currPlayer.setSpace(findClosestUtil(currPlayer.currSpace));
+    }
+}
diff --git a/Assignment4.0/Monopoly/src/Pieces/ChanceCards/BankPaysYou.java b/Assignment4.0/Monopoly/src/Pieces/ChanceCards/BankPaysYou.java
new file mode 100644
index 0000000000000000000000000000000000000000..c8de6046819c16ea0435647a0cfeb5db8425c494
--- /dev/null
+++ b/Assignment4.0/Monopoly/src/Pieces/ChanceCards/BankPaysYou.java
@@ -0,0 +1,14 @@
+package Pieces.ChanceCards;
+
+import Players.Player;
+
+public class BankPaysYou extends ChanceCard {
+
+    public BankPaysYou() {
+        this.description = "Bank pays you dividend of $50";
+    }
+
+    public void action(Player currPlayer) {
+        currPlayer.chargeBank(50);
+    }
+}
diff --git a/Assignment4.0/Monopoly/src/Pieces/ChanceCards/ChanceCard.java b/Assignment4.0/Monopoly/src/Pieces/ChanceCards/ChanceCard.java
new file mode 100644
index 0000000000000000000000000000000000000000..162e1d6f3a010553fc8003c286ce729cd05ba836
--- /dev/null
+++ b/Assignment4.0/Monopoly/src/Pieces/ChanceCards/ChanceCard.java
@@ -0,0 +1,10 @@
+package Pieces.ChanceCards;
+
+import Players.Player;
+
+public abstract class ChanceCard {
+
+    String description;
+
+    public abstract void action(Player currPlayer);
+}
diff --git a/Assignment4.0/Monopoly/src/Pieces/ChanceCards/GetOutOfJailChance.java b/Assignment4.0/Monopoly/src/Pieces/ChanceCards/GetOutOfJailChance.java
new file mode 100644
index 0000000000000000000000000000000000000000..f54cb1a9cdaa74de663c8298d00584ae172e226d
--- /dev/null
+++ b/Assignment4.0/Monopoly/src/Pieces/ChanceCards/GetOutOfJailChance.java
@@ -0,0 +1,14 @@
+package Pieces.ChanceCards;
+
+import Players.Player;
+
+public class GetOutOfJailChance extends ChanceCard {
+
+    public GetOutOfJailChance() {
+        this.description = "Get out of Jail Free – This card may be kept until needed, or traded/sold";
+    }
+
+    public void action(Player currPlayer) {
+        currPlayer.hasChanceGetOutofJailCard = true;
+    }
+}
diff --git a/Assignment4.0/Monopoly/src/Pieces/ChanceCards/GoBackThree.java b/Assignment4.0/Monopoly/src/Pieces/ChanceCards/GoBackThree.java
new file mode 100644
index 0000000000000000000000000000000000000000..1f6007db1b9cff4e426296c20857e4da0dd99159
--- /dev/null
+++ b/Assignment4.0/Monopoly/src/Pieces/ChanceCards/GoBackThree.java
@@ -0,0 +1,17 @@
+package Pieces.ChanceCards;
+
+import Board.Space;
+import Players.Player;
+
+public class GoBackThree extends ChanceCard {
+
+    public GoBackThree() {
+        this.description = "Go Back 3 Spaces";
+    }
+
+    public void action(Player currPlayer) {
+        Space toMoveTo = currPlayer.currSpace.previous().previous().previous();
+        currPlayer.setSpace(toMoveTo);
+    }
+
+}
diff --git a/Assignment4.0/Monopoly/src/Pieces/ChanceCards/GoToJailChance.java b/Assignment4.0/Monopoly/src/Pieces/ChanceCards/GoToJailChance.java
new file mode 100644
index 0000000000000000000000000000000000000000..fede7be8ac4a8274213dcf5221619b292872342e
--- /dev/null
+++ b/Assignment4.0/Monopoly/src/Pieces/ChanceCards/GoToJailChance.java
@@ -0,0 +1,18 @@
+package Pieces.ChanceCards;
+
+import Board.Space;
+import Players.Player;
+
+public class GoToJailChance extends ChanceCard{
+
+    Space jail;
+
+    public GoToJailChance(Space jail) {
+        this.description = "Go to Jail – Go directly to Jail – Do not pass Go, do not collect $200";
+        this.jail = jail;
+    }
+
+    public void action(Player currPlayer) {
+        currPlayer.setSpace(jail);
+    }
+}
diff --git a/Assignment4.0/Monopoly/src/Pieces/ChanceCards/MakeGeneralRepairs.java b/Assignment4.0/Monopoly/src/Pieces/ChanceCards/MakeGeneralRepairs.java
new file mode 100644
index 0000000000000000000000000000000000000000..a0b16ead066b123d34be82471cd1a1ced9a81fd6
--- /dev/null
+++ b/Assignment4.0/Monopoly/src/Pieces/ChanceCards/MakeGeneralRepairs.java
@@ -0,0 +1,14 @@
+package Pieces.ChanceCards;
+
+import Players.Player;
+
+public class MakeGeneralRepairs extends ChanceCard {
+
+    public MakeGeneralRepairs() {
+        this.description = "Make general repairs on all your property – For each house pay $25 – For each hotel $100";
+    }
+
+    public void action(Player currPlayer) {
+        currPlayer.chargePerUnit(25, 100);
+    }
+}
diff --git a/Assignment4.0/Monopoly/src/Pieces/ChanceCards/PayPoorTax.java b/Assignment4.0/Monopoly/src/Pieces/ChanceCards/PayPoorTax.java
new file mode 100644
index 0000000000000000000000000000000000000000..e02e67a883c4a3a3ecb933114d7d4d2c43077474
--- /dev/null
+++ b/Assignment4.0/Monopoly/src/Pieces/ChanceCards/PayPoorTax.java
@@ -0,0 +1,15 @@
+package Pieces.ChanceCards;
+
+import Players.Player;
+
+public class PayPoorTax extends ChanceCard {
+
+    public PayPoorTax() {
+        this.description = "Pay poor tax of $15";
+    }
+
+    public void action(Player currPlayer) {
+        currPlayer.giveMoneyToBank(15);
+    }
+
+}
diff --git a/Assignment4.0/Monopoly/src/Pieces/ChanceCards/TakeTripToReading.java b/Assignment4.0/Monopoly/src/Pieces/ChanceCards/TakeTripToReading.java
new file mode 100644
index 0000000000000000000000000000000000000000..561cc4daec20afb147f0993e048e635ea2642e1f
--- /dev/null
+++ b/Assignment4.0/Monopoly/src/Pieces/ChanceCards/TakeTripToReading.java
@@ -0,0 +1,18 @@
+package Pieces.ChanceCards;
+
+import Board.Space;
+import Players.Player;
+
+public class TakeTripToReading extends ChanceCard {
+
+    Space readingRR;
+
+    public TakeTripToReading(Space rRR) {
+        this.description = "Take a trip to Reading Railroad – If you pass Go, collect $200";
+        this.readingRR = rRR;
+    }
+
+    public void action(Player currPlayer) {
+        currPlayer.setSpace(readingRR);
+    }
+}
diff --git a/Assignment4.0/Monopoly/src/Pieces/ChanceCards/TakeWalkOnBoardwalk.java b/Assignment4.0/Monopoly/src/Pieces/ChanceCards/TakeWalkOnBoardwalk.java
new file mode 100644
index 0000000000000000000000000000000000000000..bea5f296943513fb8f08ce729babb4599b5b7f14
--- /dev/null
+++ b/Assignment4.0/Monopoly/src/Pieces/ChanceCards/TakeWalkOnBoardwalk.java
@@ -0,0 +1,18 @@
+package Pieces.ChanceCards;
+
+import Board.Space;
+import Players.Player;
+
+public class TakeWalkOnBoardwalk extends ChanceCard{
+
+    Space boardwalk;
+
+    public TakeWalkOnBoardwalk(Space boardwalk) {
+        this.description = "Take a walk on the Boardwalk – Advance token to Boardwalk";
+        this.boardwalk = boardwalk;
+    }
+
+    public void action(Player currPlayer) {
+        currPlayer.setSpace(boardwalk);
+    }
+}
diff --git a/Assignment4.0/Monopoly/src/Pieces/ChanceCards/YouAreChairman.java b/Assignment4.0/Monopoly/src/Pieces/ChanceCards/YouAreChairman.java
new file mode 100644
index 0000000000000000000000000000000000000000..5033db093016ee9f016b1fb5335d5bd3c2069868
--- /dev/null
+++ b/Assignment4.0/Monopoly/src/Pieces/ChanceCards/YouAreChairman.java
@@ -0,0 +1,14 @@
+package Pieces.ChanceCards;
+
+import Players.Player;
+
+public class YouAreChairman extends ChanceCard {
+
+    public YouAreChairman() {
+        this.description = "You have been elected Chairman of the Board – Pay each player $50";
+    }
+
+    public void action(Player currPlayer) {
+        currPlayer.payAllOthers(50);
+    }
+}
diff --git a/Assignment4.0/Monopoly/src/Pieces/ChanceCards/YourBuildingLoanMatures.java b/Assignment4.0/Monopoly/src/Pieces/ChanceCards/YourBuildingLoanMatures.java
new file mode 100644
index 0000000000000000000000000000000000000000..731dfc3e1a74426230665d117f4ac750bacb82b4
--- /dev/null
+++ b/Assignment4.0/Monopoly/src/Pieces/ChanceCards/YourBuildingLoanMatures.java
@@ -0,0 +1,14 @@
+package Pieces.ChanceCards;
+
+import Players.Player;
+
+public class YourBuildingLoanMatures extends ChanceCard {
+
+    public YourBuildingLoanMatures () {
+        this.description = "Your building loan matures – Collect $150";
+    }
+
+    public void action(Player currPlayer) {
+        currPlayer.chargeBank(150);
+    }
+}
diff --git a/Assignment4.0/Monopoly/src/Pieces/CommunityChestCards/AdvanceToGoCC.java b/Assignment4.0/Monopoly/src/Pieces/CommunityChestCards/AdvanceToGoCC.java
new file mode 100644
index 0000000000000000000000000000000000000000..61d80af2960c4f8e4c771eb5968059e4b72bab3c
--- /dev/null
+++ b/Assignment4.0/Monopoly/src/Pieces/CommunityChestCards/AdvanceToGoCC.java
@@ -0,0 +1,19 @@
+package Pieces.CommunityChestCards;
+
+import Board.Space;
+import Players.Player;
+
+public class AdvanceToGoCC extends CommunityChestCard {
+
+    Space go;
+
+    public AdvanceToGoCC(Space go) {
+        this.description = "Advance to Go";
+        this.go = go;
+    }
+
+    public void action(Player currPlayer) {
+        currPlayer.setSpace(go);
+    }
+
+}
diff --git a/Assignment4.0/Monopoly/src/Pieces/CommunityChestCards/BankError.java b/Assignment4.0/Monopoly/src/Pieces/CommunityChestCards/BankError.java
new file mode 100644
index 0000000000000000000000000000000000000000..00ba1ca55c11cb31702394149e2ad5c03dfb6f96
--- /dev/null
+++ b/Assignment4.0/Monopoly/src/Pieces/CommunityChestCards/BankError.java
@@ -0,0 +1,14 @@
+package Pieces.CommunityChestCards;
+
+import Players.Player;
+
+public class BankError extends CommunityChestCard {
+
+    public BankError() {
+        this.description = "Bank error in your favor - Collect $200";
+    }
+
+    public void action(Player currPlayer) {
+        currPlayer.chargeBank(200);
+    }
+}
diff --git a/Assignment4.0/Monopoly/src/Pieces/CommunityChestCards/CommunityChestCard.java b/Assignment4.0/Monopoly/src/Pieces/CommunityChestCards/CommunityChestCard.java
new file mode 100644
index 0000000000000000000000000000000000000000..a8e6a784bf8f0e90f3e9a46e79f0a27a2181a6e4
--- /dev/null
+++ b/Assignment4.0/Monopoly/src/Pieces/CommunityChestCards/CommunityChestCard.java
@@ -0,0 +1,10 @@
+package Pieces.CommunityChestCards;
+
+import Players.Player;
+
+public abstract class CommunityChestCard {
+
+    String description;
+
+    public abstract void action(Player currPlayer);
+}
diff --git a/Assignment4.0/Monopoly/src/Pieces/CommunityChestCards/DoctorFees.java b/Assignment4.0/Monopoly/src/Pieces/CommunityChestCards/DoctorFees.java
new file mode 100644
index 0000000000000000000000000000000000000000..3792501a60aa1c52975e1637c8ebe4e9f62377fa
--- /dev/null
+++ b/Assignment4.0/Monopoly/src/Pieces/CommunityChestCards/DoctorFees.java
@@ -0,0 +1,14 @@
+package Pieces.CommunityChestCards;
+
+import Players.Player;
+
+public class DoctorFees extends CommunityChestCard {
+
+    public DoctorFees() {
+        this.description = "Doctor's fees - Pay $50";
+    }
+
+    public void action(Player currPlayer) {
+        currPlayer.giveMoneyToBank(50);
+    }
+}
diff --git a/Assignment4.0/Monopoly/src/Pieces/CommunityChestCards/FromStockSale.java b/Assignment4.0/Monopoly/src/Pieces/CommunityChestCards/FromStockSale.java
new file mode 100644
index 0000000000000000000000000000000000000000..612dfa91497d1d8562b398a20e2540aaf22ddeb6
--- /dev/null
+++ b/Assignment4.0/Monopoly/src/Pieces/CommunityChestCards/FromStockSale.java
@@ -0,0 +1,14 @@
+package Pieces.CommunityChestCards;
+
+import Players.Player;
+
+public class FromStockSale extends CommunityChestCard {
+
+    public FromStockSale() {
+        this.description = "From sale of stock you get $50";
+    }
+
+    public void action(Player currPlayer) {
+        currPlayer.chargeBank(50);
+    }
+}
diff --git a/Assignment4.0/Monopoly/src/Pieces/CommunityChestCards/GetOutOfJailCC.java b/Assignment4.0/Monopoly/src/Pieces/CommunityChestCards/GetOutOfJailCC.java
new file mode 100644
index 0000000000000000000000000000000000000000..4c5748f47c5e07781abcfd9367f98800f713c812
--- /dev/null
+++ b/Assignment4.0/Monopoly/src/Pieces/CommunityChestCards/GetOutOfJailCC.java
@@ -0,0 +1,14 @@
+package Pieces.CommunityChestCards;
+
+import Players.Player;
+
+public class GetOutOfJailCC extends CommunityChestCard {
+
+    public GetOutOfJailCC() {
+        this.description = "Get Out of Jail Free – This card may be kept until needed or sold";
+    }
+
+    public void action(Player currPlayer) {
+        currPlayer.hasCommunityGetOutofJailCard = true;
+    }
+}
diff --git a/Assignment4.0/Monopoly/src/Pieces/CommunityChestCards/GoToJailCC.java b/Assignment4.0/Monopoly/src/Pieces/CommunityChestCards/GoToJailCC.java
new file mode 100644
index 0000000000000000000000000000000000000000..7090e7eef223319b6787ab87683d2c3dcde8a369
--- /dev/null
+++ b/Assignment4.0/Monopoly/src/Pieces/CommunityChestCards/GoToJailCC.java
@@ -0,0 +1,19 @@
+package Pieces.CommunityChestCards;
+
+import Board.Space;
+import Players.Player;
+
+public class GoToJailCC extends CommunityChestCard {
+
+    Space jail;
+
+    public GoToJailCC(Space jail) {
+        this.description = "Go directly to jail – Do not pass Go – Do not collect $200";
+        this.jail = jail;
+    }
+
+    public void action(Player currPlayer) {
+        currPlayer.setSpace(jail);
+    }
+
+}
diff --git a/Assignment4.0/Monopoly/src/Pieces/CommunityChestCards/GrandOpera.java b/Assignment4.0/Monopoly/src/Pieces/CommunityChestCards/GrandOpera.java
new file mode 100644
index 0000000000000000000000000000000000000000..7d2b8798ca7f7507cf2f18307b88ea310220dd25
--- /dev/null
+++ b/Assignment4.0/Monopoly/src/Pieces/CommunityChestCards/GrandOpera.java
@@ -0,0 +1,14 @@
+package Pieces.CommunityChestCards;
+
+import Players.Player;
+
+public class GrandOpera extends CommunityChestCard {
+
+    public GrandOpera() {
+        this.description = "Grand Opera Night – Collect $50 from every player for opening night seats";
+    }
+
+    public void action(Player currPlayer) {
+        currPlayer.chargeAllOthers(50);
+    }
+}
diff --git a/Assignment4.0/Monopoly/src/Pieces/CommunityChestCards/HolidayFund.java b/Assignment4.0/Monopoly/src/Pieces/CommunityChestCards/HolidayFund.java
new file mode 100644
index 0000000000000000000000000000000000000000..760c4f791d3bd6ccfea2cba1e2bc4dbeb9046cb7
--- /dev/null
+++ b/Assignment4.0/Monopoly/src/Pieces/CommunityChestCards/HolidayFund.java
@@ -0,0 +1,14 @@
+package Pieces.CommunityChestCards;
+
+import Players.Player;
+
+public class HolidayFund extends CommunityChestCard {
+
+    public HolidayFund() {
+        this.description = "Holiday Fund matures - Receive $100";
+    }
+
+    public void action(Player currPlayer) {
+        currPlayer.chargeBank(100);
+    }
+}
diff --git a/Assignment4.0/Monopoly/src/Pieces/CommunityChestCards/IncomeTaxRefund.java b/Assignment4.0/Monopoly/src/Pieces/CommunityChestCards/IncomeTaxRefund.java
new file mode 100644
index 0000000000000000000000000000000000000000..edab99fcddb3f1c20110583c5975dc77993238cf
--- /dev/null
+++ b/Assignment4.0/Monopoly/src/Pieces/CommunityChestCards/IncomeTaxRefund.java
@@ -0,0 +1,14 @@
+package Pieces.CommunityChestCards;
+
+import Players.Player;
+
+public class IncomeTaxRefund extends CommunityChestCard {
+
+    public IncomeTaxRefund() {
+        this.description = "Income tax refund – Collect $20";
+    }
+
+    public void action(Player currPlayer) {
+        currPlayer.chargeBank(20);
+    }
+}
diff --git a/Assignment4.0/Monopoly/src/Pieces/CommunityChestCards/LifeInsurance.java b/Assignment4.0/Monopoly/src/Pieces/CommunityChestCards/LifeInsurance.java
new file mode 100644
index 0000000000000000000000000000000000000000..23c9603d5de258fc3e0db44d822a784a7737538d
--- /dev/null
+++ b/Assignment4.0/Monopoly/src/Pieces/CommunityChestCards/LifeInsurance.java
@@ -0,0 +1,15 @@
+package Pieces.CommunityChestCards;
+
+import Players.Player;
+
+public class LifeInsurance extends CommunityChestCard {
+
+    public LifeInsurance() {
+        this.description = "Life insurance matures – Collect $100";
+    }
+
+    public void action(Player currPlayer) {
+        currPlayer.chargeBank(100);
+    }
+
+}
diff --git a/Assignment4.0/Monopoly/src/Pieces/CommunityChestCards/PayHospital.java b/Assignment4.0/Monopoly/src/Pieces/CommunityChestCards/PayHospital.java
new file mode 100644
index 0000000000000000000000000000000000000000..2ccf00f598ccdeb30b6505cbd980a8d485895bab
--- /dev/null
+++ b/Assignment4.0/Monopoly/src/Pieces/CommunityChestCards/PayHospital.java
@@ -0,0 +1,15 @@
+package Pieces.CommunityChestCards;
+
+import Players.Player;
+
+public class PayHospital extends CommunityChestCard {
+
+    public PayHospital() {
+        this.description = "Pay hospital fees of $100";
+    }
+
+    public void action(Player currPlayer) {
+        currPlayer.giveMoneyToBank(100);
+    }
+
+}
diff --git a/Assignment4.0/Monopoly/src/Pieces/CommunityChestCards/PaySchool.java b/Assignment4.0/Monopoly/src/Pieces/CommunityChestCards/PaySchool.java
new file mode 100644
index 0000000000000000000000000000000000000000..006b4561bb6d6d88f8337ee0af7c13141b1363bd
--- /dev/null
+++ b/Assignment4.0/Monopoly/src/Pieces/CommunityChestCards/PaySchool.java
@@ -0,0 +1,15 @@
+package Pieces.CommunityChestCards;
+
+import Players.Player;
+
+public class PaySchool extends CommunityChestCard {
+
+    public PaySchool() {
+        this.description = "Pay school fees of $150";
+    }
+
+    public void action(Player currPlayer) {
+        currPlayer.giveMoneyToBank(150);
+    }
+
+}
diff --git a/Assignment4.0/Monopoly/src/Pieces/CommunityChestCards/ReceiveConsultantFee.java b/Assignment4.0/Monopoly/src/Pieces/CommunityChestCards/ReceiveConsultantFee.java
new file mode 100644
index 0000000000000000000000000000000000000000..8942c5cf4a870dff92656732678b2a2d2d265f72
--- /dev/null
+++ b/Assignment4.0/Monopoly/src/Pieces/CommunityChestCards/ReceiveConsultantFee.java
@@ -0,0 +1,15 @@
+package Pieces.CommunityChestCards;
+
+import Players.Player;
+
+public class ReceiveConsultantFee extends CommunityChestCard {
+
+    public ReceiveConsultantFee() {
+        this.description = "Receive $25 consultancy fee";
+    }
+
+    public void action(Player currPlayer) {
+        currPlayer.chargeBank(25);
+    }
+
+}
diff --git a/Assignment4.0/Monopoly/src/Pieces/CommunityChestCards/YouGetStreetRepairs.java b/Assignment4.0/Monopoly/src/Pieces/CommunityChestCards/YouGetStreetRepairs.java
new file mode 100644
index 0000000000000000000000000000000000000000..acb8ad7dcffdbe9700590484f8231eaa4ee91e7f
--- /dev/null
+++ b/Assignment4.0/Monopoly/src/Pieces/CommunityChestCards/YouGetStreetRepairs.java
@@ -0,0 +1,15 @@
+package Pieces.CommunityChestCards;
+
+import Players.Player;
+
+public class YouGetStreetRepairs extends CommunityChestCard {
+
+    public YouGetStreetRepairs() {
+        this.description = "You are assessed for street repairs – $40 per house – $115 per hotel";
+    }
+
+    public void action(Player currPlayer) {
+        currPlayer.chargePerUnit(40, 115);
+    }
+
+}
diff --git a/Assignment4.0/Monopoly/src/Pieces/CommunityChestCards/YouReceivedInheitance.java b/Assignment4.0/Monopoly/src/Pieces/CommunityChestCards/YouReceivedInheitance.java
new file mode 100644
index 0000000000000000000000000000000000000000..139bf4d2873bd60bed8f7525ca5b5de71ed6b6f8
--- /dev/null
+++ b/Assignment4.0/Monopoly/src/Pieces/CommunityChestCards/YouReceivedInheitance.java
@@ -0,0 +1,15 @@
+package Pieces.CommunityChestCards;
+
+import Players.Player;
+
+public class YouReceivedInheitance extends CommunityChestCard {
+
+    public YouReceivedInheitance() {
+        this.description = "You inherit $100";
+    }
+
+    public void action(Player currPlayer) {
+        currPlayer.chargeBank(100);
+    }
+
+}
diff --git a/Assignment4.0/Monopoly/src/Pieces/CommunityChestCards/YouWonBeauty.java b/Assignment4.0/Monopoly/src/Pieces/CommunityChestCards/YouWonBeauty.java
new file mode 100644
index 0000000000000000000000000000000000000000..d11b11b9547afb8a0e6438f0376bf866a48748d0
--- /dev/null
+++ b/Assignment4.0/Monopoly/src/Pieces/CommunityChestCards/YouWonBeauty.java
@@ -0,0 +1,15 @@
+package Pieces.CommunityChestCards;
+
+import Players.Player;
+
+public class YouWonBeauty extends CommunityChestCard {
+
+    public YouWonBeauty() {
+        this.description = "You have won second prize in a beauty contest – Collect $10";
+    }
+
+    public void action(Player currPlayer) {
+        currPlayer.chargeBank(10);
+    }
+
+}
diff --git a/Assignment4.0/Monopoly/src/Pieces/Dice.java b/Assignment4.0/Monopoly/src/Pieces/Dice.java
new file mode 100644
index 0000000000000000000000000000000000000000..dc12df0f507adeefc8b6e4737cd80a417d5e04d4
--- /dev/null
+++ b/Assignment4.0/Monopoly/src/Pieces/Dice.java
@@ -0,0 +1,18 @@
+package Pieces;
+
+public class Dice {
+    int value;
+
+    public Dice() {
+        value = 1;
+    }
+
+    public int roll() {
+        value = (int)(Math.random() * 6) + 1;
+        return value;
+    }
+
+    public int getValue() {
+        return value;
+    }
+}
diff --git a/Assignment4.0/Monopoly/src/Pieces/PlayerPiece.java b/Assignment4.0/Monopoly/src/Pieces/PlayerPiece.java
new file mode 100644
index 0000000000000000000000000000000000000000..d9c85687dbe2641b43a74c94d3c237cd569c79c6
--- /dev/null
+++ b/Assignment4.0/Monopoly/src/Pieces/PlayerPiece.java
@@ -0,0 +1,4 @@
+package Pieces;
+
+public class PlayerPiece {
+}
diff --git a/Assignment4.0/Monopoly/src/Players/Bank.java b/Assignment4.0/Monopoly/src/Players/Bank.java
new file mode 100644
index 0000000000000000000000000000000000000000..1e4b14bff3a51a53cc21e971bcc288dbde50955f
--- /dev/null
+++ b/Assignment4.0/Monopoly/src/Players/Bank.java
@@ -0,0 +1,20 @@
+package Players;
+
+public class Bank {
+
+    int amount;
+
+    public Bank() {
+        amount = 15140;
+    }
+
+    public void givePlayer(int charge, Player player) {
+        amount -= charge;
+        player.getMoney(amount);
+    }
+
+    public void takeMoney(int amount, Player player) {
+        this.amount += amount;
+        player.charge(amount);
+    }
+}
diff --git a/Assignment4.0/Monopoly/src/Players/Player.java b/Assignment4.0/Monopoly/src/Players/Player.java
new file mode 100644
index 0000000000000000000000000000000000000000..faa25abb71161a3ff4d318845bc8926ddd4afd33
--- /dev/null
+++ b/Assignment4.0/Monopoly/src/Players/Player.java
@@ -0,0 +1,126 @@
+package Players;
+
+import Board.MonopolyBoard;
+import Board.Property;
+import Board.Space;
+
+public class Player {
+
+    String name;
+    int order;
+    int money;
+    int houseCount;
+    int hotelCount;
+    public Space currSpace;
+    public boolean hasChanceGetOutofJailCard;
+    public boolean hasCommunityGetOutofJailCard;
+    MonopolyBoard currBoard;
+
+    public Player(String name, int order, Space startSpace, MonopolyBoard currBoard) {
+        this.name = name;
+        this.order = order;
+        this.money = 1500;
+        this.currSpace = startSpace;
+        this.hasChanceGetOutofJailCard = false;
+        this.hasCommunityGetOutofJailCard = false;
+        this.currBoard = currBoard;
+        this.houseCount = 0;
+        this.hotelCount = 0;
+    }
+
+    public Player(Player other) {
+        this.name = other.name;
+        this.order = other.order;
+        this.money = other.money;
+        this.currSpace = other.currSpace;
+        this.hasChanceGetOutofJailCard = other.hasChanceGetOutofJailCard;
+        this.hasCommunityGetOutofJailCard = other.hasCommunityGetOutofJailCard;
+        this.currBoard = other.currBoard;
+        this.houseCount = other.houseCount;
+        this.hotelCount = other.hotelCount;
+
+    }
+
+    @Override
+    public boolean equals(Object other) {
+        if(other == null)
+            return false;
+        if(!(other instanceof Player))
+            return false;
+        Player oth = (Player) other;
+        if(!this.name.equals(oth.name))
+            return false;
+        else if(this.order != oth.order)
+            return false;
+        else if(this.money != oth.money)
+            return false;
+        else if(this.currSpace != oth.currSpace)
+            return false;
+        else if(this.hasChanceGetOutofJailCard != oth.hasChanceGetOutofJailCard)
+            return false;
+        else if(this.hasCommunityGetOutofJailCard != oth.hasCommunityGetOutofJailCard)
+            return false;
+        else if(this.houseCount != oth.houseCount)
+            return false;
+        else if(this.hotelCount != oth.hotelCount)
+            return false;
+        else
+            return true;
+    }
+
+    public boolean wantsToBuy(Space space) {
+        return false;
+    }
+
+    public void charge(int cost) {
+        money = money - cost;
+    }
+
+    public void giveMoneyToBank(int amount) { currBoard.bank.takeMoney(amount, this);}
+
+    public void getMoney(int amount) {
+        money += amount;
+    }
+
+    public void chargeBank(int amount) { currBoard.bank.givePlayer(amount, this); }
+
+    public void setSpace(Space space) {
+        currSpace = space;
+    }
+
+    public void doSpace() {
+        currSpace.action(this);
+    }
+
+    public void getChanceCard() {
+        currBoard.getChanceCard().action(this);
+    }
+
+    public void getCommunityChestCard() {
+        currBoard.getCommunityChestCard().action(this);
+    }
+
+    public void chargeAllOthers(int amount) {
+        for (Player otherPlayer : currBoard.players) {
+            otherPlayer.charge(amount);
+            this.getMoney(amount);
+        }
+    }
+
+    public void payAllOthers(int amount) {
+        for (Player otherPlayer : currBoard.players) {
+            otherPlayer.getMoney(amount);
+            this.charge(amount);
+        }
+    }
+
+    public void chargePerUnit(int houseAmount, int hotelAmount) {
+        int amount = houseCount*houseAmount + hotelCount*hotelAmount;
+        this.giveMoneyToBank(amount);
+    }
+
+    public void giveMoney(int amount, Player otherPlayer) {
+        this.chargeBank(amount);
+        otherPlayer.getMoney(amount);
+    }
+}
diff --git a/Assignment4.0/Monopoly/test/AllTest.java b/Assignment4.0/Monopoly/test/AllTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..51766b36390c09c9e7881c273a970996acf99000
--- /dev/null
+++ b/Assignment4.0/Monopoly/test/AllTest.java
@@ -0,0 +1,13 @@
+import Board.ChanceTest;
+import Board.CommunityChestTest;
+import Board.FreeParkingTest;
+import Board.GoTest;
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite;
+import org.junit.runners.Suite.SuiteClasses;
+
+@RunWith(Suite.class)
+@SuiteClasses({ChanceTest.class, CommunityChestTest.class, FreeParkingTest.class, GoTest.class})
+
+public class AllTest {
+}
diff --git a/Assignment4.0/Monopoly/test/Board/ChanceTest.java b/Assignment4.0/Monopoly/test/Board/ChanceTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..209533d00d50b152447663c70d85bb12208c5dae
--- /dev/null
+++ b/Assignment4.0/Monopoly/test/Board/ChanceTest.java
@@ -0,0 +1,28 @@
+package Board;
+
+import Players.Player;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.junit.Assert.assertNotEquals;
+
+public class ChanceTest {
+    Player testPlayer;
+    Space testSpace;
+    MonopolyBoard testBoard;
+
+    @Before
+    public void init() {
+        testBoard = new MonopolyBoard();
+        testSpace = new Chance(testBoard.go, testBoard.go.prev);
+        testPlayer = new Player("Test", 1, testSpace, testBoard);
+    }
+
+    @Test
+    public void testAction() {
+        Player copyPlayer = new Player(testPlayer);
+        testPlayer.doSpace();
+        assertNotEquals(copyPlayer, testPlayer);
+    }
+
+}
diff --git a/Assignment4.0/Monopoly/test/Board/CommunityChestTest.java b/Assignment4.0/Monopoly/test/Board/CommunityChestTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..86ec7154fcd9d78a2b628d96679ab084304ded16
--- /dev/null
+++ b/Assignment4.0/Monopoly/test/Board/CommunityChestTest.java
@@ -0,0 +1,28 @@
+package Board;
+
+import Players.Player;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.junit.Assert.assertNotEquals;
+
+public class CommunityChestTest {
+    Player testPlayer;
+    Space testSpace;
+    MonopolyBoard testBoard;
+
+    @Before
+    public void init() {
+        testBoard = new MonopolyBoard();
+        testSpace = new CommunityChest(testBoard.go, testBoard.go.prev);
+        testPlayer = new Player("Test", 1, testSpace, testBoard);
+    }
+
+    @Test
+    public void testAction() {
+        Player copyPlayer = new Player(testPlayer);
+        testPlayer.doSpace();
+        assertNotEquals(copyPlayer, testPlayer);
+    }
+
+}
diff --git a/Assignment4.0/Monopoly/test/Board/FreeParkingTest.java b/Assignment4.0/Monopoly/test/Board/FreeParkingTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..a3df346f3eac14f6d2e49f15755dbca03c8e6a0c
--- /dev/null
+++ b/Assignment4.0/Monopoly/test/Board/FreeParkingTest.java
@@ -0,0 +1,29 @@
+package Board;
+
+import Players.Player;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotEquals;
+
+public class FreeParkingTest {
+    Player testPlayer;
+    Space testSpace;
+    MonopolyBoard testBoard;
+
+    @Before
+    public void init() {
+        testBoard = new MonopolyBoard();
+        testSpace = new FreeParking(testBoard.go, testBoard.go.prev);
+        testPlayer = new Player("Test", 1, testSpace, testBoard);
+    }
+
+    @Test
+    public void testAction() {
+        Player copyPlayer = new Player(testPlayer);
+        testPlayer.doSpace();
+        assertEquals(copyPlayer, testPlayer);
+    }
+
+}
diff --git a/Assignment4.0/Monopoly/test/Board/GoTest.java b/Assignment4.0/Monopoly/test/Board/GoTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..49e544502e94a9453286163268540c9e4c296e3d
--- /dev/null
+++ b/Assignment4.0/Monopoly/test/Board/GoTest.java
@@ -0,0 +1,28 @@
+package Board;
+
+import Players.Player;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.junit.Assert.assertNotEquals;
+
+public class GoTest {
+    Player testPlayer;
+    Space testSpace;
+    MonopolyBoard testBoard;
+
+    @Before
+    public void init() {
+        testBoard = new MonopolyBoard();
+        testSpace = new Go(testBoard.go, testBoard.go.prev);
+        testPlayer = new Player("Test", 1, testSpace, testBoard);
+    }
+
+    @Test
+    public void testAction() {
+        Player copyPlayer = new Player(testPlayer);
+        testPlayer.doSpace();
+        assertNotEquals(copyPlayer, testPlayer);
+    }
+
+}
diff --git a/Assignment4.0/Monopoly/test/Board/GoToJailTest.java b/Assignment4.0/Monopoly/test/Board/GoToJailTest.java
new file mode 100644
index 0000000000000000000000000000000000000000..a27fa1be1608493e4f23b2fd75cc028945099c0b
--- /dev/null
+++ b/Assignment4.0/Monopoly/test/Board/GoToJailTest.java
@@ -0,0 +1,29 @@
+package Board;
+
+import Players.Player;
+import org.junit.Before;
+import org.junit.Test;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotEquals;
+
+public class GoToJailTest {
+    Player testPlayer;
+    Space testSpace;
+    MonopolyBoard testBoard;
+
+    @Before
+    public void init() {
+        testBoard = new MonopolyBoard();
+        testSpace = new FreeParking(testBoard.go, testBoard.go.prev);
+        testPlayer = new Player("Test", 1, testSpace, testBoard);
+    }
+
+    @Test
+    public void testAction() {
+        Player copyPlayer = new Player(testPlayer);
+        testPlayer.doSpace();
+        assertNotEquals(copyPlayer, testPlayer);
+    }
+
+}