/se2-uno

uno card game for android

Primary LanguageJava

Build Status Quality Gate Maintainability

Coverage Bug Badge Code Smells Duplicated Lines Vulnerabilities

Sofware Engineering II - UNO Deluxe App

An Unu Deluxe implementation for Android with Java.

The task was to implement a game for Android and with java only.

The requirements were:

  • A playable game
  • Multiplayer functionality using P2P
  • A way to 'cheat' and detect cheating as a player, and react to it
  • Additional custom rules or functionality, which is not part of the original game
  • Not a new game, but one that is based on an existing card or board game

It was created for the course Software Engineering II on Alpen-Adria-University Klagenfurt.

Description

An UNO Deluxe implementation, with custom cards and cheating functionality.

  • Max supported players: 4
  • Custom cards
  • Cheating supported
  • Cheating detection supported
  • Hand sorting

Cheating and detection

Cheating is possible in a build in way. It is possible to drop a single card every game out of the hand. To do so, swipe down on the card you want to let disappear.

If you detect that a player suddenly has one card less then he should have, than you can blame him for cheating. If you are correct, he has to draw cards, if not, you have to draw.

Networking

The networking component is completely own-written, and is based on tcp sockets. The Host opens a game, and other devices can connect to him via the ip. Its written completely non-blocking, so a easy usability is given.

Build with

Versioning

We used git for versioning, and Github for pull requests, reviews, hooks etc.

Authors

  • Hobisch Manuel
    • Logic implementation
    • Card design
    • Sensor integration
  • Laubreiter David
    • Networking
    • Refactoring
    • Assuring Code Quality
  • Prohinig Christian
    • Game framework
    • Component integration
    • Interface design

Acknowledgment

Thank you stackoverflow, for answering many questions :)