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

Exploding kittens refactor #302

Open
wants to merge 120 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
120 commits
Select commit Hold shift + click to select a range
3dd8429
Initial commit
rdgain Jun 26, 2024
5ad85e0
TAG
rdgain Jun 26, 2024
ec3108b
Update java_coder.py
diegopliebana Jun 26, 2024
6d91aaf
Avoiding null actions. Maybe
diegopliebana Jun 26, 2024
03828bf
Update java_coder.py
diegopliebana Jun 26, 2024
00e7501
Initial link to Mistral LLM working
hopshackle Jun 26, 2024
a50d16c
playerID passed is who owns the heuristic
diegopliebana Jun 26, 2024
41a1704
Dependencies overridden to get Gemini libraries to work
hopshackle Jun 26, 2024
e528bf2
Merge remote-tracking branch 'origin/master' into LLM_from_Java
hopshackle Jun 26, 2024
b21938b
Update java_coder.py
diegopliebana Jun 26, 2024
eb9cd76
Update java_coder.py
diegopliebana Jun 26, 2024
67c8c29
Update java_coder.py
diegopliebana Jun 26, 2024
b498f6b
OSLA and MCTS using generated heuristic
diegopliebana Jun 26, 2024
10b99b6
Frontend1
rdgain Jun 26, 2024
ba45105
Update StringHeuristic.java
rdgain Jun 26, 2024
bab822b
Update pom.xml
rdgain Jun 26, 2024
6b04391
Fixes
rdgain Jun 26, 2024
7ac88c2
Updates
diegopliebana Jun 26, 2024
01c4e5e
Small changes
rdgain Jun 27, 2024
6bafeac
Compilation now working
hopshackle Jun 27, 2024
0af6691
Merge branch 'master' into frontend
rdgain Jun 27, 2024
948fc12
Update StateHeuristicType.java
rdgain Jun 27, 2024
51054e5
Merge remote-tracking branch 'origin/LLM_from_Java' into merge_branch
diegopliebana Jun 27, 2024
19a2ea6
Some merge fixes
diegopliebana Jun 27, 2024
c39da6b
For Tic Tac Toe
diegopliebana Jun 27, 2024
bdc0e24
Update LLMFrontend.java
rdgain Jun 27, 2024
01e234a
Create TicTacToeEvaluator.java
diegopliebana Jun 27, 2024
b77c90d
Class name not to be overwritten in compile()
diegopliebana Jun 27, 2024
4a33dca
Some refactoring of Tournament
hopshackle Jun 27, 2024
efc3310
Merge remote-tracking branch 'origin/merge_branch' into LLM_from_Java
hopshackle Jun 27, 2024
8588668
Merge of merge_branch
hopshackle Jun 27, 2024
25c855d
Merge of merge_branch
hopshackle Jun 27, 2024
8f95569
OpenAI integration
hopshackle Jun 27, 2024
501ebdf
Update JavaCoder.java
diegopliebana Jun 27, 2024
a6e2930
Merge pull request #2 from rdgain/LLM_from_Java
diegopliebana Jun 27, 2024
7cdbdc2
Added LLM Log file
hopshackle Jun 27, 2024
eaffd93
Update LLMAccess.java
diegopliebana Jun 27, 2024
5d899d6
Merge branch 'master' into generic_prompting
diegopliebana Jun 27, 2024
d4e5be4
Creating a Task Prompter
diegopliebana Jun 27, 2024
e5f3bed
Refactored Heuristic code
hopshackle Jun 27, 2024
eccbda0
Update
diegopliebana Jun 27, 2024
47973ec
Added some helpful logging
hopshackle Jun 27, 2024
958fac7
Fixing class name edits
diegopliebana Jun 27, 2024
f324b86
Merge branch 'generic_prompting' of https://github.com/rdgain/dagstuh…
diegopliebana Jun 27, 2024
ea5f41f
Merge branch 'master' into generic_prompting
diegopliebana Jun 27, 2024
8b35cd0
Game prompt generator
rdgain Jun 27, 2024
c289f7a
Merge branch 'frontend'
rdgain Jun 27, 2024
f7033bb
Updating tournament to use OSLA
diegopliebana Jun 27, 2024
445b26d
Merge branch 'master' into generic_prompting
diegopliebana Jun 27, 2024
e6225e3
From TaskPrompter to GamePromptGenerator
diegopliebana Jun 27, 2024
6a56edb
tic tac toe rulebook
diegopliebana Jun 27, 2024
2871872
LoveLetter 3-players working
hopshackle Jun 27, 2024
decda68
Merge remote-tracking branch 'origin/generic_prompting' into generic_…
hopshackle Jun 27, 2024
fc6d60a
Update GamePromptGenerator.java
diegopliebana Jun 27, 2024
1915884
updated OPENAI key + errors feedback
diegopliebana Jun 27, 2024
f754138
Merge branch 'generic_prompting' of https://github.com/rdgain/dagstuh…
diegopliebana Jun 27, 2024
4425432
Update GamePromptGenerator.java
diegopliebana Jun 27, 2024
d641969
GamePromptGenerator re-added
hopshackle Jun 27, 2024
a81b9f7
Merge remote-tracking branch 'origin/generic_prompting' into generic_…
hopshackle Jun 27, 2024
4b5145f
Merger of prompt_generator
hopshackle Jun 27, 2024
04ca625
DocumentSummariser
hopshackle Jun 28, 2024
ddeff45
RuleSummary working
hopshackle Jun 28, 2024
54077d8
StrategySummary also included
hopshackle Jun 28, 2024
f068445
First look at code after Dagstuhl
hopshackle Oct 13, 2024
917d1ec
Added white/blacklists of packages and classes for analysis
hopshackle Oct 14, 2024
69d650f
Let LLM deal with comments, and corrected Constructor
hopshackle Oct 14, 2024
b228fd0
Merge remote-tracking branch 'origin/rulebookDigestion' into rulebook…
hopshackle Oct 14, 2024
261bd8c
Merge
hopshackle Oct 14, 2024
7ed0836
Before horrendous merge
hopshackle Oct 15, 2024
7772de8
Merge with public master
hopshackle Oct 15, 2024
b884ce8
Merge repair and unit tests green
hopshackle Oct 16, 2024
a98bf92
Merge pull request #4 from rdgain/rulebookDigestion
hopshackle Oct 16, 2024
6ccf3cf
All three current LLM interfaces working
hopshackle Oct 16, 2024
3539f51
Deleted old TaskPrompter to avoid confusion
hopshackle Oct 17, 2024
c7eda7a
First LoveLetter attempt
hopshackle Oct 17, 2024
e7acf02
More rulebooks and prompt/method tweaking
hopshackle Oct 20, 2024
8340f17
Added public fields to API details
hopshackle Oct 21, 2024
a9f4fb7
Virus rulebook and tweaks to prompts
hopshackle Oct 21, 2024
3e58717
Tweaked API doc to remove full package names on everything
hopshackle Oct 21, 2024
9bdf8f5
Feedback loop
hopshackle Oct 28, 2024
2734a35
Removed strategy summary
hopshackle Oct 31, 2024
af0066f
Anthropic API now working
hopshackle Oct 31, 2024
fd8aba7
Improved API reporting (including parameter names)
hopshackle Nov 1, 2024
17893d1
Added check for runtime errors on heuristics
hopshackle Nov 1, 2024
95a9fc0
Llama API via Vertex
hopshackle Nov 2, 2024
2bf66f3
Result logging and anthropic max_tokens
hopshackle Nov 2, 2024
c2a1a1e
Configure ability to use any bas agent with a heuristic
hopshackle Nov 3, 2024
5570736
Error checking for runtime
hopshackle Nov 3, 2024
0e4862b
Final tournament option
hopshackle Nov 6, 2024
c96c6aa
Refactord parsing of RunArgs for config
hopshackle Nov 6, 2024
d295979
Tournament of final heuristics
hopshackle Nov 6, 2024
cc134e8
Javadoc improvements
hopshackle Nov 10, 2024
ae0f272
Sushi Go and Connect 4 adaptations
hopshackle Nov 11, 2024
7de4760
Hearts javadoc
hopshackle Nov 13, 2024
165f363
Colt Express javadoc
hopshackle Nov 13, 2024
a79b2a6
Stratego and Seven Wonders javadoc
hopshackle Nov 13, 2024
df1176e
Resistance javadoc
hopshackle Nov 13, 2024
ab02cdc
Puerto Rico javadoc
hopshackle Nov 13, 2024
2a281a2
Catan javadoc
hopshackle Nov 13, 2024
42e2b70
Listeners for LLM tournaments
hopshackle Nov 16, 2024
073d893
Colt Express rulebook
hopshackle Nov 17, 2024
5cb6de5
Removed exploratory work from Dagstuhl
hopshackle Nov 29, 2024
a1ad035
Merge pull request #5 from rdgain/enums
hopshackle Nov 29, 2024
72ee100
Rulebooks
hopshackle Dec 1, 2024
d9c6d47
Merge remote-tracking branch 'rdg-dagstuhl/master' into llm-programse…
hopshackle Dec 1, 2024
95467be
Exploding Kittens refactor
hopshackle Dec 3, 2024
b2980a3
Basic tests
hopshackle Dec 3, 2024
855b5ba
Nope test start
hopshackle Dec 3, 2024
90331cf
Nope chain now working
hopshackle Dec 4, 2024
c8bcad9
Skip and attack code - tests to follow
hopshackle Dec 4, 2024
2f7b9f3
Attack and Skip tests
hopshackle Dec 5, 2024
0526c10
See The Future
hopshackle Dec 5, 2024
7fdbcdc
Place Kitten is now a choice
hopshackle Dec 5, 2024
eeea322
Fix for Place Kitten with an empty draw deck
hopshackle Dec 5, 2024
14b5143
Refactored NopeableStack with ExtendedActionSequence
hopshackle Dec 6, 2024
f6165fd
Refactored NopeableStack with ExtendedActionSequence
hopshackle Dec 7, 2024
0fb0266
Double Cat card
hopshackle Dec 7, 2024
e1559fd
GUI fixes
hopshackle Dec 8, 2024
32bd766
Fix for dead player Nopeing
hopshackle Dec 8, 2024
0226318
Hide information on hidden parts of action in GUI
hopshackle Dec 8, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions META-INF/MANIFEST.MF
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Manifest-Version: 1.0
Main-Class: core.LLMTest

