A Didactic Java/C++ Chess Engine