I've now got all the cash win and credit functionality working and Cherry Chaser is slowly turning into a playable game. The gamble feature is also in place although I need to alter the timing code to make it independent of processor speed. I've also put in vibration feedback as each of the reels stop which feels really nice.
I've now "wired up" all of the lights that can flash on and off on the main play area of Cherry Chaser. This was one of the most laborious tasks that needed to be done and involved carefully measuring the location and size of each part of the screen that could be independently lit up. In all the main screen is composed of 62 lights all of which can now flash on and off.
I'm finding some interesting challenges porting my Windows Mobile games, that were all developed in C++, to using java on Android. It's very handy that the syntax is largely the same but there are quite a few things about java that bug me. If I came from java to C++ I'm sure I'd be even more distressed, or even horrified. I have to admit that I am not too fussy about type safe data types and I find the convenience of being allowed to be somewhat reckless with my data in C++ makes up for any extra debugging required.
As Cherry Chaser is a port of the C++ version I'm shoehorning a C++ style on to my java programming. One particular area where I'm doing things in a non java way is in the use of enum types. Cherry Chaser enumerates lots of things from the game state to what the names of all the lights are. At the moment I'm using enums very much as I would in C++ and using the ordinal values far more than I probably should. For example my array of lights is indexed by an enum type. Reprogramming to use an enummap would be more appropriate but that would mean rewriting quite a lot of code.
Regular updates on twitter