31 changes: 31 additions & 0 deletions data/cantstop/ruleSummary.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
**Game Implementation Summary**

**Game Rules:**

1. **Dice Rolling:** Players roll four dice, split into two pairs to determine column movements.
2. **Column Movement:** Each pair dictates movement in one column.
3. **Turn End:** Players can stop rolling and end their turn at any time to secure progress.
4. **Winning Columns:** Players win a column by reaching the top with a marker.
5. **Loss Condition:** Rolling higher numbers after winning a column can cause loss of all placed markers.
6. **Marker Placement:** Markers cannot be placed in already won columns.
7. **Game Win:** The first player to claim any three columns wins.

**Strategy:**

1. **Focus Columns:** Prioritize columns with numbers 6, 7, or 8 due to higher probability.
2. **Avoid Short Columns:** Columns with fewer steps are less advantageous.
3. **Risk Management:** Stop rolling to secure progress and avoid losing all markers in a column.
4. **Marker Interaction:** If a player's marker lands on another's, they must roll again until moving or losing their turn (blowing it).

**Game Variant:**

- **Four Players:** Encourages more risk-taking due to increased competition.

**Developer Notes:**

- Implement dice rolling mechanics with split pair results.
- Include rules for column movement and marker placement.
- Create logic for winning and losing conditions.
- Add a focus on strategy with column prioritization.
- Integrate the interaction rule for markers on the same space.
- Consider enhancing the game with a four-player mode for increased challenge.
Binary file added data/cantstop/rulebook.pdf
Binary file not shown.
Binary file added data/coltexpress/rulebook.pdf
Binary file not shown.
23 changes: 23 additions & 0 deletions data/connect4/ruleSummary.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
**"Connect Four" Game Rules and Strategy Summary:**

