This is a basic chess program with an AI opponent which I wrote in Java as a school project when I was 16 years old.
The AI is capable of rating a given state of the game for each team, by considering aspects such as threatening and protecting, as well as which pieces the team and the opponent has. It brute-forces through all possible states, several moves ahead, and assumes each team tries to reach the highest score. Whichever move results in the highest predicted score for the AI's team is performed.
Clicking on a piece selects it and highlights all possible moves, which can be performed with another click. The AI opponent does its move directly afterwards.