Skip to content

An implementation of the "Othello-Reversi" game, we created during our third year at AUEB's Artificial Intelligence course.This impementation, uses the MiniMax algorithm with a-b pruning.For that reason, you can initialize the depth ot the algorithm, in order to make him more clever or dumber.

License

Notifications You must be signed in to change notification settings

EleniKechrioti/Othello-Reversi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Othello-Reversi

Othello Reversi is a java based game build with graphics for our Artificial Intelligence course at AUEB. Othello is a two-player game, and here the player plays against the AI, which is implemented with the Minimax algorithm using a-b pruning. Our report for this project can be found in greek and in english.

How to play

  1. Clone the project.
  2. Open your terminal.
  3. Run
    >>javac *.java
    >>java Window
  4. Starting screen will show up.
  5. Select the turn you want to play and the difficulty level.
  6. Select "Start" and enjoy!

Alternatively you can run the following commands

>>javac *.java
>>java Main

and play on your terminal.
Note: For the printing of the game board we used unicodes for coloring, so it may not be recognized from your terminal.

Built with

  • Java AWT
  • Java Swing

Features

  • Responsive AI using MinMax algorithm with alpha-beta pruning
  • Customizable depth for the MinMax algorithm, selected by the user (1-5 can be visualized as difficalty level)
  • Adaptable turn-user can choose if he wants to play first or second
  • Possible valid moves for the user are provided, to help him play easier
  • Error messages for invalid moves-checking for users miss
  • Command line and GUI implementation

Results

image image image image

Collaborators

About

An implementation of the "Othello-Reversi" game, we created during our third year at AUEB's Artificial Intelligence course.This impementation, uses the MiniMax algorithm with a-b pruning.For that reason, you can initialize the depth ot the algorithm, in order to make him more clever or dumber.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages