Skip to content

PaulaFregene/exploding-kitten-game

Repository files navigation

Gradle Build

Exploding Kitten Game

The Exploding Kitten game was developed using Java, following modern software quality engineering practices to ensure a high-quality and maintainable application. The development process incorporated test-driven development, boundary value analysis, and automated testing frameworks to create robust unit and GUI tests. Mocking was utilized to design effective unit and integration tests, while code quality was enhanced through formal code reviews, adherence to coding standards, and the application of design principles from Clean Code: A Handbook of Agile Software Craftsmanship by Robert C. Martin. A CI/CD pipeline was implemented alongside Git version control, build tools, and linters to streamline development and ensure reliable product delivery. Additionally, the game was designed with global usability in mind, incorporating software internationalization to accommodate diverse linguistic and cultural backgrounds. These practices resulted in a well-structured, functional, and globally accessible application.

✅ Features

  • Core gameplay loop implemented: draw, play, help, and more!
  • Full deck support:
    • Exploding Kitten
    • Defuse
    • Attack
    • Skip
    • Shuffle
    • See the Future
    • Favor
    • Alter the Future
    • Nuke
    • Reverse
    • Swap Top and Bottom
    • Bury
    • Normal
  • Turn management system with attack stacking and reversals
  • Console-based or UI-based player interaction
  • Custom game context and card factory for easy expansion

🔧 Under the Hood

  • Modular, testable architecture
  • JUnit test coverage for critical methods
  • Deck shuffling and card resolution logic
  • Support for 2–5 players
  • Unit tests with 100%+ coverage and mutation

Contributors

Built with ❤️ by Team 05 (CS 397 SQE)

  • Paula Eyituoyo Fregene @PaulaFregene
  • Viktoriia Sokolenko @viktoriia-sokolenko
  • Ethan Joshua Pineda-Pardo @ethanpaneraa

Dependencies

  • JDK 11
  • JUnit 5.10
  • Gradle 8.10

Note

Please check the other README.md file under docs/design as it also contains important information

Acknowledgements

REFERENCES, SOURCE OF HELP ETC

  • Textbook Used to Ensure Code Standard

Title: Clean Code: A Handbook of Agile Software Craftsmanship
Author: Robert C. Martin
Publisher: Pearson
ISBN: 9780136083238

  • Google Coding Standard
  • Professor Yiji Zhang (Northwestern University)

About

Exploding Kitten Game from CS 397- Software Quality Engineering Spring 2025

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors