Cypher Grid
Cypher Grid is a modern, mobile-first implementation of the classic strategy board game Quoridor, built with React Native and TypeScript. Challenge a friend to a game of wits and walls, where the goal is to outmaneuver your opponent and reach the other side of the board first. This project showcases a clean, component-based architecture and a polished, user-friendly interface.
Features
- Classic Quoridor Gameplay: A faithful implementation of the original game’s rules and mechanics.
- Intuitive Touch Controls: Seamlessly move your pawn and place walls with a simple tap.
- Real-time Game State: The board and UI instantly update to reflect the current game state.
- Interactive UI: The interface provides clear feedback on the current player, possible moves, and remaining walls.
- Winning and Reset: The game automatically detects a winner and allows for a quick reset to start a new game.
Technologies Used
- React Native: A cross-platform framework for building native mobile apps with React.
- TypeScript: A statically typed superset of JavaScript that enhances code quality and maintainability.
- React Hooks: The project is built with modern, functional components and leverages
useState, useEffect, and useCallback for state management and performance optimization.
- Flexbox: The UI is built with a flexible and responsive layout using Flexbox.
- ESLint: A pluggable and configurable linter tool for identifying and reporting on patterns in JavaScript.
Future Improvements
- AI Opponent: Implement an AI opponent with varying difficulty levels.
- Online Multiplayer: Add support for online multiplayer, allowing users to play against friends remotely.
- Animations: Animate pawn movements and wall placements for a more engaging user experience.
- Themes: Introduce customizable themes for the board and game pieces.
- Sound Effects: Add sound effects for game actions, such as moving a pawn or placing a wall.
Getting Started
Running the App
The development environment is already set up with all necessary dependencies. You can start developing right away!
Android
To run your app on Android:
iOS
To run your app on iOS (requires macOS):
Development
The Metro bundler will start automatically when you run the app. If you need to start it manually:
Testing and Linting
Run tests:
Run linter:
License
This project is open source and available under the MIT License.