Added 4 players and option to choose if they are human or AI.#9
Added 4 players and option to choose if they are human or AI.#9ragnarokxg wants to merge 10 commits intoschaoss:mainfrom
Conversation
There was a problem hiding this comment.
Summary of Changes
Hello @ragnarokxg, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!
This pull request adds support for 3-4 players to the Wall-Go game, including UI enhancements and AI configuration options, while maintaining backward compatibility with the existing 2-player mode. The changes involve architectural adjustments to accommodate dynamic player counts.
Highlights
- Multiplayer Support: Extended the game to support 3-4 players by modifying the type system, utility functions, turn calculation, and UI components.
- AI Configuration: Introduced a new
PlayerSetup.tsxcomponent for configuring player count, game mode (PVP vs AI), and AI levels for multiplayer games. - Centralized Configuration: Created a
gameConfig.tsfile to manage game settings, including player colors and display names, supporting both 2-player and extended player configurations.
Using Gemini Code Assist
The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.
Invoking Gemini
You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands.
| Feature | Command | Description |
|---|---|---|
| Code Review | /gemini review |
Performs a code review for the current pull request in its current state. |
| Pull Request Summary | /gemini summary |
Provides a summary of the current pull request in its current state. |
| Comment | @gemini-code-assist | Responds in comments when explicitly tagged, both in issue comments and review comments. |
| Help | /gemini help |
Displays a list of available commands. |
Customization
To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.
Limitations & Feedback
Gemini Code Assist is currently in preview and may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments to provide feedback.
You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.
Footnotes
-
Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution. ↩
There was a problem hiding this comment.
Code Review
This pull request introduces 3-4 player support and the option to choose between human and AI players. The changes are well-documented in the MULTIPLAYER_EXTENSION_SUMMARY.md file. However, the coverage/ directory, which contains generated code coverage reports, has been included in this pull request and should be removed. Also, the PR title should be updated to reflect the current AI limitations.
| ### 1. AI System Limitations | ||
| - Current AI agents may need updates for 3-4 player strategies | ||
| - TurnManager assumes 2-player game flow | ||
| - AI difficulty balancing for multiple opponents |
There was a problem hiding this comment.
The PR title suggests full AI support for 3-4 players, but this section indicates that the AI agents may need updates for 3-4 player strategies and that the TurnManager assumes a 2-player game flow. To avoid confusion, clarify the state of AI support in the PR description and title. If AI is not fully functional for 3-4 players, specify that the multiplayer support is currently limited to human players and that AI implementation is a separate task.
There was a problem hiding this comment.
The PR title suggests full AI support for 3-4 players, but this section indicates that the AI agents may need updates for 3-4 player strategies and that the TurnManager assumes a 2-player game flow. To avoid confusion, clarify the state of AI support in the PR description and title. If AI is not fully functional for 3-4 players, specify that the multiplayer support is currently limited to human players and that AI implementation is a separate task.
AI is functional for all players.
ragnarokxg
left a comment
There was a problem hiding this comment.
Adding 3 and 4 player modes to game.
…troduce the Anubis workflow system. Key updates include: 1. Added full keyboard navigation support with arrow keys and Space/Enter activation 2. Implemented ARIA attributes for screen reader compatibility 3. Added accessibility report documenting WCAG 2.1 AA compliance 4. Introduced Anubis workflow for development processes 5. Created centralized prop type definitions for components 6. Added error boundary and loading overlay components 7. Improved territory calculation logic and testing 8. Enhanced AI agent messaging for thinking states Here's the commit message: feat: implement accessibility improvements and Anubis workflow - Add comprehensive accessibility features to game components including ARIA attributes and keyboard navigation - Introduce Anubis workflow for development processes - Refactor component prop types into centralized module - Improve territory calculation logic and testing - Add error boundary and loading overlay components - Generate accessibility implementation report - Enhance AI agent messaging for thinking states
The territory calculation logic has been completely overhauled to correctly handle regions defined by walls and board edges. The previous implementation determined territory by counting bordering stones around empty areas, which was insufficient for the game's rules. The new algorithm uses a flood-fill approach that treats placed walls as impassable boundaries. A region is now owned by a player only if they are the sole player with stones within that enclosed area. This provides a more accurate and robust territory definition. Additionally, the game-end condition has been updated to check if all cells on the board are occupied, simplifying the logic and aligning it with the new territory rules. The old territory logic has been archived in `territory-old.ts` for reference.
No description provided.