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.
An UNO Deluxe implementation, with custom cards and cheating functionality.
- Max supported players: 4
- Custom cards
- Cheating supported
- Cheating detection supported
- Hand sorting
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.
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.
- Android Studio - The IDE used
- Git - for VC
- Github - online VC, pull requests, webhooks, etc.
- Sonarcloud - for linting (code quality, code smells, coverage)
- Jacoco - test coverage
- Travis - build service
- Gradle - package manager
We used git for versioning, and Github for pull requests, reviews, hooks etc.
- Hobisch Manuel
- Logic implementation
- Card design
- Sensor integration
- Laubreiter David
- Networking
- Refactoring
- Assuring Code Quality
- Prohinig Christian
- Game framework
- Component integration
- Interface design
Thank you stackoverflow, for answering many questions :)