npx skills add johanruttens/paddle-battleREADME
Paddle Battle
Paddle Battle is a classic arcade-style paddle and ball game built with React Native and Expo. Challenge yourself against an AI opponent, progress through various levels, and aim for the highest score!
Features
- Engaging Gameplay: Classic paddle and ball mechanics with a modern touch.
- AI Opponent: Test your skills against a challenging artificial intelligence.
- Multiple Levels: Progress through increasingly difficult levels.
- Haptic Feedback: Immersive tactile feedback during gameplay.
- Sound Effects: Dynamic sound design to enhance the gaming experience.
- Local High Scores: Track your best performances directly on your device.
- Customizable Settings: Adjust game preferences to your liking.
Technologies Used
- React Native: For building native mobile applications using JavaScript and React.
- Expo: A framework and platform for universal React applications, providing tools and services for building, deploying, and quickly iterating on native apps.
- Zustand: A fast, small, and scalable bearbones state-management solution.
- React Native Reanimated & Gesture Handler: For fluid animations and responsive touch interactions.
- Expo AV & Haptics: For multimedia playback and haptic feedback.
- TypeScript: For type-safe development.
Installation
To get a local copy up and running, follow these simple steps.
Prerequisites
- Node.js (LTS version recommended)
- npm or Yarn
- Expo CLI (
npm install -g expo-cli) - Xcode (for iOS development)
Steps
- Clone the repository:
git clone https://github.com/your-username/PaddleBattle.git cd PaddleBattle - Install dependencies:
npm install # or yarn install - Install CocoaPods (for iOS):
cd ios pod install cd .. - Run the app on iOS simulator:
This will build the app and launch it on an iOS simulator. If you encounter issues, ensure your Xcode is properly set up and you have a simulator available.npx expo run:ios
Usage
- Main Menu: Start a new game, select levels, adjust settings, or view your stats.
- Gameplay: Control your paddle to hit the ball and defeat your AI opponent.
- Settings: Customize sound, haptics, and other game preferences.
Contributing
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
License
Distributed under the MIT License. See LICENSE for more information.
Contact
Johan Ruttens - your-email@example.com Project Link: https://github.com/your-username/PaddleBattle