Maybe I'm misinterpreting, but you wanted someone to take a look at the source, even in the event the case that the export is fixed (as it so happens to be)?
First, and most importantly, code-ing for the compo is a whole 'nother beast from say, production code, or even a 'normal' hobby project. A lot (not all, but a lot) of design is actually done so that you (or someone else) can still look at the code say, 6 months from now and do some maintenance, without getting a headache. But that sort of design, while really useful in the long run, slows you down a lot. So when you've got less than 2 days (because art, etc. takes time as well) for coding, don't go for style, or 'beautiful' code, just get something working, and don't try to cringe if you've created something that you'd otherwise think of as inefficient or 'ugly'.
Second, I just skimmed your code ... I didn't really go into much depth, so I probably missed some things I should have seen.
That said (and basically opposed to the whole 'first' point):
- Take a look at the 'switch/case' statement... it can replace those if/else if/else if/else if/... structures (and even if/if/if/... sometimes when cleverly used). [ https://docs.oracle.com/javase/tutorial/java/nutsandbolts/switch.html ]
- Use an Enum class to repressent "up"/"down"/... etc. rather than a String.
- Maybe make bottle inherit from Rectangle, so you don't have to new-up a rect, when asking the object for it's bounds.
- Perhaps don't include GameState as a member of bottle (for proper O.O.)... I mean, yes, it's a reference and takes up no space, but 'GameState' is not really part of a 'Bottle'.
- Related to new-ing up objects: take a look at the 'flyweight' pattern: [ http://en.wikipedia.org/wiki/Flyweight_pattern ]
- Separate the gamestate from everything related to drawing: this is useful to prevent such things as 'having to move each mook a step' each time the player moves.
However, your code was not difficult to read at all, and that's a very good sign :-)
Just keep codeing! Practice (and some reading) makes all the difference.