A Didactic Java Chess Engine