/SimCity201

Final Team Software Package Submission For CS201 - Principals of Software Development at the University of Southern California. Submitted December 2013.

Primary LanguageJavaMIT LicenseMIT

##Team Project

###Team Information

  • Doreen Hakimi
  • Drew Appleman
  • Brian Nguyen
  • Linda Char
  • Kimberly Santiago
  • Thi Tran

###How To Compile and Run + Download files and open onto eclipse. + In order to gain access to all of the images and configuration files to run, one must manually add these images and configurations into the images and config folders respectively. After downloading the repository, these folders are available in the saved location. + After all configuration files and image files are loaded, press run and the sim city should appear. + Within the program, there are three windows, the Sim City, the Log, and window for the inside of buildings.
+ This window for the inside of buildings is activated by pressing the different buildings within the Sim City. Pressing on a building will show the inside of a building.
+ Within the Sim City there are controls in order to run four scenarios. The four scenarios are as follows: 1.Regular day with Timer 2. One visitor visits all of the buildings 3. This third scenario runs with cars and bus as part of the scenario with a visitor as well. 4. The last scenario runs the weekend. The difference in the scenario of the weekend is that all banks are closed and this is the day that people relax.

+In addition to the selection of of a scenario, there is a place where people may be added to the city as well.  In this area, the five areas to choose from would be the name, money value, role, housing option, and transportation preference.  
+The name dictates what Icon the individual walks around with on the map, as it will be the first letter of their name.  Additionally, it allows one to scroll down the person list and choose the option of whether or not to track this individual on the map, which will make their icon green.  
+The money value that is provided is how much money the individual will walk around the city with, as they pay to go to restaurants and markets.  In addition to this, this money can be used for transactions with the bank, such as deposit and withdrawl.  The purpose of this is to simulate real life interactions with money. 
+The third is role, which is the role that they will take in the city in concerns to the profession that they hold. 
+The housing option is where the individual will live in the city.  However there are limited spots in the city and they are as follows:

In Scenario one there are three spots in houses available, as well as 3 spots in apartments.
In Scenario two there are three spots in houses available, as well as 2 spots in apartments.
In Scenario three there are three spots in houses available, but no spots in apartments.
In Scenario four there are three houses available and 3 apartment spots available.

+Lastly the last parameter within the instantiation of a person is the transportation preference.  This dictates how this individual gets to and from work.  The bus stop will pick them up at the bus stop closest to their house, and drop them off at the nearest bus stop to where they work. 
Transportation can be added as easily as changing people's transportation preference withint he configuration files.  Anybody can be chagned from walk to bus or car.  Also note, for scenario only one visitor appears although three are configured.  

##Responsibilities

+Responsibilities were split up in the following ways 

Doreen Hakimi:
+Front end specialist, much of the GUI work.
+Bank Implementation, normative and non normative scenarios
+File configuraitons 
+Scenario building and implementation within Sim City Panel
+Restaurant Integration
+SimCity Panel 
+Control Panels
+Card Layout
+Tracing

Drew Appleman:
+Bank Implementation and Integration
+Person Agent
+Creating People within the SimCity Panel 
+Worked on Restaurant GUI's working in SimCity
+Restaurant Integration
+Bank Robber
+Designed and implemented the scheduler for Person Agent

Linda Char:
+Market implementation norms and non norms
+Visitor Role
+Sim City Panel
+Alert Log
+Restaurant Integration
+Implemented setting inventory in restaurants
+Person Agent
+Scenario Building #2
+Fixed Market tests
+Streets
+Restaurant 

Thi Tran:
+Implemented Housing
+Transport Support 
+Sim City Panel 
+Restauraunt Integration
+Person GUI
+Resident GUI
+Tenant GUI
+Visitor
+Person Agent
+Streets


Brian Nguyen
+Transportation 
+Bus Interactions(Bus Stop, Person, Bus)
+Car Interactions 
+Bus GUIs
+Car GUI
+Person GUI
+Person Transportation scheduler
+Restaurant Integration
+Sim City Panel
+Person Agent
+Helped with Streets
+README

Kimberly Santiago
+Market Implementation
+Directory
+Alert Log
+Person Agent
+Fixed Market Tests 
+Restaurant Integration
+Sim City Panel
+Person Agent



Missing Components
Vehicles should behave appropriately at intersections.

Routing behavior must show that agents don't bump into buildings, tables, etc.

Enough vehicle traffic to show stopping/starting at intersections.

Vehicles stop for pedestrians with right of way.

P. Scenario: Vehicle accident

Two vehicles collide.


Q. Scenario: Vehicle hits pedestrian

A vehicle hits a pedestrian.

Then ... (you design it).

Roads should have appropriate complexity [e.g. intersections with stop signs and/or signals]

Role Switching 


Overall a great team effort and we all collaborated on many parts of the project.  Much of this effort and collaboration cannot be outlined very specifically.  We all assisted each other in areas needed.