philihp / weblabora

Ora et Labora boardgame simulation library
http://kennerspiel.com
Apache License 2.0
11 stars 2 forks source link

Feature: Point-and-click D command #73

Open jhagen1908 opened 12 years ago

jhagen1908 commented 12 years ago

More design work/revision may be welcome here.

A button, Buy Districts, will be visible to the right of the district costs.

The Buy Districts button when clicked will pop up a menu. The menu will have a table with four columns, a Buy button, and a Cancel button.

Column 1 (Cost): District costs taken from the current district costs string on the main game board. Text label. Column 2 (Plains): Checkboxes. When a checkbox in this column is checked, the Hills checkbox in the same row is disabled and the Y field in the same row is enabled. When a checkbox in this column is unchecked, the Hills checkbox in the same row is enabled and the Y field in the same row is disabled. Column 3 (Hills): Checkboxes. When a checkbox in this column is checked, the Coast checkbox in the same row is disabled and the Y field in the same row is enabled. When a checkbox in this column is unchecked, the Coast checkbox in the same row is enabled and the Y field in the same row is disabled. Column 4 (Y): Text fields for numeric entry of the Y-value of the row of the new district.

On entry into the menu, the app will evaluate the current command string for available coins (including inventory, V, B and U commands), and will enable only those rows affordable by the player's current coin inventory. The app will also evaluate previous D commands in the command string as well as uses of any building providing free plots/districts and auto-populate + disable rows of already acquired plots this turn.

Cancel button will close the menu without changes.

Buy button will append a list of D commands to the current command for the newly acquired districts as well as | separators when necessary, then close the menu. D commands will be generated in order from top row to the last row containing data.

May be able to reuse code/methodology from the point-and-click P command.

jhagen1908 commented 12 years ago

I wrote this forgetting that only one plot/district could be purchased in a turn - actual design would be simpler than this.