Extremely Happy :)
Updated: 6 days ago
I am so pleased with the progress that has been made on my project this week. Since Sunday, I have made some major improvements, and I feel my project is almost complete.
What I have accomplished since Sunday was:
REUSABILITY OF CODE
Admittedly, my code was a bit of a nightmare before I really cleaned it up. When I started working on this assignment, I was very focused on making it work, rather than the neatness of my code. Instead of hardcoding all of my variables and using lots of if-else statements, I set temporary arrays equal to my words array for the book and created a picture array that referenced the file locations of the pictures I want to use in the books. I was able to pass information on from the parent form to the child form as well.
Here is an example of what my code looked like before I started using arrays for the photos:
^This was only for one book, and only 3 pages of photos.
Here is what I have now:
^This code makes a lot more sense than hardcoding everything. I have holder variables called array_var and array_photos which hold the words and pictures of my book. I set those equal to whichever book I clicked, and then from the array_photos variable, I set the pictureBoxes equal to that. This works for any number of books I decide to add to my program, AND it is less lines.
ADDING ANOTHER BOOK
I was able to easily add another book once I finished the reusability aspect. I thought this would be harder than it was, but everything went very smoothly.
ADDING A BACK BUTTON
This was something that was suggested to me in our initial project walkthroughs. I was able to add a back button with ease by using my iterate story function.
DIALOGIC READING
I somewhat accomplished this. There is not much of a dialogue around the book, more as there is having the reader think about what they read and answer a question in response. This is accomplished by clicking the "Review" button in the book, and having them attempt to answer a question. They can then click "Reveal Answer" to see if they were correct or not. I might change this to have different, more open-ended questions as right now, they are very black and white.
SMOOTHING ALGORITHM
I attempted the smoothing algorithm I had mentioned in my previous blog post. I realized why my mouse was not moving... (such a silly mistake), I had to actually attach the method to "MouseMove" on my form itself. The algorithm I used worked somewhat... right now it is sending my mouse all over the screen, but it is definitely setting it to a new position. It also caused really bad glitches in the form, and honestly, I believe that having the user select the first word, and then the entire page be read back to them is much easier for the end user, than having them select every word. Personally, I prefer it because the book is read in the same cadence, and the user is still controlling the form with their eyes by moving between forms, having to select the first word, turning pages, and opening the review page.
Here is a video of my project thus far:
https://www.loom.com/share/cf01defb6cfa428eaca2700fcff992ae
I still have a few bugs, such as when I clicked the second story, it did not read and that is because I forgot to call the array (it is still hardcoded to the first story). It also buffers a little bit when I reach a certain number of words, and I cannot figure out why it does that.