This is just a general structure, and the implementation of each of the phases requires additional details and logic. You will also need to create classes for players, actors, locations, resources, and action cards, as well as add logic to handle conflicts, resources, and other aspects of the game.
Note that the implementation of the game may differ significantly depending on the chosen programming language and platform, and the pseudocode provided above should be considered as a starting point for development.