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 Monopoly CPU's #33

Open
adamgulde opened this issue Oct 3, 2024 · 0 comments
Open

Create Monopoly CPU's #33

adamgulde opened this issue Oct 3, 2024 · 0 comments
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

Comments

@adamgulde
Copy link
Collaborator

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!

@adamgulde adamgulde added enhancement New feature or request hard Large-scale improvement which may take longer to fix core game Related to monopoly.py primarily / an improvement to the core game flow labels Oct 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
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
Projects
None yet
Development

No branches or pull requests

1 participant