Unreal Tournament

Unreal Tournament pits different types of competitors (robots, dragons, warriors, etc.) against each other.

The design is flexible. Thanks to polymorphism, new types of competitors can extend the abstract Competitor class without modifying the tournament class:

 

Here's a java implementation. Study it and try running it a few times:

Tournament.java

Faithfully translate all four classes into Jasmin. Do not use any automated translator. Do this by hand.

Hint: Do this one class at a time starting with Dragon, Robot, and Warrior. Remember, a Jasmin class can extend a Java class and vice-versa.

You should still be able to run the main method in Tournament.

Next replace Competitor with a Jasmin class.

Test again.

Finally replace Tournament with a Jasmin class.

Test one last time.