Tennis was a lot more complicated to port than soccer or cricket. The code on slimetennis.com seems to have been through several stages of compilation/decompilation.

The transformations I'm doing on both the Java and the TypeScript are very basic, and they got tripped up a lot by the method names in the original tennis code - almost all methods were an overloaded method called "a". TypeScript doesn't deal with overloading well at the best of times, and auto-generated TypeScript with RegEx-based async/await hacking is even worse.

So the reason for the bizarre class/method names is that used a Java IDE to rename all the overloaded single-letter methods to names generated by [a node name generator called `sillyname`](https://www.npmjs.com/package/sillyname).

Apart from those renames, the source code is unmodified from the jar used for the original game at [slimetennis.com](http://slimetennis.com/onetennisbeta3a.jar).
Tennis was a lot more complicated to port than soccer or cricket. The code on [slimetennis.com](http://slimetennis.com) seems to have been through several stages of compilation/decompilation.

The transformations I'm doing on both the Java and the TypeScript are very basic, and they got tripped up a lot by the method names in the original tennis code - almost all methods were an overloaded method called "a". TypeScript doesn't deal with overloading well at the best of times, and auto-generated TypeScript with RegEx-based async/await hacking is even worse.

So the reason for the bizarre class/method names is that used a Java IDE to rename all the overloaded single-letter methods to names generated by [a node name generator called `sillyname`](https://www.npmjs.com/package/sillyname). This also made it easier to debug; searching through 3,000 lines of Java where everything is called "a" is not fun.

Apart from those renames, the source code is unmodified from the jar used for the original game at [slimetennis.com](http://slimetennis.com/onetennisbeta3a.jar).
Add link to tennis readme.
Add link to tennis readme.
