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

Assignmentgoalsto learn about separate compilation classes

Assignment Goals To learn about separate compilation, classes, and vector manipulation. Your Assignment In this assignment the main has been written for you in the file phone_book_main.cpp. You will also notice that a cl ...

Assignmentinstructions the following programming problem

Assignment Instructions: The following programming problem can be solved by a program that uses three basic tasks-Input Data, Process Data, and Output Results. To process the data, it uses loops, arrays, decisions, accum ...

Wite a method to computer the following series mi 12 23

Write a method to computer the following series: m(i) = 1/2 + 2/3 + . . . + i/i + 1 Write a test program that displays the following table: I m(i) 1 0.5000 2 1.1667 . . . 19 16.4023 20 17.3546 Formulas to achieve the abo ...

Assignment research projectwrite an overview of any two of

Assignment: Research Project Write an overview of *any two* of the below topics. Each overview should be between one half and one full page long. You should use a minimum of two sources for each overview; make sure to re ...

Project instructionsinstructions complete the following two

Project Instructions Instructions: Complete the following two assignments as your final project. These two assignments review everything you learned from Chapters 1-8. Assignment 1 Write an application containing three p ...

Assignmentafter informing the user what the program does

Assignment After informing the user what the program does, prompt the user for the number of darts to throw. Also, prompt for a number of simulations (why not have the program simulate this dart throwing more than once). ...

Evaluate a formula for data in a filewe consider the

Evaluate a formula for data in a file We consider the formula y(t) = v0t - 0.5gt2 and want to evaluate y for a range of t values found in a file with format v0: 3.00 t: 0.15592 0.28075 0.36807889 0.35 0.57681501876 0.213 ...

Create an application for a company to save and display

Create an application for a company to save and display customer information. Begin with designing class named Person with the following properties: · LastName (String) · FirstName (String) · Address (String) · City (Str ...

Assignmentthe fourth programming project involves writing a

Assignment The fourth programming project involves writing a program to manage a student database. The interface to the program should be a GUI that looks similar to the following: A combo box should allow the user to se ...

Write a program containing two classes named student and

Write a program containing two classes named student and roster, respectively. The program will maintain a current roster of students within a given course. Student data for the program includes student ID, first name, l ...

  • 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

WalMart Identification of theory and critical discussion

Drawing on the prescribed text and/or relevant academic literature, produce a paper which discusses the nature of group

Section onea in an atwood machine suppose two objects of

SECTION ONE (a) In an Atwood Machine, suppose two objects of unequal mass are hung vertically over a frictionless

Part 1you work in hr for a company that operates a factory

Part 1: You work in HR for a company that operates a factory manufacturing fiberglass. There are several hundred empl

Details on advanced accounting paperthis paper is intended

DETAILS ON ADVANCED ACCOUNTING PAPER This paper is intended for students to apply the theoretical knowledge around ac

Create a provider database and related reports and queries

Create a provider database and related reports and queries to capture contact information for potential PC component pro