Create Monopoly CPU's #33
Labels
core game
Related to monopoly.py primarily / an improvement to the core game flow
enhancement
New feature or request
hard
Large-scale improvement which may take longer to fix
For the core game, it would be good to have multiple computer players to fill in missing player spots. At the beginning of the game, num_players needs to be queried by the Banker, and num_cpus should be 4-num_players IF players want cpus.
Furthermore, CPU difficulty should be scalable during the initialization phase of the game. Banker should be able to set CPU difficulty from 1-N, within a reasonable interval.
All CPU actions should be based on their difficulty setting. For example, a lower CPU will take worse trade offers than a higher CPU. A lower CPU might simply choose not to buy a property, whereas a higher CPU will always purchase any property it lands on if possible. A lower CPU will rarely improve their housing, a higher CPU will intelligently do so. And so forth and so on.
CPUs may also engage in trading properties with each other.
CPUs should not take long to enact their turns.
CPUs should be controlled from banker.py not player.py. It would also be appropriate to create a cpu.py file to hold the code.
CPUs can be attacked via certain terminal modules. More on this when attack modules are made. This point is in contention because it may lead to exploitation of the mechanic, so for now don't worry about any terminal screen integration of cpus. This issue is just to create CPUs that will play on the gameboard.
^ These are the bare minimums, but feel free to add more CPU logic you find interesting.
Overall I anticipate this to be a challenging issue, but I know you all can handle it!
The text was updated successfully, but these errors were encountered: