A basic calculator using Meta Bind for the board game 7 Wonders. I don’t love the added whitespace for each button, but it works in a pinch and helps tally things up and the end of the game!
The table:
| Component | Helpers | Victory Points |
| ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Military Tokens | `BUTTON[military-vp-minus-1, military-vp-plus-1, military-vp-plus-3, military-vp-plus-5]` | `VIEW[{memory^military-vp}]` |
| Total Coins | `INPUT[number:memory^total-coins]` | `VIEW[floor({memory^total-coins} / 3)][math:memory^coins-vp]` |
| Wonder Points | `INPUT[number:memory^wonder-stages-vp]` | `VIEW[{memory^wonder-stages-vp}]` |
| Blue Cards | `BUTTON[vp-blue-2, vp-blue-3, vp-blue-4, vp-blue-5, vp-blue-6, vp-blue-7, vp-blue-8]` | `VIEW[{memory^blue-card-vp}]` |
| Yellow Card Points | `INPUT[number:memory^yellow-card-vp]` | `VIEW[{memory^yellow-card-vp}]` |
| Purple Card Points | `INPUT[number:memory^purple-card-vp]` | `VIEW[{memory^purple-card-vp}]` |
| Science Cards<br>`BUTTON[reset-science]` | `BUTTON[science-compass]` : `VIEW[{memory^science-compass}]`<br>`BUTTON[science-tablet]` : `VIEW[{memory^science-tablet}]`<br>`BUTTON[science-gear]` : `VIEW[{memory^science-gear}]` | `VIEW[({memory^science-compass}^2) + ({memory^science-tablet}^2) + ({memory^science-gear}^2) + (min({memory^science-compass}, {memory^science-tablet}, {memory^science-gear})*7)][math:memory^science-vp]` |
| **TOTAL** | | **`VIEW[{memory^military-vp} + {memory^coins-vp} + {memory^wonder-stages-vp} + {memory^blue-card-vp} + {memory^yellow-card-vp} + {memory^purple-card-vp} + {memory^science-vp}]`** |
`BUTTON[reset-all]`
The buttons:
```meta-bind-button
style: default
label: "5 VP"
id: military-vp-plus-5
hidden: true
actions:
- type: updateMetadata
bindTarget: memory^military-vp
evaluate: true
value: "x + 5"
```
```meta-bind-button
style: default
label: "3 VP"
id: military-vp-plus-3
hidden: true
actions:
- type: updateMetadata
bindTarget: memory^military-vp
evaluate: true
value: "x + 3"
```
```meta-bind-button
style: default
label: "1 VP"
id: military-vp-plus-1
hidden: true
actions:
- type: updateMetadata
bindTarget: memory^military-vp
evaluate: true
value: "x + 1"
```
```meta-bind-button
style: destructive
label: "-1 VP"
id: military-vp-minus-1
hidden: true
actions:
- type: updateMetadata
bindTarget: memory^military-vp
evaluate: true
value: "x - 1"
```
```meta-bind-button
style: default
label: "2️⃣"
id: vp-blue-2
hidden: true
actions:
- type: updateMetadata
bindTarget: memory^blue-card-vp
evaluate: true
value: "x + 2"
```
```meta-bind-button
style: default
label: "3️⃣"
id: vp-blue-3
hidden: true
actions:
- type: updateMetadata
bindTarget: memory^blue-card-vp
evaluate: true
value: "x + 3"
```
```meta-bind-button
style: default
label: "4️⃣"
id: vp-blue-4
hidden: true
actions:
- type: updateMetadata
bindTarget: memory^blue-card-vp
evaluate: true
value: "x + 4"
```
```meta-bind-button
style: default
label: "5️⃣"
id: vp-blue-5
hidden: true
actions:
- type: updateMetadata
bindTarget: memory^blue-card-vp
evaluate: true
value: "x + 5"
```
```meta-bind-button
style: default
label: "6️⃣"
id: vp-blue-6
hidden: true
actions:
- type: updateMetadata
bindTarget: memory^blue-card-vp
evaluate: true
value: "x + 6"
```
```meta-bind-button
style: default
label: "7️⃣"
id: vp-blue-7
hidden: true
actions:
- type: updateMetadata
bindTarget: memory^blue-card-vp
evaluate: true
value: "x + 7"
```
```meta-bind-button
style: default
label: "8️⃣"
id: vp-blue-8
hidden: true
actions:
- type: updateMetadata
bindTarget: memory^blue-card-vp
evaluate: true
value: "x + 8"
```
```meta-bind-button
style: default
label: "Compass"
id: science-compass
hidden: true
actions:
- type: updateMetadata
bindTarget: memory^science-compass
evaluate: true
value: "x + 1"
```
```meta-bind-button
style: default
label: "Tablet"
id: science-tablet
hidden: true
actions:
- type: updateMetadata
bindTarget: memory^science-tablet
evaluate: true
value: "x + 1"
```
```meta-bind-button
style: default
label: "Gear ⚙️"
id: science-gear
hidden: true
actions:
- type: updateMetadata
bindTarget: memory^science-gear
evaluate: true
value: "x + 1"
```
```meta-bind-button
style: primary
label: "Clear"
id: reset-science
hidden: true
actions:
- type: updateMetadata
bindTarget: memory^science-tablet
evaluate: false
value: 0
- type: updateMetadata
bindTarget: memory^science-gear
evaluate: false
value: 0
- type: updateMetadata
bindTarget: memory^science-compass
evaluate: false
value: 0
```
```meta-bind-button
style: destructive
label: "Reset All"
id: reset-all
hidden: true
actions:
- type: updateMetadata
bindTarget: memory^military-vp
evaluate: false
value: 0
- type: updateMetadata
bindTarget: memory^total-coins
evaluate: false
value: 0
- type: updateMetadata
bindTarget: memory^wonder-stages-vp
evaluate: false
value: 0
- type: updateMetadata
bindTarget: memory^blue-card-vp
evaluate: false
value: 0
- type: updateMetadata
bindTarget: memory^yellow-card-vp
evaluate: false
value: 0
- type: updateMetadata
bindTarget: memory^purple-card-vp
evaluate: false
value: 0
- type: updateMetadata
bindTarget: memory^science-vp
evaluate: false
value: 0
- type: updateMetadata
bindTarget: memory^science-tablet
evaluate: false
value: 0
- type: updateMetadata
bindTarget: memory^science-gear
evaluate: false
value: 0
- type: updateMetadata
bindTarget: memory^science-compass
evaluate: false
value: 0
```