FlipFlaps fltk project, C/C++ Programming

Assignment Help:
The project is to design and write a C++11/FLTKgame program with a graphical user interface.The game is based on "pancake sorting," as described at
https://en.wikipedia.org/wiki/Pancake_sorting, which actually has some mathematical significance. (Note that Bill Gates was a freshman at Harvard when he and one of his professors wrote a research paper about this!)

The heart of the game is a centered stack of pancakes, each one a different size. The goal is to get the stack into order (from smallest on top to largest on bottom) by flipping over the top partial stack of some number of pancakes. See the Wikipedia article for an example flipping the top three pancakes. Since we''re flipping flapjacks, the game is named "FlipFlaps
The program must:
1. Start with an attractive splash screen showing (at least) the name of the game ("FlipFlaps"), the team number, and the team members'' names. Feel free to add team members'' pictures, animations (see extra credit section below), etc.
2. Explain how to play the game.
3. Ask for the player''s initials and display the top 5 scores read in from the disk (see item 6 below) followed by the player''s initials. The top scores file starts out empty.
4. Ask for a difficulty level from 2 to 9; this is the number of pancakes. Each pancake is a different size. Display the pancakes in a centered stack in a random order. Hint: Look up "permutation" at cplusplus.com.
5. Allow the player to select where to insert the spatula(below some pancake); you may decide to have a button beside each possible spatula position, or choose some other way to indicate where to flip. When the player clicks the "Flip!" button, flip over the partial stack above the spatula and redraw the screen.
6. If the pancake stack is now in order, from smallest on top to largest on the bottom, calculate the player''s score (see "Scoring" below) and display it next to the player''s initials. Sort the list of 6 scores and write the top 5 out to disk with initials. Then the next time the game is played that file will be read in and displayed in step 3 above. Note: The game is also over if the player makes too many flips (see "Scoring" below).Ask the player if they want to play another game or quit.

Scoring: The instructors will provide a function named find_solution which calculates the minimum number of flips needed for a particular stack of pancakes. The score for one game is 100 minus 10 times the number of unnecessary flips more than the minimum, multiplied by the difficulty level.For example, if a particular stack of 6 pancakes could be flipped into order with 5 flips (according to the find_solution function), but the player takes 7 flips, then the score is [100 – 10 * (7 – 5)] * 6 = 480. The score for a game cannot go below zero, so in this case the game ends after 15 flips even if the pancakes are still not in order.
Display "Can be done in xx flips" (use the information from find_solution). Also display a running count of how many flips so far, and the player''s score so far.

Related Discussions:- FlipFlaps fltk project

Operators and their expression in cpp, Operators in C++: All C operator...

Operators in C++: All C operators are valid operators in C++ also.  Besides C++ has developed some new operators like Operators and their Expression: 1.      Logical op

Define a function in c program, Define a function in c program: int f1...

Define a function in c program: int f1() { static int x=10; return x; } int f2() { int y=5; return y; } extern int z; void f()     {

What are arrays, What are Arrays? Numerous applications require the pro...

What are Arrays? Numerous applications require the processing of multiple data items that have identical characteristics. In such circumstances it is frequently convenient to p

Determine the size of operator, The size of () operator This is a pseud...

The size of () operator This is a pseudo-operator given by the language, which returns the number of bytes taken up by a variable or data type. The value returned by this opera

Car rental payment system, payment system, in c++ only..just use the printf...

payment system, in c++ only..just use the printf or scanf.please

Write code to implement constructor, Study the following  class diagram, ad...

Study the following  class diagram, additional information  and answer  the  questions that follow: MovieTicket movieName: string TicketPrice: doub

Program to convert fraction to decimal, Program to convert fraction to deci...

Program to convert fraction to decimal: int main() {                 float num, denom;     // numerator and denominator of fraction                 float value;

C, Write a program to find the area under the curve y = f(x) between x = a ...

Write a program to find the area under the curve y = f(x) between x = a and x = b, integrate y = f(x) between the limits of a and b. The area under a curve between two points can b

Draw a picture using line - c program, Draw a picture using line: void...

Draw a picture using line: void main(void) {     int   driver = DETECT,mode;     int   x[10],y[10];     int   x_center = 360, y_center = 180, rad = 100;     int

Define procedure to input integers and returns the average, The procedure +...

The procedure +, * and list take arbitrary numbers of arguments. One way to define such a procedure is to use define with dotted-tail notation. In a procedure definition, a paramet

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd