Skip to content
This repository has been archived by the owner on Nov 30, 2021. It is now read-only.
/ CS201-Coursework Public archive

The SimCity201 Project completed as a final project for CSCI 201 - Principles of Software Development.

License

Notifications You must be signed in to change notification settings

Valakor/CS201-Coursework

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SimCity201 README

Project repository for the SimCity201 project completed by Matthew Pohlmann, Brandon Barber, Ben Doherty, and Skyler Lloyd for the final project of CSCI 201 - Principles of Software Development. The total line count is 40,000+ lines of code completed over the course of 7 weeks.

##Final Submission

###Compiling and Running the Code ####Instructions To compile and run SimCity201:

  • Clone the repository into a folder
  • In Eclipse, File -> New -> Java Project
  • Uncheck Use default location
  • Click Browse and select the folder you downloaded the repository to
  • Ensure that Java SE 7 is selected under JRE
  • Click Finish
  • Eclipse will give some errors from the JUnit testing section because JUnit4 is not included in the build path
  • With the current project open, Project -> Properties -> Libraries -> Add Library...
  • Select JUnit
  • Click Next
  • Under JUnit library version select JUnit 4
  • Click Finish
  • Open src.cs201.Main.java
  • Click Run to build and run SimCity201
  • Click Show Scenario Panel and choose a scenario to run

###Work Load

  • Matthew Pohlmann:
    • PersonAgent
    • Role Base Class
    • Structure Base Class
    • CityTime Helper Class
    • CityDirectory Helper Class
    • StructurePanel Base Class
    • RestaurantConfigPanel
    • Person Creation/Info Panel
    • Trace Panel Integration
    • Restaurant
      • Restaurant Structure Base Class
      • Restaurant Cashier Role Base Class
      • Restaurant Cook Role Base Class
      • Restaurant Customer Role Base Class
      • Restaurant Host Role Base Class
      • Restaurant Waiter Role Base Class
    • Personal Restaurant Integration
    • Teammates' Restaurant Integration Assistance
    • Initial Wiki setup
    • Initial Package/Directory setup
  • Brandon Barber:
    • Team Leader
    • Transit System
      • Vehicle Agent (and Gui)
      • Car (and Gui)
      • Bus (and Gui)
      • TransitRole (and Gui)
      • Bus Stops (and Gui)
      • Collision and movement of all Walking people/cars/busses
      • Transit Config Panel
      • Unit Testing of Above Code
    • GUI
      • CityPanel (the animation of SimCity201 as a whole)
      • Settings Panel (Holds Config Panels)
        • Config Panel Base Class (Used to display information and configure buildings)
  • Ben Doherty:
    • Market
      • Market Structure (and Gui)
      • Market Employee Role (and Gui)
      • Market Manager Role (and Gui)
      • Market Consumer Role (and Gui)
      • Market Config Panel
      • A* Implementation in MarketGUI
      • Unit Testing of Above Code
      • Time Panel (increasing/decreasing how fast time passes in SimCity201)
  • Skyler Lloyd:
    • Housing
      • Residence Structure (and Gui)
      • Apartment Complex Structure (and Gui) (Actually just an office for the Landlord Role, but contains a list of Residence that are the "apartments")
      • Landlord Role (and Gui)
      • Renter Role (and Gui) (unused?)
      • Residence Role (and Gui)
      • Residence Config Panel (Doesn't exist)
      • Apartment Complex Config Panel (Doesn't exist)
      • Unit Testing of Above Code

###Things That Don't Work

  • No File I/O for configuration
  • No GUI for dynamic configuration of buildings
  • No working Bank
  • Slightly buggy Pedestrian/Vehicle collisions
  • Animation in the CityView is extremely slow and buggy because Java can't handle so many draw calls
  • Some large scenarios don't work because we simply did not have the time or resources to integrate everything with only 4 people
  • Skyler's restaurant is incomplete (shifts don't quite work, no rotating stand, no cook animation)

About

The SimCity201 Project completed as a final project for CSCI 201 - Principles of Software Development.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages