Computer science assignment, please use C++ and Opencv to finish it

For this assignment, you need to implement two different search algorithms to solve a puzzle problem. For this puzzle game, the GUI (graphical user interface) framework is provided that is is developed by C++ and OpenCV library. The technical details are described in the source files of the project. Below is a highlight of the structure.
How to play:
After you run the project, you should be able to see a puzzle game coming out. You can use your mouse to select one piece of sub-image by one click and move it to the blank area by clicking the blank area. At any time, you can hit “s” key to search a solution, which you need to implement. 
Classes Involved:
1. VisualDisplay – This class deals with all the graphical or visual stuff, including pattern generation from an image, user mouse/keyboard interface, ext (You do not need to modify this class).
2. RandomGenerator – This class is used to generate a random sequence of numbers (from 0-8), which are used as the orders of different pieces of an image that present different patterns. (You do not need to modify this class).
3. SolutionSearch – This is the class that provides a solution for a given puzzle. The solution can be found by different search algorithms. (You are required to implement the functions in this class).
Requirements:
You need to implement the a functions in the “SolutionSearch.cpp” file: void SolutionSearch::AStarSearch(int *data, vector<int> &solution)
(1) For the A* search you need to maintain g(x) and h(x) for each node. (25%)
(2) For the heuristic function h(x), you need to use the Manhattan Distance as the metric. (25%)
(3) Use the correct data structure making sure the node with the smallest f(x) = g(x) + h(x) gets expanded first (25%)
(4) Terminate the search when the first goal node is expanded from the memory (15%)
(5) Successfully find the optimal solution. (10%)
What should be submitted:
You can put all your code inside the function “AStarSearch()”. But if you want to create any additional data or functions, you are suggested to put all the created data or functions inside the “SolutionSearch” class, which are considered as the members of this class. So you just need to submit two files: “SolutionSearch.h” and “SolutionSearch.cpp” from the Isidore online system.
Explanation of “AStarSearch()” Function:
For this function, there are two input parameters: the first parameter is the random order of the 9 numbers, which you need to re-organize to make them into the correct order; the second parameter is actually an output. It returns or stores the moving path of the “empty space” that it is involved to make all the sub-images in the correct position. The integer sequence variable “solution” should store all the steps along the “Optimal” path.
For example: 
Input:  data = {0, 4, 1, 3, 8, 2, 6, 7, 5 }; 
Goal:  make it into the correct order {0, 1, 2, 3, 4, 5, 6, 7, 8} 
You need to make the following changes on the number 8, since the number 8 represents the empty space, moving 8 to its neighboring numbers equals to moving the corresponding number to the empty space. Below it shows a demo of the steps: 
  0 4 1   swap with 4       0 8 1   swap with 1       0 1 8     swap with 2             0 1 2     swap with 5       0 1 2
  3 8 2  —————–>    3 4 2  —————–>      3 4 2  —————–>           3 4 8  ——————>     3 4 5  ————> End 
  6 7 5                             6 7 5                               6 7 5                                   6 7 5                               6 7 8 
So from this example, the right path should be {1, 2, 5, 8}. 
WHY? You may thought it was {4, 1, 2, 5}, since the number 8 has swapped with them in this order. That is true. However, we do not care which number it swapped with, but which position the number 8has gone through. As the numbers can be in any positions during different time, which give no hint about where the number 8 is. In contrast, the positions are fixed. So we assume the positions are in the same order as an increasing sequence: 
[0]  [1]  [2] 
   Fixed Position =    [3]  [4]  [5] 
                                 [6]  [7]  [8]
Here, I use “[]” to distinguish the positions from the numbers. So now you can see, the number 8 starts from position [4], then swapped with number 4, which goes to the position [1]; then swapped with number 1, which goes to the position [2]; then swapped with number 2, which goes to the position [5]; finally, swapped with number 5, which goes to the position [8]. So the path you should assign to the parameter “&solution” with the path sequence {1, 2, 5, 8}.

Calculate the price
Make an order in advance and get the best price
Pages (550 words)
$0.00
*Price with a welcome 15% discount applied.
Pro tip: If you want to save more money and pay the lowest price, you need to set a more extended deadline.
We know how difficult it is to be a student these days. That's why our prices are one of the most affordable on the market, and there are no hidden fees.

Instead, we offer bonuses, discounts, and free services to make your experience outstanding.
How it works
Receive a 100% original paper that will pass Turnitin from a top essay writing service
step 1
Upload your instructions
Fill out the order form and provide paper details. You can even attach screenshots or add additional instructions later. If something is not clear or missing, the writer will contact you for clarification.
Pro service tips
How to get the most out of your experience with MyhomeworkGeeks
One writer throughout the entire course
If you like the writer, you can hire them again. Just copy & paste their ID on the order form ("Preferred Writer's ID" field). This way, your vocabulary will be uniform, and the writer will be aware of your needs.
The same paper from different writers
You can order essay or any other work from two different writers to choose the best one or give another version to a friend. This can be done through the add-on "Same paper from another writer."
Copy of sources used by the writer
Our college essay writers work with ScienceDirect and other databases. They can send you articles or materials used in PDF or through screenshots. Just tick the "Copy of sources" field on the order form.
Testimonials
See why 20k+ students have chosen us as their sole writing assistance provider
Check out the latest reviews and opinions submitted by real customers worldwide and make an informed decision.
Psychology
Thank you!
Customer 452545, February 6th, 2021
Marketing
Thank you for correcting the work and using the template provided
Customer 452773, October 10th, 2024
ACC/543: Managerial Accounting & Legal Aspects Of Business
EXCELLENT JOB
Customer 452773, January 10th, 2024
Criminal Justice
This has been the greatest help while I am recovering from an illness. Thank your team so much.
Customer 452671, May 2nd, 2021
ACC543MANAGERIALACCOUNTINGANDLEGALASPECTS
excellent
Customer 452773, January 25th, 2024
Business and administrative studies
Thank you for your hard work and effort. Made a 96 out of 125 points Lacked information from the rubic
Customer 452773, October 27th, 2023
Human Resources Management (HRM)
excellent job
Customer 452773, July 17th, 2023
Nursing
Impressive writing
Customer 452547, February 6th, 2021
Human Resources Management (HRM)
excellent
Customer 452773, June 25th, 2023
Business and administrative studies
excellent job
Customer 452773, March 12th, 2023
management
Did an excellent job once the instructions werre followed
Customer 452773, October 31st, 2024
Business and administrative studies
Thank you for your hard work
Customer 452773, October 19th, 2023
11,595
Customer reviews in total
96%
Current satisfaction rate
3 pages
Average paper length
37%
Customers referred by a friend
OUR GIFT TO YOU
15% OFF your first order
Use a coupon FIRST15 and enjoy expert help with any task at the most affordable price.
Claim my 15% OFF Order in Chat
Close

Sometimes it is hard to do all the work on your own

Let us help you get a good grade on your paper. Get professional help and free up your time for more important courses. Let us handle your;

  • Dissertations and Thesis
  • Essays
  • All Assignments

  • Research papers
  • Terms Papers
  • Online Classes