What I have done
This week, I try to combine my prototype with Solomon's. It works but still reminds some technical issues like the robot can not recognize the loop times and the wall. Programming a compiler that translates the pseudocode into real codes is far more difficult than I expected. The previous codes can more or less simulate the if statement and loop function, however, if the nested loop getting complex, the outcomes may turn to be errors. Therefore, I have to refine the codes of the compiler by dividing the input codes into different lists. For now, once the compiler retrieves the input commands, the compiler will catalogize those codes into four lists, loop function list, if statement list, else statement list, and normal commands list. And then, the system implements the list with computer-natural-reading order. This improved compiler can solve the multiple nested loops problem. Whereas there still has a bug that every time the robot will implement the if statement twice. Although the second time, it will automatically fail and not affect the final outcomes, this situation avoid me to activate the sound notification, for example, the robot used to say 'Start checking the wall'. Here is the retrieved list:
The remained issues & works
- The system checks the if statement twice
- Can't check the marks (wall detection) multiple times, otherwise, error calls "call before loop get ready" will turn up.
- We have designed the digital maps but not make the physical one and we are still struggling with the material of the map.
- For the annotated portfolio one, I have finished the texture part, and I decide to use the pixel style as the theme of the website.
Plan for the last ten days
Tomorrow, I will meet Solomon again and try to figure out the physical maps. And combine our prototypes to have user testing. The detailed meeting agenda will be recorded in the next journal. I gonna fix the technical problems before 5th June, no extra time for this part, if I can't fix the functions, there will be using simulation in the final projects(as it is not the main purpose of our project that the robot is so powerful that can self solve all the demanded commands). We have to focus on our initial purpose that makes the project as the exploration for the creative programming learning, and meanwhile, contribute to eliminating the negative impression of novice to start learning to program. The user testing and effectiveness of the system are the key points that we must consider.