- **Objective:** Align four checkers of your color vertically, horizontally, or diagonally on a 7x6 grid.
- **Players:** Two players, taking turns.
- **Gameplay:**
- Players take turns dropping checkers into the top of the grid.
- Checkers fall to the lowest available row.
- The game ends when a player achieves a winning combination or the grid is full.
- **Winning Condition:** First player to align four checkers in a row (vertical, horizontal, or diagonal) wins.
- **Post-Game:** Winning player slides a lever to clear the grid, preparing for the next game.

**Strategy:**
- **Center Control:** Aim to control the center columns (3 and 4) to have the most line options.
- **Block Opponent:** Prevent the opponent from getting three in a row, especially in the center.
- **Forks:** Create opportunities where you can win in multiple lines in your next turn.
- **Force Opponent:** Force the opponent into positions where they must block you, limiting their own opportunities.
- **Corner Play:** Use corners strategically, especially for diagonals.

**Development Notes:**
- Implement a 7x6 grid.
- Check for winning combinations after each turn.
- Handle full grid (no more moves) scenario.
- Include lever mechanism to clear the grid after a win.
Binary file added data/connect4/rulebook.pdf
Binary file not shown.
32 changes: 32 additions & 0 deletions data/diamant/ruleSummary.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
**Game Summary for Implementation**

