Search results
313 packages found
Classes related to the concept of a `Player` having a treasury of a `Yield`.
Contains the core model for a `Wonder` (which extends a `CityImprovement`). `Rule`s governing `Wonder`s are game specific (national `Wonder`s in later games for example) so restrictions on how many can be built are contained in the `civ1-*` modules.
A `Player`-orientated `World` that only includes `Tile`s the `Player` has seen and returns `UndiscoveredTile`s otherwise.
Base-level classes to support `TerrainFeature`s on `Terrain`s (`Tile`s). From the original Civilization this is things like `Oasis`, `Horse`, `Seal`, etc, but in other games this could be `River`s, strategic resources or luxury resources.
This is how a `Tile`'s `Terrain` is defined. Utilising this, along with `TileImprovement`s and `Feature`s can bring parity to most of the Civ games.
A simple[1] AI[2] client, that makes use of `Strategy`s and `Routine`s to be an extensible opponent client.
In the original Civilization, some governments have the effect of causing `City` `Unhappiness` when military `Unit`s are outside of the `City`'s borders on maneuvers. This `Yield` value object captures that information.
Provides the `Disband` `Unit` `Action` for destroying a perfectly good `Unit`...
This is a template repo.
This package introduces the concept of a `Player` having a `Government`. Different governments (although this concept could be expanded or broken down into civics) can affect any game concepts, from `Tile` `Yield`s through to diplomatic freedom.
This package provides the `Attack` `Action` for `Unit`s.
The core model for `CityImprovement`s.
A library of diplomacy-related items like `Interaction`s, `Proposal`s, `Declaration`s, etc.
A value object for capturing the reduction in `City`'s `Unhappiness` via the appropriate `CityImprovement`.
This package contains the basics for improvements existing on `Tile`s. This includes deliberate items like `Irrigation`, or `Road`s as well as things like `Pollution` or city ruins.
A value object for capturing the concept of `MartialLaw` reducing the number of unhappy citizens in a `City`.
When your `City` grows above a certain size, the citizens will become unhappy. This is the value object for that concept.
A value object for storing the value of population support costs related to `Food`.
A value object for storing the value of `Unit` support costs related to `Food`.
A value object for storing the value of `CityImprovement` maintenance costs in `Gold`.