Giter VIP home page Giter VIP logo

atlas's Introduction

Project Atlas

Michigan Technological University CS 3141 Team Software Project for Creating Fictional City Maps.

Usage

I'll let you know when there is code to use...

Use the link above to see the formal documentation on the inner works of Atlas.

How to build the documentation:

Add new classes to the documentation by running the following command in the terminal.

/atlas/docs> sphinx-apidoc -o ./source ../src/Frontend
/atlas/docs> sphinx-apidoc -o ./source ../src/Backend

Then add the name of the new .rst file to index.rst in alphabetic order. Build the documentation

/atlas/documentation> make clean
/atlas/documentation> make html

This will put the new webpages in /documentation/build/html/.

Next, copy all the files from /documentation/build/html to /docs/, which is where Github pages will look for them. Now, apparently Github pages does not like directories which start with an underscore, so be sure to refactor /_static/ and /_source/ to remove the underscore. Finally, commit to the repo, and the documentation will be updated.

Libraries

We will be using NetworkX to represent a graph and numpydoc to generate documentation. We also use SciPy to generate convex hulls and Voronoi diagrams

pip install networkx
pip install numpydoc

atlas's People

Contributors

mjschwenne avatar tgrifka avatar hexedwalnut avatar 910esmith avatar klink135 avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

atlas's Issues

Polygon Class

Implement the Polygon class as defined by the UML diagram.

  • Track vertices
  • getPerimeter()
  • getCenter()
  • isContained()
  • isConvex()
  • isBordering()

District Class

Implement the District Class as defined by the UML diagram.

  • chaosLevel
  • probabilityOfEmptySpace
  • minBuildingSize
  • determineRating()

Point Class

Implement the point class as defined by the UML diagram.

  • distance methods
  • x value
  • y value

Constructor Class

Implement the Constructor class as defined by the UML diagram.

  • pathfinder
  • voronoi
  • Package()
  • GenerateStreets()
  • AssignWards()
  • CleanPoints()
  • GenerateWalls()

Specialty Districts

Specialty Districts

  • Farmland
  • Courtyard
  • Market
  • Castle
  • Cathedral
  • Presinct
  • Openland
  • Park

Key

  • key for all features
  • key for colors
  • key for topological features

Pop-Up Instruction

Create a sample pop-up menu to introduce the Project

  • Pop-Up Opens on Start of Program
  • Pop-Up displays a welcome message
  • Pop-Up for help button

Pathfinder Class

Implement the Pathfinder class as defined by the UML diagram.

  • graph
  • points
  • findPath()

Set Up Dev Environment

Get the right dev environment for writing in python.

Install python 3.9, PyCharm, networkx and numpydoc.

Basic Drawing

  • Draw Polygons
  • Draw Line
  • Ability to change thickness and color

Wall Class

Implement the Wall class as defined by the UML diagram

  • gates
  • createWall()
  • Handle walls cutting regions.

Region Class

Implement Region class as defined by the UML diagram.

  • district
  • inCity()
  • inCityWalls()

Voronoi Class

Implement the Voronoi class as defined by the UML diagram

  • points
  • generateGraph
  • generateSeedPoints()
  • generatePolygons()
  • relaxPolygons()

Basics Districts

Basic Districts:

  • Housing-High
  • Housing-Mid
  • Housing-Low
  • Industrial
  • Slum
  • Shop
  • Armory

Create a Basic UI

Create a basic UI based on the Google Jamboard. A simple Canvas that can display something, and a basic button to display that something

  • Create main scene
  • Create place for image of city
  • Create "Build" button

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.