Skip to content
Snippets Groups Projects
Commit 21b34bfc authored by xinyupi2's avatar xinyupi2
Browse files

Merge branch 'assignment-1.2' into 'master'

Assignment 1.2

See merge request !4
parents dcda88b1 fe127537
No related branches found
Tags v.5.0
1 merge request!4Assignment 1.2
Showing
with 15 additions and 5 deletions
# sp21-cs242-assignment1.1 (UNO)
# sp21-cs242-assignment1.2 (UNO)
Table of Contents
-----------------
* [Introduction](#Introduction)
* [MVC Design](#MVC_Design)
* [Environment](#Environment)
## Introdution
This is the first part of the UNO MP (CS242@illinois).
This is the completet version of the UNO MP (CS242@illinois).
It currently contains three packages: UNO, Test, and GUI.
UNO package provides the implementation of basic game logics for a **single round** of UNO (deck managing, validating play of all 108 cards in various context). For specification of functioning, please refer to [the requirement webpage](https://wiki.illinois.edu/wiki/pages/viewpage.action?pageId=528356500). You can also find a doxygen configuration file in the doxygen directory. Run "doxygen Doxyfile" for auto-generated documents.
1. UNO package provides the implementation of basic game logics for a **single round** of UNO (deck managing, validating play of all 108 cards in various context). For specification of functioning, please refer to [the requirement webpage](https://wiki.illinois.edu/wiki/pages/viewpage.action?pageId=528356500). You can also find a doxygen configuration file in the doxygen directory. Run "doxygen Doxyfile" for auto-generated documents. UNO package also provides two AI player families - a primitive AI that plays randomly and a more strategic AI. The stretegic AI has ~58% winning rate against primitive AI when tested in 100000 complete games. Finally, this UNO package support two extra rule - addition of two cards and subtraction of two cards.
2. Test package provides comprehensive JUnit tests for testing the functionality of UNO, including the ruleController, player, card manager, AI.
3. In GUI package, fivestatic, non-interacive GUI (JFrames), including (i) welcome page (ii) player number input page (iii) game stage page (iv) choose color page (v) ending page. It can now support integration of AI into the game using GUI.
### MVC Design
The overall interactive control is implemented following MVC pattern. Specifically, the **UNO.ruleController & UNO.Player** classes serve as the **Model** that stores the game state data (e.g. allowed color, symbol, previous played card, previous player action, etc.) and player hand cards, **UNO.Game** serves as the **Controller**, and **GUI package** serves as the **Viewer**.
Viewer will never directly interact with Model (you will not find anything about RuleController with Ctrl+F in the Viewer classes), and will always interact with the controller (Game class).
Test package provides comprehensive tests for testing the functionality of UNO.
In GUI package, fivestatic, non-interacive GUI (JFrames), including (i) welcome page (ii) player number input page (iii) game stage page (iv) choose color page (v) ending page.
Environment
-----------
......
image/manualTest/1614019925773.png

107 KiB

image/manualTest/1614020029698.png

114 KiB

image/manualTest/1614020088098.png

112 KiB

image/manualTest/1614020173560.png

203 KiB

image/manualTest/1614020363258.png

106 KiB

image/manualTest/1614020568896.png

132 KiB

image/manualTest/1614020622245.png

154 KiB

image/manualTest/1614020735002.png

137 KiB

image/manualTest/1614020892335.png

155 KiB

image/manualTest/1614020943106.png

171 KiB

image/manualTest/1614021063906.png

147 KiB

image/manualTest/1614021141517.png

147 KiB

image/manualTest/1614021327580.png

216 KiB

image/manualTest/1614021501116.png

145 KiB

image/manualTest/1614025546309.png

152 KiB

image/manualTest/1614025997954.png

155 KiB

image/manualTest/1614026859710.png

152 KiB

image/manualTest/1614026933385.png

158 KiB

image/manualTest/1614027296283.png

146 KiB

0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment