This is my A2 Computer Science project, re-written in various flavours of php (with any luck)