**Game Overview:**
- 3-8 players, aged 8+
- 30-minute playtime
- Players explore a cave, collect diamonds and rubies, avoid traps
- Goal: gather the most diamonds by the end of the game

**Game Components:**
- Board: 5 paths connecting camp to the cave
- Cards: Decision, Treasure, Trap
- Barricade tiles: track progress
- Chests: store rubies and diamonds

**Game Rules:**
1. **Treasure Collection:** Players gather rubies from Treasure cards, sharing equally and keeping extras.
2. **Traps:** Two Trap cards end the expedition.
3. **Movement:** Players simultaneously reveal cards, gather treasure, and decide to continue or exit.
4. **Exiting:** Exiting players share rubies, and the first to leave takes Relics for Diamonds.
5. **Game End:** When all players return to camp or two Traps appear.
6. **Rounds:** After each round, place a Barricade tile, reallocate Rubies and Relics, reshuffle the Expedition deck.

**Strategy:**
1. **Treasure Collection:** Continue the expedition to gather more treasure but be cautious of Trap cards.
2. **Timing Exits:** Decide to exit when you have enough rubies to secure your score.
3. **Leveraging Diamonds:** Maximize treasure collection and use diamonds for victory points.

**Key Mechanics:**
- Simultaneous card revelation
- Resource sharing and management
- Risk-reward decision-making
- Progress tracking with Barricade tiles
Binary file added data/diamant/rulebook.pdf
Binary file not shown.
44 changes: 44 additions & 0 deletions data/dominion/ruleSummary.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
**Game Summary for Implementation**

**Game Rules:**
- Players build a deck (Dominion) using Treasure, Action, and Victory cards to gain victory points.
- Players start with 7 Copper and 3 Estate cards.
- Game ends when 3 supply piles or the Province pile is empty. Player with most victory points wins (fewest turns in case of a tie).
- Turn structure: Draw 5 cards → Action phase (play Action cards) → Buy phase (acquire new cards) → Clean-up phase (discard down to 7 cards).
- Players have 1 Action and 1 Buy per turn, but Action cards can modify these values.
- Deck is shuffled when empty.

**Card Types:**
- Treasure: Copper, Silver, Gold
- Victory: Estate, Duchy, Province
- Curse
- Kingdom: Action, Action-Attack, Action-Reaction, Victory

**Strategy:**
- Focus on acquiring powerful Action and Victory point cards.
- Manage Treasure effectively to outpace opponents.
- Efficiently use Action cards to draw more cards and perform additional actions.
- Plan ahead for Action card restrictions (e.g., cannot play Action cards for first two turns).
- Combine Treasure cards and Action-provided coins to buy multiple cards.
- Use Action cards to alter game rules (e.g., drawing more cards, playing more Action cards, buying additional cards).
- Understand specific card effects and timing (e.g., Throne Room, Village, Witch, Thief).
- Manage hand size and card discarding/trashing strategically.
- Recognize various strategic setups (e.g., "Big Money" with Market and Mine).

