1st assignment - Artificial Intelligence 2023-24 @ AUEB.
Implement the board game Othello (also known as Reversi). It supports two players:
- Computer:
- uses the MiniMax algorithm to choose the optimal next move based on a heuristic.
- It's max depth is determined by the user.
- User:
- can choose to go first.
- Determines the computer's max depth at the beginning of the game (a bit like choosing the difficulty in other games).
Read more here:
- Assingment Paper (lang: GR)
- Our report (lang: GR)
- Reversi rules
- During the user's turn, we only check if the input can be interpreted as an
integer value with
Scanner.nextInt(). So if the input contains non-digit characters, the game will throw anInputMismatchExceptionand terminate. - During the computers turn, while evaluating the optimal next board state, the
algorithm doesn't consider whether it has to pass that turn or not. This can
lead to a rare bug, where the computer chooses a move that is optimal in
theory, but out of bounds in practice. The game throws an
IndexOutOfBoundsExceptionand terminates.
