An interactive painting experience for kids - Paint for Kids is designed to spark imagination and creativity.
Paint for Kids is a fun and easy-to-use digital painting tool designed specifically for kids. With a simple and intuitive interface, kids can unleash their creativity and let their imagination run wild. This project is built using C++ and object-oriented programming. The application is integrated with an open-source graphics library for easy handling of GUI (e.g. drawing figures, reading mouse clicks, etc.).
- Your system must have a C++ compiler installed.
- The application uses an open-source graphics library that you will use to easily handle GUI, so make sure that the required libraries are installed on your system.
- Clone the repository to your local machine using the following command:
$ git clone https://github.com/MoIbrahim10/Paint-for-Kids.git
- Navigate to the project directory:
$ cd Paint-for-Kids
- Compile the project using the following command:
$ g++ main.cpp -o Paint-for-Kids
4.Run the application:
$ ./Paint-for-Kids
- Enjoy playing with the colorful and educational game for kids!
The Draw Mode supports the following features:
- Add Figure:
- Add a new square
- Add a new ellipse
- Add a new hexagon
- Change Current Colors:
- Change the current drawing color
- Change the current filling color
- Change the window background color
- Select/Unselect Figures:
- Select a figure by clicking inside the figure or on its border
- Highlight the selected figure
- Print information about the selected figure on the status bar (ID, start/end points, center, radius, width, height, area)
- Unselect a figure by re-clicking on it
- Change Figures Colors:
- Change the drawing or filling colors for the selected figure
- Delete Figures:
- Delete the selected figures
- Resize Figures:
- Resize the selected figures by a factor of 1/4, 1/2, 2, or 4
- Send to back/Bring to Front:
- Send the selected figure to the back or bring it to the front
- Save Graph:
- Save the information of the drawn graph to a file
- Ask the user for the filename to create and save the graph in (overwrite if the file already exists)
- Load Graph:
- Load a saved graph from a file and re-draw it
- Ask the user for the filename to load from
- Prompt the user to save the current graph if there is already a graph drawn on the drawing area
- Switch to Play Mode:
- Load the tool bar and status bar of the play mode
- Undo and Redo Action:
- Undo and redo all draw mode actions except save and load, up to 100 actions
- Exit:
- Exit from the application after confirmation
- Prompt the user to save the graph before exiting if the drawn graph is not saved or changed after the last save
The Play Mode supports the following features:
- Pick & Hide:
- Pick a specific figure
- Hide the picked figure
- Count the number of valid and invalid picks done by the user
- Display a grade when the user picks all similar figures
- Pick figures based on:
- Figure type (e.g. pick all ellipses)
- Figure fill color (e.g. pick all red figures, all non-filled figures)
- Figure type and fill color (e.g. pick all blue hexagons)
- Restart the game or start another game at any time
- Switch to Draw Mode:
- Switch back to the Draw Mode at any time
- Restore the original graph
- Discard all changes made in the Play Mode
We welcome contributions to Paint for Kids. If you have any suggestions or bug reports, please open an issue or submit a pull request.