**Notable Cards & Effects:**
- Throne Room: Play an Action card twice without using extra Actions.
- Village: Requires careful tracking of remaining Actions.
- Witch: Discards cards, manage hand size carefully.
- Thief: Reveal last card, discard one Treasure chosen by the attacker.
- Moat: Protects against Attack cards.
- Market, Laboratory: Allow additional card draws and plays.
- Mine: Enables Treasure upgrades.
- Gardens: Victory card with end-game scoring.
- Militia: Forces players to discard down to three cards.

**Special Actions & Rules:**
- Trash Treasures to gain other Treasures or cheaper ones.
- Use Moat to avoid Attack effects.
- Specific conditions for Moneylender, Remodel, Smithy, Spy, and Thief.
- Resolve 'Chancellor' before other turn actions.
- Place gained cards directly into the Discard pile.
Binary file added data/dominion/rulebook.pdf
Binary file not shown.
31 changes: 31 additions & 0 deletions data/hearts/ruleSummary.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
**Game Rules:**

1. **Objective:** Avoid taking tricks containing hearts or the queen of spades.
2. **Deck:** Standard 52-card deck.
3. **Players:** 4.
4. **Scoring:**
- Hearts: 1 point each.
- Queen of Spades: 13 points.
- Other cards: 0 points.
- First player to reach 100 points loses. Lowest score wins.
5. **Passing:**
- Each player passes 3 cards to another player.
- Passing direction rotates clockwise each round.

**Strategies:**

1. **Queen of Spades:**
- Avoid leading with the queen of spades.
- Pass low spades to avoid being stuck with high spades alone.

2. **Hearts:**
- Save high hearts (especially the queen, king, and ace of hearts) for late-game use to prevent opponents from shooting the moon.
- Try to avoid leading with hearts early in the game.

3. **Trick Avoidance:**
- Avoid taking tricks with hearts or the queen of spades.
- If you must take a trick with points, try to take it from an opponent with a higher score.

4. **Shooting the Moon:**
- Aim to take all hearts and the queen of spades in one hand to score 0 points and pass 26 points to each opponent.
- Be cautious, as failing to shoot the moon results in a high score.
Binary file added data/hearts/rulebook.pdf
Binary file not shown.
31 changes: 31 additions & 0 deletions data/loveletter/ruleSummary.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
**"Love Letter" Game Summary for Developer Implementation:**

**Objective:**
- Be the last player standing or have the highest-value card when the deck runs out.

**Player Count:**
- 2-6 players (Classic version: 2-4 players)

**Gameplay:**
- Players draw and play one card per turn, each with unique effects.
- Effects can eliminate players, trade hands, peek at cards, or grant temporary immunity.
- The round ends when the deck is empty or one player remains.

**Special Cards:**
- **Princess & Guard:** Immediately eliminate players.
- **Handmaid:** Provides temporary immunity.
- **Countess:** Must be played if King or Prince is in hand.
- **Spy:** Grants a favor token at round's end if played or discarded.

**Strategy:**
- Pay attention to played/discarded cards and other players' hands.
- Manage your hand carefully, considering forced play conditions (Countess, Princess).
- Use cards like Chancellor to draw and optimize your hand.
- Protect yourself with Handmaid, eliminate low-card opponents with Baron, and bluff with Spy.

**Winning:**
- Win a set number of rounds to claim victory.

**Classic Version:**
- Excludes certain cards from the setup.
- Supports 2-4 players.
Binary file added data/loveletter/rulebook.pdf
Binary file not shown.
29 changes: 29 additions & 0 deletions data/poker/ruleSummary.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
**Texas Hold'em Game Rules and Strategy Summary:**

**Objective:** Form the best five-card hand using any combination of two hole cards and five community cards.

**Game Flow:**
1. **Button & Blinds:**
- The button (dealer) moves clockwise.
- Player left of the button posts the small blind; next player posts the big blind.

2. **Hole Cards & Betting:**
- Each player receives two hole cards.
- Betting starts left of the big blind, with options to call, raise, or fold.
- Betting continues clockwise, with all remaining players matching the highest bet.

3. **Community Cards & Betting Rounds:**
- **Flop:** Three community cards dealt, followed by a betting round.
- **Turn:** One more community card dealt, followed by a betting round.
- **River:** Final community card dealt, followed by the final betting round.

4. **Hand Rankings (Best to Worst):**
- Royal Flush, Four of a Kind, Full House, Flush, Straight, Three of a Kind, Two Pair, Pair, High Card.

