1. Paul Thuraman
Software Engineering
Assignment 1 – Hardest Software Project
*Note: When I did this project it involved the extensive use of Threads and it was written in Java.
The project was based on a game design which involves interactions between a Dragon, Adventurers,
and a Clerk who owns a magical jewelry shop in a town called Grafton. The game is based around the
action of the Adventurers.
*The goal of the Adventurer*:
To leave the town of Grafton once he has accumulated a small fortune (user specified number) of
magical rings and necklaces.
Interaction: Adventurers ‘Playing’ with the Dragon
Adventurers enter Grafton and seek out the Dragon with whom they play a game of dice!
These Adventurers are playing to win various items (stones, rings or necklaces) that can be combined to
create more powerful magical jewels. The rules for these combinations are:
1) A stone could be combined with a ring to make a magical ring.
2) A stone could be combined with a necklace to make a magical necklace.
The Adventurers wait in line to face the Dragon. If the dragon loses he gives up a random item (a
precious stone, a ring, or a necklace). If the Adventurer loses, the Dragon allows the Adventurer to play
one more time.
Then if the Adventurer wins the right items he needs to create a magic jewel (at least one of these) he
goes to the magic jewelry shop (owned by the Clerk).
2. Otherwise, an Adventurer does not get the item that he needs for a complete magical jewel, he will
have to wait go to the back of the line of Adventurers waiting for a chance to fight the Dragon and allow
another Adventurer to fight the Dragon.
At any time an adventurer could have a set of items with him that could result in one or more magical
jewels and uncombined items.
Interaction: The Clerk and the Adventurers
The Clerk, who owns a magical jewelry shop, waits for a group of Adventurers to be formed (user
specifies the size of this group). Adventures line up outside the store in order waiting to enter. Note
that when there are not enough Adventurers to form the user specified group and these are the last set
of adventurers waiting to leave the town, the Clerk allows them to enter the store.
When a group has formed outside the Clerk’s store, they can be let inside. The Clerk greets each
Adventurer in the order they arrived to the store. After accepting an Adventurer, he checks the
Adventure’s items. If the Adventurer has all the items he needs to combine to make a magical jewel, the
Clerk makes the magical jewel. The Adventurer then checks whether he has enough magical jewels to
leave the town of Grafton (see above the Goal of the Adventurer). If he does not then he has to go wait
at the back of the line where other Adventures are waiting to fight the Dragon.
If the Adventurer has enough magical jewels he is free to leave the town with his fortune!