• Home
  • Blog
  • Write and describe a program that plays Breakthrough against a human opponent, with either the program or the human playing first. The program should, after each move, display the current state of the board, and it must employ a static evaluation function

Write and describe a program that plays Breakthrough against a human opponent, with either the program or the human playing first. The program should, after each move, display the current state of the board, and it must employ a static evaluation function

0 comments

The program must be written in Java language. Your program may employ any of the algorithms for board evaluation and move selection — minimax, alpha-beta, forward pruning, etc, and any modifications that you think are appropriate. Note that the major operations of the program — and the major challenges — are these:

  • Representing the game board and moves on it.
  • Displaying the game board and interacting with the opponent.
  • Evaluating board configurations: the static evaluation function.
  • Organizing the search of the game tree on which move selection is based.

Please answers to the following questions about your program along with the Java code and result

  1. How is the board represented, and how are moves on the board implemented?
  2. How does the program interact with its human opponent?
  3. How does the program’s static evaluation function (SEF) evaluate a board configuration?
  4. How does the program use the SEF values to decide what move to make?
  5. How well does the program perform against human opponents.

Breakthrough is a game of abstract strategy invented by Dan Troyka in 2000. It is played on a rectangular board, originally 7×7, with pieces of two colors. We implement the 8×8 version, which won a game design prize in 2001. A number of web pages describe the game and its rules, which we summarize here.Initially, each player’s 16 pieces occupy the two rows of the board nearest the player. In a player’s turn, one piece is moved one position forward or diagonally forward. An opponent’s piece may be captured only by diagonal forward moves, and captures are not mandatory. The winner is the first to move a piece to the opponent’s back row.

About the Author

Follow me


{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}