Henry's Journal

May 28, 2008

I started today by finishing the implementation of the methods for the Events tutoral world. This world will have two birds and three buttons. One of the birds will be controlled by the keyboard, and the other will be controlled by button presses. A third button will control whether the other two buttons are visible, to break any false impression that clicking on buttons can only affect non-button objects. Here is a link to the completed tutorial. I am starting to implement a third tutorial, the third one on the list on the tutorials page. This third tuturial involves various amusement park animations, some of which will be interrupted when the user presses a key, and others which will only function if a particular event has already happened.


May 29, 2008

I started today by finishing the implementation of the Alice program for the new tuterial. Here is a link to the completed implementation. As I finished up this project, I realized that, while the two topics in the tuturial were related, they were not tied together and it would be easier to address them separately, although I could use the same Alice project on both. I am currently in the process of splitting up the tutorial into two clear technique tutorials instead of one messy blob. I have cut the program a lot to make the Interrupt tutorial, which is more condensed than previous tutorials. I think I may follow up on it with another example. Also, I spent some of the afternoon perusing this appendix, which discusses, among other things, how to program Alice with 3D coordinates and the issues of unenforced encapsulation and calling custom methods in Alice. He proposes that Alice is an object-based language, but not really an object-oriented language due to its limitations. He provided example worlds for moving objects using XYZ coordinates in Alice, which I found to be highly instructive, since I didn't previously know how to use the Position type in Alice, or how to implement coordinate-based motion.


May 30, 2008

I began today by finishing up the interrupt tutorial, presenting and explaining an example of when it is not worth it to try to stop a complex animation. I am now working on the easier tutorial: How to restrict which user-events trigger actions at a given time in the Alice world. I might add how to make one button do two things at different times in the game as well. After some considering, I have decided to make a separate Alice world for this tutorial, because there is too much extra stuff in the Amusement Park world. In the the process of making that second tutorial, I learned about the fine distinction between the 'isShowing' property and the 'opacity = 100' way of making objects invisible. The difference is subtle and does not come up unless you do what I tried to do. Apparently Alice does not register mouse clicks on objects made invisible by setting isShowing to false, while it DOES register mouse clicks on objects made invisible by setting opacity = 0. I finished today by finishing the tuturial. It is linked from my main tutorial page. I'm considering, for later, extending the Alice world in this tutorial to a tutorial about how we might repeatedly use the enter key at the completion of every level to advance to the next level.


May 31, 2008

I got tied up this weekend so I couldn't come in. I will make up Tuesday's work next Saturday, if that's okay.


My Alice Home Page

Professor Rodger's Home Page

My Home Page