Now, not sure what level programmer you are "Mr Bean" - so don't take any offence.
My advise is to make copies of the source and then strip the code away in lumps.
If someone gives me a piece of code that is a complete game (I don't think this one is complete) - I reverse engineer the code, ie, I start remove whole sections that I would think were added after the initial stages. So, with this one, I would work it back to the setting up of the board itself - I'd then add in bits of code (in the order I think they should be added) - but avoid adding in non-essential code (such as load/save, timer code, additional features such as what appears to be saving a screen shot) and basically build the code back up with my own coding style.
My advise is to make copies of the source and then strip the code away in lumps.
If someone gives me a piece of code that is a complete game (I don't think this one is complete) - I reverse engineer the code, ie, I start remove whole sections that I would think were added after the initial stages. So, with this one, I would work it back to the setting up of the board itself - I'd then add in bits of code (in the order I think they should be added) - but avoid adding in non-essential code (such as load/save, timer code, additional features such as what appears to be saving a screen shot) and basically build the code back up with my own coding style.