**Winning the Pot:**
- The player with the highest-ranking hand wins the pot.
- In case of a tie, the pot is split.

**Strategy:**
- Form a pair or a high card combination with more than one suit.
- Use any combination of hole cards and community cards to make the best five-card hand.
Binary file added data/poker/rulebook.pdf
Binary file not shown.
34 changes: 34 additions & 0 deletions data/stratego/ruleSummary.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
**Stratego Game Rules and Strategy Summary**

**Objective:** Capture the opponent's flag or render them unable to move.

**Board:** 10x10 grid.

**Pieces:** Each player has 40 pieces, each with a unique rank and movement ability.

**Movement:**
- Most pieces move one space at a time.
- The Scout can move any distance.

**Attacking:**
- Pieces reveal their rank when attacking.
- Higher ranked piece always captures the lower, except when equal ranks attack each other (both are removed).
- Special rules:
- Bomb: Captures adjacent pieces when attacked.
- Spy: Captures Marshal or Flag, but loses to any other piece or when attacked.
- Miner: Captures Bombs.

**Endgame:**
- Game ends in draw if both flags are protected and only non-Miner pieces remain.

**Strategy:**
- Concealment: Hide pieces' ranks to mislead the opponent.
- Bluffing: Make moves to deceive the opponent about your pieces' identities.
- Setup: Strategically place pieces at the start of the game for optimal defense and offense.

**Pace:** Fast-paced, with no standard notation. Digital interfaces may record moves.

**Unique Abilities:**
- Marshal: Most powerful.
- Spy: Weakest, but can capture Marshal or Flag.
- Other pieces have distinct movement abilities and ranks.
Binary file added data/stratego/rulebook.pdf
Binary file not shown.
37 changes: 37 additions & 0 deletions data/sushigo/ruleSummary.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
**Game Summary for Developer Implementation**

**Game Rules:**
- Players draft cards simultaneously, keeping one and passing the rest to the left. This happens over three rounds.
- Special cards include:
- **Wasabi**: Boosts nigiri scores.
- **Chopsticks**: Allows taking two sushi cards on future turns.
- Pudding cards determine the game's end:
- Most pudding cards: +6 points.
- Least pudding cards: -6 points.
- Ties for least are broken by most pudding cards.
- Scoring is based on sets of:
- **Tempura**: 2 cards for 5 points.
- **Sashimi**: 3 cards for 10 points.
- **Dumplings**: More is better, up to 15 points for 5+ dumplings.
- **Nigiri**: 1-3 points, increased by wasabi.
- **Maki Rolls**: 6 points.
- **Pudding**: +6 for most, -6 for least.
- **Chopsticks**: No points.
- Two-player variant includes a third dummy player.

**Strategy:**
- Focus on collecting high-value sets:
- **Sashimi**: Aim for sets of 3 for 10 points.
- **Tempura**: Aim for sets of 2 for 5 points.
- **Maki Rolls**: 6 points each.
- Use special cards strategically:
- **Wasabi**: Boost nigiri scores.
- **Chopsticks**: Maximize card collection on future turns.
- Manage pudding cards:
- Avoid having the least to prevent point deduction.
- Aim for having the most to gain points, but not at the expense of other high-scoring sets.
- In two-player games, consider the dummy player's impact on pudding card distribution.

**End of Game:**
- The game ends after the final card is passed.
- The player with the highest score wins. In case of a tie, the player with the most pudding cards wins.
Binary file added data/sushigo/rulebook.pdf
Binary file not shown.
13 changes: 13 additions & 0 deletions data/tictactoe/ruleSummary.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
## Tic-Tac-Toe: Core Game Rules

Tic-Tac-Toe is a simple yet strategic game played on a 3x3 grid. Two players, typically designated "X" and "O," take turns placing their mark on an empty square. The goal is to be the first to achieve a line of three of your own marks – either horizontally, vertically, or diagonally.

**Here's a breakdown of the core gameplay:**

