{"id":20463386,"url":"https://github.com/sandre58/mygames","last_synced_at":"2026-04-29T14:35:15.335Z","repository":{"id":239013655,"uuid":"797107724","full_name":"sandre58/MyGames","owner":"sandre58","description":"This repository contains a collection of classic board games implemented using WPF.","archived":false,"fork":false,"pushed_at":"2025-09-12T08:54:27.000Z","size":382,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-12T10:32:12.450Z","etag":null,"topics":["chess","connect4","games","net80","wpf","xaml"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sandre58.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-05-07T07:59:47.000Z","updated_at":"2024-12-12T15:54:30.000Z","dependencies_parsed_at":"2024-05-09T14:11:13.494Z","dependency_job_id":"fab136dd-4163-4366-a163-6c93a55051ba","html_url":"https://github.com/sandre58/MyGames","commit_stats":null,"previous_names":["sandre58/mygames"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sandre58/MyGames","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sandre58%2FMyGames","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sandre58%2FMyGames/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sandre58%2FMyGames/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sandre58%2FMyGames/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sandre58","download_url":"https://codeload.github.com/sandre58/MyGames/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sandre58%2FMyGames/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32429204,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-29T13:34:34.882Z","status":"ssl_error","status_checked_at":"2026-04-29T13:34:29.830Z","response_time":110,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chess","connect4","games","net80","wpf","xaml"],"created_at":"2024-11-15T13:10:53.597Z","updated_at":"2026-04-29T14:35:15.330Z","avatar_url":"https://github.com/sandre58.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv id=\"top\"\u003e\u003c/div\u003e\n\n\u003c!-- PROJECT INFO --\u003e\n\u003cbr /\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://github.com/sandre58/MyGames\"\u003e\n    \u003cimg src=\"assets/logo.png\" width=\"256\" height=\"256\"\u003e\n  \u003c/a\u003e\n\n\u003ch1 align=\"center\"\u003eMy Games\u003c/h1\u003e\n\n[![Downloads][downloads-shield]][downloads-url]\n[![Forks][forks-shield]][forks-url]\n[![Stargazers][stars-shield]][stars-url]\n[![Issues][issues-shield]][issues-url]\n[![MIT License][license-shield]][license-url]\n\n  \u003cp align=\"center\"\u003e\n    \u003cbr /\u003e\n    A comprehensive collection of classic board games implemented in C# with .NET 10. \n    Features both console applications and rich WPF desktop interfaces with AI opponents, \n    customizable gameplay, and modern user experiences.\n  \u003c/p\u003e\n\n[![Language][language-shield]][language-url]\n[![Build][build-shield]][build-url]\n\n\u003c/div\u003e\n\n## 🎯 Overview\n\nMy Games is a modern implementation of classic board games built with .NET 10, offering multiple ways to play your favorite games. Each game includes:\n\n- **Multiple Interfaces**: Console applications for quick play and WPF desktop apps for rich visual experiences\n- **AI Opponents**: Sophisticated artificial intelligence with configurable difficulty levels\n- **Customizable Gameplay**: Adjustable rules, board sizes, and game settings\n- **Clean Architecture**: Well-structured, testable code with comprehensive unit test coverage\n- **Cross-Platform Core**: Game logic built for portability and extensibility\n\n## ✨ Key Features\n\n- **🎮 Multiple Game Modes**: Play against AI opponents or challenge friends in local multiplayer\n- **🖥️ Dual Interfaces**: Choose between lightweight console apps or feature-rich WPF desktop applications\n- **🤖 Advanced AI**: Alpha-beta pruning algorithms with multiple difficulty levels for challenging gameplay\n- **⚙️ Highly Customizable**: Adjust board sizes, rules, difficulty settings, and visual themes\n- **🏗️ Modern Architecture**: Clean, testable code structure with comprehensive unit test coverage\n- **🎨 Rich UI**: Beautiful WPF interfaces with animations, themes, and intuitive drag-and-drop controls\n\n## 🎲 Available Games\n\n### ♟️ Chess\n\n\u003cdiv align=\"center\"\u003e\n\u003cimg src=\"assets/chess.png\" width=\"100\" height=\"100\"\u003e\n\u003cbr /\u003e\n\n[![Framework][framework-shield]][framework-url]\n[![Version][chess-version-shield]][chess-version-url]\n\n**[📖 View Chess Documentation](src/Chess/README.md)**\n\n\u003c/div\u003e\n\nA complete chess implementation featuring all standard rules including castling, en passant, and pawn promotion. Play against sophisticated AI opponents or challenge friends with both console and future WPF interfaces.\n\n**Features:**\n- Complete chess rule implementation\n- AI with Alpha-beta pruning algorithm  \n- Console interface with algebraic notation\n- Special moves: castling, en passant, promotion\n- Comprehensive unit test coverage\n\n### 🔴 Connect 4\n\n\u003cdiv align=\"center\"\u003e\n\u003cimg src=\"assets/connect4.png\" width=\"100\" height=\"100\"\u003e\n\u003cbr /\u003e\n\n[![Framework][framework-shield]][framework-url]\n[![Version][connect4-version-shield]][connect4-version-url]\n\n**[📖 View Connect4 Documentation](src/Connect4/README.md)**\n\n\u003c/div\u003e\n\nThe classic Connect 4 game with both console and beautiful WPF interfaces. Customize board dimensions, winning conditions, and enjoy smooth gameplay with multiple AI difficulty levels.\n\n**Features:**\n- Console and WPF desktop applications\n- Customizable board sizes (4x4 to 12x10)\n- Configurable win conditions (3-6 in a row)\n- Drag-and-drop WPF interface with animations\n- Theme support and visual customization\n\n## 🚀 Quick Start\n\n### Prerequisites\n\n- **.NET 10.0** or later\n- **Visual Studio 2022** or compatible IDE\n- **Windows OS** (for WPF applications)\n\n### Installation\n\n1. **Clone the repository:**\n```bash\ngit clone https://github.com/sandre58/MyGames.git\ncd MyGames\n```\n\n2. **Build the solution:**\n```bash\ndotnet build\n```\n\n3. **Run a game:**\n\n**Chess Console:** \n```bash\ndotnet run --project src/Chess/MyGames.Chess.Console\n```\n\n**Connect4 Console:**\n```bash\ndotnet run --project src/Connect4/MyGames.Connect4.Console\n```\n\n**Connect4 WPF:**\n```bash\ndotnet run --project src/Connect4/MyGames.Connect4.Wpf\n```\n\n## 🏗️ Project Structure\n\n```\nMyGames/\n├── src/\n│   ├── Chess/                     # Chess game implementation\n│   │   ├── MyGames.Chess/         # Core chess library\n│   │   ├── MyGames.Chess.Console/ # Console application\n│   │   └── README.md              # Chess documentation\n│   ├── Connect4/                  # Connect4 game implementation\n│   │   ├── MyGames.Connect4/      # Core Connect4 library  \n│   │   ├── MyGames.Connect4.Console/ # Console application\n│   │   ├── MyGames.Connect4.Wpf/  # WPF desktop application\n│   │   └── README.md              # Connect4 documentation\n│   └── Common/\n│       └── MyGames.Core/          # Shared game framework\n├── tests/                         # Unit tests for all projects\n├── assets/                        # Game icons and images\n└── build/                         # Build configuration files\n```\n\n## 🧪 Testing\n\nRun all tests across the solution:\n```bash\ndotnet test\n```\n\nRun tests for a specific game:\n```bash\ndotnet test tests/MyGames.Chess.UnitTests/\ndotnet test tests/MyGames.Connect4.UnitTests/\n```\n\n## 🎮 Game Features Comparison\n\n| Feature | Chess | Connect4 |\n|---------|-------|----------|\n| Console Interface | ✅ | ✅ |\n| WPF Desktop App | 🔄 (Planned) | ✅ |\n| AI Opponents | ✅ | ✅ |\n| Customizable Rules | ✅ | ✅ |\n| Board Customization | ❌ | ✅ |\n| Themes/Visual Options | ❌ | ✅ |\n| Drag \u0026 Drop UI | ❌ | ✅ |\n\n## 🤖 AI Implementation\n\nBoth games feature sophisticated AI opponents powered by:\n\n- **Alpha-Beta Pruning**: Efficient minimax algorithm implementation\n- **Position Evaluation**: Strategic position assessment functions  \n- **Configurable Difficulty**: Adjustable search depth from beginner to expert\n- **Move Ordering**: Optimization techniques for better performance\n\n## 🛠️ Development\n\n### Building from Source\n\n1. **Prerequisites**: Ensure you have .NET 10.0 SDK installed\n2. **Clone**: `git clone https://github.com/sandre58/MyGames.git`\n3. **Build**: `dotnet build` in the root directory\n4. **Test**: `dotnet test` to run all unit tests\n\n### Contributing\n\nContributions are welcome! Please see our [Contributing Guidelines](CONTRIBUTING.md) for details on:\n\n- Code style and standards\n- Adding new games or features\n- Improving AI algorithms\n- UI/UX enhancements\n- Testing requirements\n\n### Architecture\n\nThe project follows a clean architecture pattern:\n\n- **Core Libraries**: Game logic and rules (platform-independent)\n- **Console Applications**: Lightweight interfaces for quick gameplay\n- **WPF Applications**: Rich desktop experiences with themes and animations\n- **Shared Framework**: Common game abstractions and utilities\n\n## 🗺️ Roadmap\n\n### Near Term\n- [ ] Chess WPF application with rich UI\n- [ ] Online multiplayer support\n- [ ] Game replay and analysis features\n- [ ] Additional AI difficulty levels\n\n### Future\n- [ ] Mobile applications (MAUI)\n- [ ] Additional classic games (Checkers, Reversi)\n- [ ] Tournament and rating systems\n- [ ] Advanced AI with machine learning\n\n## 📊 Statistics\n\n- **Languages**: C#, XAML\n- **Framework**: .NET 10\n- **Architecture**: Clean Architecture with MVVM (WPF)\n- **Testing**: Unit tests with high coverage\n- **Games**: 2 implemented, more planned\n\n## 🤝 Contributing\n\nWe welcome contributions of all kinds:\n\n- 🐛 **Bug Reports**: Found an issue? Let us know!\n- 💡 **Feature Ideas**: Have suggestions for improvements?\n- 🔧 **Code Contributions**: Submit pull requests for fixes or features\n- 📝 **Documentation**: Help improve our documentation\n- 🎨 **UI/UX**: Design improvements and theme contributions\n\n## 📄 License\n\nCopyright © Stéphane ANDRE.\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## 🙏 Acknowledgments\n\n- Classic game rules and mechanics\n- Algorithm implementations for AI opponents\n- .NET community for frameworks and tools\n- Contributors and testers\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- MARKDOWN LINKS \u0026 IMAGES --\u003e\n\u003c!-- https://www.markdownguide.org/basic-syntax/#reference-style-links --\u003e\n[language-shield]: https://img.shields.io/github/languages/top/sandre58/MyGames\n[language-url]: https://github.com/sandre58/MyGames\n[forks-shield]: https://img.shields.io/github/forks/sandre58/MyGames?style=for-the-badge\n[forks-url]: https://github.com/sandre58/MyGames/network/members\n[stars-shield]: https://img.shields.io/github/stars/sandre58/MyGames?style=for-the-badge\n[stars-url]: https://github.com/sandre58/MyGames/stargazers\n[issues-shield]: https://img.shields.io/github/issues/sandre58/MyGames?style=for-the-badge\n[issues-url]: https://github.com/sandre58/MyGames/issues\n[license-shield]: https://img.shields.io/github/license/sandre58/MyGames?style=for-the-badge\n[license-url]: https://github.com/sandre58/MyGames/blob/main/LICENSE\n[build-shield]: https://img.shields.io/github/actions/workflow/status/sandre58/MyGames/ci.yml?logo=github\u0026label=CI\n[build-url]: https://github.com/sandre58/MyGames/actions\n[downloads-shield]: https://img.shields.io/github/downloads/sandre58/MyGames/total?style=for-the-badge\n[downloads-url]: https://github.com/sandre58/MyGames/releases\n[framework-shield]: https://img.shields.io/badge/.NET-10.0-purple\n[framework-url]: https://dotnet.microsoft.com/download/dotnet/10.0\n[connect4-version-shield]: https://img.shields.io/badge/version-1.0.0-blue\n[connect4-version-url]: https://github.com/sandre58/MyGames/releases\n[chess-version-shield]: https://img.shields.io/badge/version-1.0.0-blue\n[chess-version-url]: https://github.com/sandre58/MyGames/releases","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsandre58%2Fmygames","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsandre58%2Fmygames","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsandre58%2Fmygames/lists"}