Skip to content

Create foundational types for the system #1

@with-heart

Description

@with-heart

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions