Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create foundational types for the system #1

Open
with-heart opened this issue Dec 22, 2024 · 0 comments · May be fixed by #3
Open

Create foundational types for the system #1

with-heart opened this issue Dec 22, 2024 · 0 comments · May be fixed by #3

Comments

@with-heart
Copy link
Owner

In order to design systems that are as clear as possible, I like to start with their underlying foundational types.

Dots representing major American cities and a few Canadian cities near the US border, distributed on a black background to vaguely form the shape of America and southern Canada. Each dot has the cities named listed above it. American cities include Seattle, San Francisco, Nashville, and New York. Canadian cities include Montreal, Toronto, and Vancouver.

In this app, we'll be dealing with a few different types of data related to the state of the game:

  • the cities and their locations on the map
  • the train routes (single and parallel) that connect between two cities (their colors, number of spaces, etc.)
  • the players, the routes that they own, and the number of points they have

The game's rules and board define the game system. Our types model that system as data structures.

Essentially, we're executing our app using the same data that the game's rules and board are executed with when we play the game in the real world.

@with-heart with-heart converted this from a draft issue Dec 22, 2024
@with-heart with-heart linked a pull request Dec 22, 2024 that will close this issue
@with-heart with-heart linked a pull request Dec 22, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: No status
Development

Successfully merging a pull request may close this issue.

1 participant