Ask Question, Ask an Expert

+1-415-315-9853

info@mywordsolution.com

Ask Programming Language Expert

Project Description:

Design and implement an Interactive Connect-Four game for a person to play against a computer. The game is a variation of the regular Connect-Four game with the popout rule.

The rules of the game are as follows:

• There is a 5 x 4 grid as shown below. The grid is initially empty with no balls.
• There are two players: human and computer. The computer has red balls and the human player has black balls. The human player can choose to go first or second.
• Each player takes turn to drop a ball from the top or remove (pop out) a ball of her/his own color from the bottom in one of the four columns.
• The first player to get four balls consecutively in the horizontal, vertical, or diagonal direction (45 or 135 degree) wins and the game stops when there is a winner.
• If the entire board is filled up and there is no winner, the game stops and a draw is declared.

1836_Connect four game.jpg
Use the Alpha-Beta Search Algorithm in your implementation. Every time your program calls the ALPHA-BETA SEARCH function to return an action, your program should display the following statistics for the game tree that has been generated: (1) maximum depth of tree (level of root node= 0), (2) total number of nodes generated (including root node), and (3) number of times pruning occurred within the MAX-VALUE function and (4) number of times pruning occurred within the MIN-VALUE function. As a minimum requirement, your program will run in command line mode that allows the player to specify which column to drop or remove a ball. C++, C#, Python, or Java are the preferred programming languages. If you would like to use other languages, send me an e-mail first.

You can implement one of the followings:

1) Design and implement a graphical user interface (GUI) that displays the 5 x 4 grid on the screen, and use the mouse to pick the column to drop or remove a ball.
2) In the design above, the computer plays the best strategy. Design your program in such a way that the computer does not always play the best strategy so players with different skill levels can play with the computer. The human player can input the level of difficulty (say from 1 to 3) before the start of the game.
3) prepare Source code for your program. Complete documentation and in-line comments are required for your source code.
4) A high-level description of your design and program. There is no need to describe how the Alpha-Beta search algorithm works but you should describe how you define the utility values for terminal states and how your Terminal-Test function works. You should describe how it works.

Programming Language, Programming

  • Category:- Programming Language
  • Reference No.:- M9506

Have any Question? 


Related Questions in Programming Language

Assignmentyou will write a program that acts like a simple

Assignment You will write a program that acts like a simple calculator for binary numbers. You should read in a string of input that has the format: number operator number. Each of the numbers should be presented in two' ...

Programming assignment- implement a udp client and udp

PROGRAMMING ASSIGNMENT- Implement a UDP client and UDP server that support simple timeout-based retransmission with AIMD congestion control: -The client should send as many packets as are in its CURWIN (current window) a ...

This assignment introduces you to the perl language and cgi

This assignment introduces you to the Perl language and CGI programming. You will use your scripting and html skills to build a Perl program that will gather user input to then generate a personal webpage. This program w ...

1 loops the greatest and the least- write a program with a

1. Loops: The greatest and the least- Write a program with a loop that lets the user to enter a series of integers. The use should enter -99 to signal the end of the series. After all the numbers have been entered, the p ...

Purposethe purpose of this assignment is to practice using

Purpose: The purpose of this assignment is to practice using loops, selections, and other basic features of Java in order to solve a real-world problem. Program Description: The Jeddah Broker Company is one of the compan ...

Csis program homeworkwrite a program where the user will

CSIS program homework Write a program where the user will enter a number between 1 and 50 representing a state. The program should display the full name of that state. Assume the states are in alphabetical order, that is ...

Write a program that calculates several possible tips to

Write a program that calculates several possible tips to give to a waiter at a restaurant. Ask the user to enter the total cost of the meal and then calculate a tip at 10%, 12.5%, 15%, 17.5%, and 20%. Write the original ...

Electrical engineering computer methods assignmentq1 write

Electrical Engineering Computer Methods Assignment Q1. Write a program that given the following array, reverses all array elements and then prints them. int x[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; Q2. Write a program to d ...

Engineering programmingi need this now please accurate

Engineering programming I need this now please accurate answers and must be high rated Problem #1 Write a program that asks the user to input the number of miles and convert the miles to kilometers, and then print the ou ...

Write a program to test for the case of a math equation

Write a program to test for the case of a math equation entered via the keyboard using the SWITCH-CASE operator. Types of equations to test for: x + y  x / y   x * y and x - y. The program is to ask for the following: 1. ...

  • 4,153,160 Questions Asked
  • 13,132 Experts
  • 2,558,936 Questions Answered

Ask Experts for help!!

Looking for Assignment Help?

Start excelling in your Courses, Get help with Assignment

Write us your full requirement for evaluation and you will receive response within 20 minutes turnaround time.

Ask Now Help with Problems, Get a Best Answer

A cola-dispensing machine is set to dispense 9 ounces of

A cola-dispensing machine is set to dispense 9 ounces of cola per cup, with a standard deviation of 1.0 ounce. The manuf

What is marketingbullwhat is marketing think back to your

What is Marketing? • "What is marketing"? Think back to your impressions before you started this class versus how you

Question -your client david smith runs a small it

QUESTION - Your client, David Smith runs a small IT consulting business specialising in computer software and techno

Inspection of a random sample of 22 aircraft showed that 15

Inspection of a random sample of 22 aircraft showed that 15 needed repairs to fix a wiring problem that might compromise

Effective hrmquestionhow can an effective hrm system help

Effective HRM Question How can an effective HRM system help facilitate the achievement of an organization's strate