I started the day by this time carefully going through the lectures and Alice worlds in the CS4 website.
Next, I began working on an Alice game, which I hope we can use as a sort of extended exercise or exampl or example.
Here is an incomplete version.
I was going to make a generic walker method, but I first examined the different "human characters." It turns out, unfortunately, that not only are they all subdivided differently, even those who have the same subdivisions have different names for the part and/or different capitalizations.
Here is a world populated with all sorts of creatures that are supposed to be human-like.
I think the lack of consistency is coming from the fact that each of these characters were created by different individuals.
I put the walk project aside and continued working on the buffalo hunt program.
I finished the implementation, but there are still a couple of bugs I am trying to debug.
Here is a link to a description and some screenshots.
Today, I started by debugging the Buffalo Hunting program. I found it helped to export the code to HTML so that I could view it as one large mass, without having to navigate through Alice's point-and-click interface while reading for bugs. Apparently the bug where I could not attack after some number of times arose because I had called the method moveBuff in my attack code, when I had really meant to orient the buffalo only. Since the method contained an infinite loop, I could not use the attack button again. I fixed
this by spliting up the orientation and the move part of moveBuff.
The completed code, along with a few parts I wanted to highlight for teaching purposes, are available on the description page.
Here is a direct link to the completed demo.
I started the afternoon thinking it would take five minutes to convert the buffalo hunting game into a buffalo catching game. Unfortunatley, it appears that the Alice gallery is missing a Rope class, as well as any appropriate nets for this purpose. Since I can't replace the graphic, I will keep the original graphic but change the starting text to "capture" instead of "kill."
Next, I followed your suggestion to try the sorting classwork, Classwork 20, from the Fall07 Alice class. It took me approximately an hour and ten minutes to finish the steps, mostly because of the Drag-and-Drop time. I think the directions were pretty clear, although they could be very difficult if a student was behind in everything covered up to that point.
Finally, I began to write a design for the college simulation game, much as I had done with projects in Professor Duvall's class. Here is a link with an early description.
I got to work a bit late today, and I started by continuing to work on the design for my college-simulation game, which will use many conditionals.
After having made enough of the outline to get started, I began laying out the scene in Alice, starting with a classroom. The blackboard and the chairs were not too bad, but getting the character into a reasonably convincing sitting posture was more difficult than I anticipated.
I had two scenes setup and my whole project just went out the window when Alice save failed, and it created no backups at all...I think I will stop working on a linux system now. =(
I really did not want to start over, so I read the error, unzipped the a2w file, and tinkered around with the XML for about an hour. Miraculously, I managed to recover my project.
I spent the remainder of the day setting up the rest of the "places" for the college student to visit. I also wrote the "init" methods for each location.
Since Alice apparently cannot do screenshots in Linux, here is a link to the file in its current state. Some of the buildings are not ideal; I discovered today that Alice doesn't have a building that really looks like a library.
Note: It seems that Alice save-crash is not actually the end ... if you make a few changes to your code and attempt another save (even as it is red backgrounding you), sometimes it will save correctly then.
I started to work on the implementation of the game today, starting with the user input at each location. I took a break from the implementation by reading
Mercedes' work, and looking at her code.
As with other papers in the background readings, she discusses how learning to program is frustrating because syntax errors prevent compilation, and that the "debugging process can be so very time consuming." I would only mention that the drag-and-drop process can be very time-consuming as well. =P
It was nice to learn more of the background of our particular program though, since it gives me a better sense of our purpose for this summer. Also, the description of the board game she had intended to make intrigued me; it sounded like it would have been fun, but indeed was too long for an Alice program. Perhaps it would be more feasible when Alice 3.0 comes out with the Java interface.
Then she mentioned having a problem with pausing the animation while she displayed instructions. While I did not see the problem in the final implementation of the quiz, I think she could have used a global boolean to control whether the animation happened.
When I downloaded Mercedes' code and ran it on a this linux machine, all the graphis were out of place. When I put it on my laptop, everything was fine.
It was at that point that I grew concerned about my own program - would it be messed up in windows, since I had designed it in Linux Alice? Apparently some of the graphics were off in different coordinates then they should have been, but it still looked reasonable in Windows. I adjusted the graphics so that they would be correct and in Windows, and then tested a couple of other things.
During some of those latter tests, I discovered that Alice doesn't force "Ask user for a number" to give a number. It simply crashes if the thing is not a number. I am working on how to resolve this issue, since there is no try...catch in Alice.
As I continued to implement the College World project, adding an introductory billboard, I discovered a wonderfully realistic aspect of Alice that I'm surprised I did not notice before. The world's light has a DIRECTION. When I turn the Billboard one way, it appears to be more lighted than when I turn the billboard the other way. When I added user input and moved between editing different methods, Alice gets the urge to ask me for input WHILE I AM EDITING, often multiple times per method edit. It was sort of like being asked to type a password to edit the code...interesting at first, but time-consuming when it occured continuously.
I have completed the College Simulation game. It uses many conditions and variables, but no loops.
Here is a link to the world.
Finally, I have started a page to begin compiling materials. It is temperarily hosted here.
I started by thinking of more ideas for shorter tutorials, on both Alice and programming. These are meant to be relatively easy exercises to teach a specific technique in Alice. I created a tutorial on the camera use and dummy dropping, which is available on the main tutorial page, and began to work on a second tutorial on events in Alice. I'm currently in the process of coding the methods that will be triggered by events, since this tutorial is about learning to use events rather than methods. I attended the noon talk on Augmented Reality today.