Skip to content

Latest commit

 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Othello (Reversi)

Preview

1st assignment - Artificial Intelligence 2023-24 @ AUEB.

Goal

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:

Known Bugs

  • 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 an InputMismatchException and 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 IndexOutOfBoundsException and terminates.

About

Othello implementation in Java using the MiniMax algorithm

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages