- CS162 projects.
- This is a solo project for the course CS162 - Introduction to Computer Science II.
- Visualize data structures.
- In this project, I will do a data visualization application.
- Init from file
- Randomized data
- Insert / delete / search / update / push / pops
- Highlight code
- Custom
- Data is storing in folder saving/
- SDL2
- SDL_image
- SDL_ttf
- https://github.com/nlohmann/json
- CMAKE 3.12+
- makefile
- C++17
- At first you need to install C++17, makefile, CMake:
sudo apt update
sudo apt install build-essential
sudo apt install make
sudo apt install cmake
- Install SDL2 and external libraries
sudo apt install libsdl2-dev
sudo apt install libsdl2-ttf-dev
sudo apt install libsdl2-image-dev
git clone https://github.com/nlohmann/json.git
cd json
mkdir build
cd build
cmake ..
make
sudo make install
- After installed, download the repository and call make.
git clone https://github.com/qvanle/drDuck
cd drDuck
make
- If you don't like the sound you can turn off it (the button is on the top-left of screen).
- Click "start" button to continue.
- Tutorial and donate are still in developing.

- After press button "open file" there will a box pop up require to enter file name.
- This file must be store in folder saving, if there don't exist that file, the window unable to do anything.
- To create new file, you have to save it with file extension "json"
- Samples are in saving/

- First button will slow down animation
- Second button (still in developing)
- Third button will Pause/Continue animation
- Fourth button will go to next step (when the animation is pause)
- Last button will speed up the animation

- Maximum size of static and dynamic array is 12, otherwise it's 10.
- If the input greater than maximum size, it will ignore the remainder.

- Fonts is stored in folder fonts.
- Graphics is stored in folder graphics.
- Sound is stored in folder sound.
- Attribute folder is use to stored property of buttons, screens, input box, script, Data structures (size, position in screen, font used, graphics used, ...)
- All file *.hpp is stored here.
- All file *.cpp is stored here.
- All files that use for "open file" features is stored here.
- Grading scheme is stored here.
- report is stored here.
- Open docs/html/index.html to run website version of document.
- CMake file
- makefile that use to call CMAKE (this is for my text editor)
- github repository: https://github.com/qvanle/drDuck
- Report: docs/report.pdf
- Documentation: website version, open file docs/html/index.html













