In Progress

Reversi Game

This project is about to building a console-mode and a GUI based two-player version of Othello that is capable of playing a single game of Othello on a single computer (Console and GUI based are seperate projects). The program begins by asking the users to choose these options:

Users will interact with your program in the following way.

The program asks the user to specify the following options, in the order specified below. As with previous projects, when users enter erroneous input (e.g., a number of rows with a fractional part, an invalid move), the program should inform the user that the input was erroneous (and how) and ask the user for the input again.

The number of rows on the board, which must be an even integer between 4 and 16.

The number of columns on the board, which must be an even integer between 4 and 16 and does not have to be the same as the number of rows.

Which of the players will move first: black or white. (Generally, the black player moves first in Othello, though we'll allow the user to specify that the white player should move first if preferred.)

According to the rules, the game begins with four discs on the board: two white and two black, arranged on the four center cells of the grid, with the two white discs separated diagonally and the two black discs separated diagonally. The user can choose which color disc will be in the top-left position of these four center cells: white (the traditional default) or black.

Finally, the user can select what it means to win the game. There are two choices:

The player with the most discs on the board at the end of the game is the winner.

The player with the fewest discs on the board at the end of the game is the winner, which makes for an interesting and different flavor of the game.

Until the game is over, the following sequence of events is repeated:

Display the score (i.e., how many discs of each color are on the board), the board, and whose turn (black or white) it is to move.

The user is asked to make a move, by specifying a cell on the board in which he or she would like to place a disc. It's up to you how a user selects a cell, though you should make it clear in your user interface what the user is required to do.

If the move is invalid (see the rules if you're curious what makes a move invalid), inform the user and ask for another one.

The move is made, discs are placed and flipped, and we're done with this move, proceeding to the next one.

When the game is over, display the score, the board, and who the winner is. Be sure to handle the case when there is no winner (i.e., the number of discs on the board for both players is equal at the end of the game).

At this point, your program can end. If you prefer, you can begin again (by asking the user to specify options again, etc.), but if you do, give the user the opportunity to exit the program if another game isn't desired.

A couple of "gotchas" to be aware of in the game logic

Sometimes, a player will make a move and, as a result, the opposite player will have no valid moves available (i.e., there is no cell in the grid in which the opposite player can move afterward). In that case, the turn reverts back to the player who just moved.

Occasionally, neither player will have a valid move on the board, even though there are still empty cells in the grid. In this case, the game immediately ends and the winner is determined based on the number of discs each player has on the board.

Skills: Python

See more: white and case, input board game, how to win projects, how to make sequence, user interface game, reversi, python game, python based projects, game gui, game center, fewest, number grid columns, computer game gui, python board game, seperate cell, game interface python, game gui python, interesting events, python gui interface, player board game python, program othello game, gui othello, game mode, reversi python, python interface

About the Employer:
( 3 reviews ) Irvine, United States

Project ID: #5908742

Awarded to:

Darflow

La propuesta todavía no ha sido proveída

$222 USD in 3 days
(6 Reviews)
2.8

7 freelancers are bidding on average $233 for this job

mtartar

Hi, From the requirements you specified, the othello game can be written using python with Qt support (using pyqt or pyside module). Qt allows to write console and GUI applications. Qt allows to create nice u More

$250 USD in 6 days
(3 Reviews)
3.6
WaterWebDev1

My name is Duane and I am an application developer with 7 years’ experience in the IT industry. I am the project manager for a small software company Water Web Design LLC. The technologies we use are Html 5, CSS 3, C, More

$155 USD in 3 days
(1 Review)
3.0
DuPingPing

Hi sir. I have many experiences of python programming for 10+years. And It program's most important point is that I must have focus about the algorithm(or called moving rule). You can check my experiences at f More

$240 USD in 7 days
(0 Reviews)
0.0
A2Design

Hello, I'm Anna - a project manager in a Russian-Canadian web development company A2 Design with 14 years of experience. Our team is highly skilled at: 1. HTML5, CSS3, WordPress (multisite) 2. PHP (CakePHP), R More

$300 USD in 4 days
(0 Reviews)
0.0
darkwizard08

I am experienced game developer in Python, you can see my previous game at [url removed, login to view] . Hope we will be able to work together

$244 USD in 4 days
(0 Reviews)
0.0
miljkovicivann

I have experience in making complex games in console. I am studying Software Engineering at Faculty of Electrical Engineering in Belgrade, and we have a lot of projects like this. For the record, I have passed python c More

$222 USD in 5 days
(0 Reviews)
0.0