Home > othello

othello

Othello is a project mainly written in OBJECTIVE-C and C, it's free.

An Objective-C/Cocoa version of Othello with simple AI

Othello By Nick Ewing

Overview

Contained in this archive is an implementation of the board game Othello. The game supports Human vs. Computer or Human vs. Human play (and technically Computer vs. Computer, but not through the GUI). The easy difficulty is simply a random strategy, the medium difficulty is a greedy strategy and the hard difficulty is a minimax algorithm with alpha-beta pruning.

Building/Running

To build and run, use open the XCode project and select Build and Run from the menu.

Operations

The game can be played through the main window. Player and difficulty settings are available through the File menu.

Known Problems

The "hard" difficulty (the default difficulty) is seemingly less difficult than the "medium" difficulty. It seems the deeper the agent looks into possible future moves, the worse its decisions get. The algorithm has been checked thoroughly leaving the most likely cause to be some unknown aspect of the game not being represented by the scoring or weighting system.

License

The MIT License

Copyright (c) 2010 Nick Ewing

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Previous:mixi-el