Question: How do I write a program for an Eternal Quest Program Problem Overview? below is the expectation. Code example would be preferable Solution Idea Gamification
How do I write a program for an Eternal Quest Program Problem Overview? below is the expectation. Code example would be preferable
Solution Idea
Gamification is the idea of turning something into a game. It could include a number of different concepts, but often involves getting badges or awards, as you "level up" with more points.
Consider a program that keeps track of various kinds of goals that people have, which are goals in their real life, such as studying the scriptures each day, finishing a project, or even stopping a bad habit. This program could be set up to keep track of your progress on these goals and offer points, awards, or other celebrations to keep you encouraged to keep working.
A program like this could be more serious, and just keep track of goal progress, or it could be as funny and personal as you would want (for example, a level 13 Ninja Unicorn). The idea is to engage the part of our brain that loves seeing these "wins" and accomplishments as we work on our goals.
No matter what the exact format is, this program could help each of us on our "Eternal Quest" of returning to be with our Father in Heaven.
Specification
Write an Eternal Quest program to track various kinds of goals.
Your program can include whatever kinds of "gamification" components you like, but each program should have the following base functionality.
Functional requirements:
Your program must do the following:
Provide for simple goals that can be marked complete and the user gains some value.
For example, if you run a marathon you get 1000 points.
Provide for eternal goals that are never complete, but each time the user records them, they gain some value.
For example, every time you read your scriptures you get 100 points.
Provide for a checklist goal that must be accomplished a certain number of times to be complete. Each time the user records this goal they gain some value, but when they achieve the desired amount, they get an extra bonus.
For example, if you set a goal to attend the temple 10 times, you might get 50 points each time you go, and then a bonus of 500 points on the 10th time.
Display the user's score.
Allow the user to create new goals of any type.
Allow the user to record an event (meaning they have accomplished a goal and should receive points).
Show a list of the goals. This list should show indicate whether the goal has been completed or not (for example [ ] compared to [X]), and for checklist goals it should show how many times the goal has been completed (for example Completed 2/5 times).
Allow the user's goals and their current score to be saved and loaded.
Design Requirements:
In addition your program must:
Use inheritance by having a separate class for each kind of activity with a base class to contain any shared attributes or behaviors.
Use polymorphism by having derived classes override base class methods where appropriate.
Follow the principles of encapsulation and abstraction by having private member variables and putting related items in the same class.
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
