Learning Java by creating an chess engine