* **The Grid:** The game is played on a 3x3 grid, often drawn on paper or a whiteboard.
* **Players:** Two players participate, one playing as "X" and the other as "O."
* **Turns:** Players alternate turns, placing their mark in an empty square on the grid.
* **Winning Condition:** The first player to achieve a line of three of their own marks (horizontally, vertically, or diagonally) wins the game.
* **Tie Game:** If all squares are filled without a player achieving three in a row, the game ends in a tie.

**Simple and Engaging:** Tic-Tac-Toe is a quick and engaging game that can be enjoyed by people of all ages. It's a great way to introduce strategic thinking and develop problem-solving skills.
Binary file added data/tictactoe/rulebook.pdf
Binary file not shown.
27 changes: 27 additions & 0 deletions data/virus/ruleSummary.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
**"Virus" is a strategic card game for 2-6 players, aiming to collect four different colored organ cards to form a healthy body. Here are the key rules and strategies:**

**Game Rules:**
- Players draw three cards per turn.
- To win, a player must collect four unique organ cards.
- Card types: Healthy Organs, Viruses, Medicines, and Treatments/Actions.
- Viruses can destroy or infect organs; Medicines protect or immunize organs.
- Treatment/Action cards offer special effects, like Virus transfer ("Contagion") or organ swapping ("Organ Thief", "Organ Transplantation").
- Multicolor cards can represent any color.
- The game ends when a player has four healthy organs.
- When the deck is empty, draw from the discard pile.

**Strategy:**
- Protect your organs with Medicine cards.
- Use Virus cards strategically to target opponents' organs.
- Leverage Treatment/Action cards for disruption or advantage.
- Key strategies include:
- Spreading viruses to hinder opponents.
- Using "Medical Error" to swap bodies when an opponent is close to winning.
- Immunizing organs as soon as possible.

**Implementation Notes:**
- Ensure each player has three cards in their hand at the start.
- Include virus, medicine, treatment/action, and multicolor cards in the deck.
- Implement special effects for Treatment/Action cards.
- Allow drawing from the discard pile when the deck is empty.
- End the game when a player collects four unique healthy organ cards.
Binary file added data/virus/rulebook.pdf
Binary file not shown.
41 changes: 41 additions & 0 deletions data/wonders7/ruleSummary.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
**Game Rules & Strategy Summary**

**Game Rules:**
- Players lead cities through three ages, each with 6 turns.
- Players draft cards (structures, Wonders) and compare military strength with neighbors.
- Victory points (VP) are awarded at the end of each age (1, 3, 5 VP respectively).
- Cards have costs (coins, resources) and provide resources, points, coins, or military strength.
- Players buy resources from neighbors for 2 coins each.
- Players take turns playing cards, gaining coins, or advancing Wonders.
- Military conflicts resolve at the end of each age.
- Final score includes VP tokens, coins (3 coins = 1 VP), Wonder points, and structure points.
- Scientific structures earn points for sets of symbols.
- Two-player variant includes a shared "Free City."
- Each Wonder has unique abilities and VP values.

**Strategy:**
- Focus on resource production, commerce, and military strength.
- Prioritize structures that provide resources, points, and free builds.
- Plan resource purchases and constructions carefully.
- Use commercial structures to reduce resource costs.
- Balance resource production, military strength, and coin management.
- Optimize Free City resource purchases and constructions in the two-player variant.
- Utilize each Wonder's unique abilities for resources, coins, or VP.
- Optimize resource use, timing of Wonder stages, and Guild selection.
- Build structures that provide market discounts or defensive bonuses.
- Balance immediate gains with long-term VP from card colors and Guilds.
- Build and manage your city to maximize VP and scientific symbols.

**Key Points:**
- Efficient resource production and management are crucial.
- Balance immediate gains with long-term VP strategies.
- Utilize each Wonder's unique abilities effectively.
- Plan ahead for Free Constructions and coin income.
- Optimize resource purchases and mandated constructions in the Free City (two-player variant).

**Development Notes:**
- Implement unique abilities for each Wonder.
- Ensure each card's cost, benefits, and effects are clearly defined.
- Incorporate military conflict resolution and VP awarding at the end of each age.
- Implement the two-player variant with the Free City mechanics.
- Ensure final scoring accurately reflects all VP sources (tokens, coins, Wonder points, structure points, scientific symbols).
Binary file added data/wonders7/rulebook.pdf
Binary file not shown.
Loading