Repeat?

Alan Kay Alan.Kay
Fri Apr 18 14:54:48 PDT 2003


This allows the pages in a book to be of a difference size. However, 
there is also a menu command on the book to make all the pages in the 
book the size of the page that is currently showing. I would advise 
looking at the balloon help in the book UI (at the top), to click on 
the "more options" button (diamond shaped to the right) and to look 
at the main menu (the big dot in the center).

If you want to have separate environments for etoys on each page, 
these can be obtained from the "widgets" flap and have the label 
"scripting".

Cheers,

Alan

-------

At 11:17 AM -0800 2/20/03, Kim Rose wrote:
>Hi, Phil -
>Yes..a "book" would work for want you want.  When resizing be sure 
>you have selected the handles for the "page" -- that is the part of 
>the book which can be resized (as opposed to the "book").  Clicking 
>once (and holding alt or Command) will reveal the handles for the 
>"book".  Clicking a second time will show the handles for the "page" 
>-- this is what you will/can resize. (Clicking on the top will 
>reveal handles for the "page controls".)
>  -- Kim
>
>
>>OK, now that I've gotten control of the speed my object moves and I 
>>can see (using a watcher) the value of the slider which determines 
>>the number of "steps" my object moves,  I'm ready to move on to the 
>>next stage of this project. I need another "page" or "screen." What 
>>are my options here? I found the Book element in the Supplies bin. 
>>I haven't done it yet, but I'm assuming I can drag all of the 
>>objects I've created thus far on to a page in the book and then 
>>create new pages. I'm having difficulty resizing the page, though. 
>>The standard resizing tool isn't working...I've looked through the 
>>Book menus but haven't found an option that allows me to resize.
>>
>>On Wednesday, February 19, 2003, at 11:48 AM, Alan Kay wrote:
>>
>>>Hi Phil --
>>>
>>>
>>>
>>>At 11:00 AM -0500 2/19/03, Phil Firsenbaum wrote:
>>>
>>>Thanks much for the help with repeating a script...I think I've 
>>>got the idea now. Any script can be repeated by using a 
>>>conditional (test) statement (if that's the right nomenclature).
>>>
>>>
>>>Not exactly. Any script can be repeated (period). You can get it 
>>>to repeat by clicking on the clock (on the script, in the viewer, 
>>>or on the go, step, stop button found in "Widgets"), or by holding 
>>>down where it says "normal" and choosing "ticking", or by sending 
>>>it a message - to start up script "car foo":
>>>                  car start script foo
>>>These tiles are found under the category "scripting".
>>>
>>>Looking at your picture, I see that the scripts "startRepeat" and 
>>>"setup1" are both paused, which means they must once have been 
>>>ticking. But neither of these scripts should be looped. They are 
>>>both designed to be run once, they should be set to "normal".
>>>
>>>So, here's my project thus far. Activating the first script moves 
>>>the object (Roam1) based on the value of the slider (light blue 
>>>rectangle). Now, I'd like to be able to show that value without 
>>>using the object's Viewer.
>>>
>>>
>>>Go into the viewer and look at the menu associated with the 
>>>slider's "numericValue" property. The menu includes choices for a 
>>>"simple watcher" and a "fancy watcher". The first just gives you a 
>>>number that will reflect the the value of the property, the second 
>>>will give you a UI for this value that includes a label and the 
>>>ability to set the value from the UI (this is the option that is 
>>>usually most useful for children).
>>>
>>>  My initial goal with this project (in addition to learning how to 
>>>create it for myself) is to have 1st and 2nd graders work with 
>>>estimating distance and number values...they will set the value of 
>>>the slider as they attempt to get the object to land in the box at 
>>>the top of the track.
>>>
>>>
>>>forward 30 is too long a distance -- it will be about 1/3" on some screens.
>>>
>>>I've also been trying to slow down the movement of the object so 
>>>that kids can see more clearly what is happening. Haven't figured 
>>>that one out yet either.
>>>
>>>
>>>Press down on the clock in a script and hold it until a menu 
>>>appears. This will allow you to set how many ticks per second the 
>>>script will execute. (This can also be programmed by hand using a 
>>>variable to hold a delay count.)
>>>
>>>Another way to slow it down and get some precision would be to 
>>>just do "Roam1 forward 1".
>>>
>>>I think there might be a somewhat richer approach to this project, 
>>>that allows the children to do some scripting rather than just use 
>>>what the teacher has provided. Let me know if you are interested 
>>>in exploring this.
>>>
>>>Cheers,
>>>
>>>Alan
>>>
>>>
>>>
>>>
>>>
>>>On Monday, February 17, 2003, at 10:38 PM, Alan Kay wrote:
>>>
>>>
>>>Well, each script can repeat over and over -- so this is quite 
>>>doable. However, there is not a case tile (like Test) for 
>>>parameterized Repeats (though we could certainly make one). 
>>>However, I think that part of the wide spread success of the 
>>>current system is how few features it has -- it relies mostly on 
>>>having a good object system plus a few programming features.
>>>
>>>
>>>
>>>Here's how to do it. Suppose you know how many steps of 30 that 
>>>need to be traversed and you have that number in a variable called 
>>>"steps"....
>>>
>>>
>>>
>>>Then you just have to build the three cases of the loop -- 
>>>startup, looping, and ending.
>>>
>>>
>>>
>>>
>>>
>>><image.tiff>
>>>
>>>This can be done in one script, but it is clearer and cleaner to 
>>>use two scripts.
>>>
>>>
>>>
>>>There are many ways to write these scripts. This one makes it 
>>>quite clear how many iterations have been done.
>>>
>>>
>>>
>>>Now, having shown how to do this, it is rarely the case that a 
>>>student will need to write a script like this, especially for 
>>>robots. You are much better off having them write a script that 
>>>finds the destination rather than measures it. This is simpler, 
>>>clearer, and more general. You can see some of these ideas in the 
>>>feedback projects on squeakland.org (particularly those that get 
>>>cars to follow roads). Here is a simple example of what I mean:
>>>
>>>
>>>
>>><image.tiff>
>>>
>>>
>>>
>>>This script will work regardless of the distance between the two blobs.
>>>
>>>
>>>
>>>Cheers,
>>>
>>>
>>>
>>>Alan
>>>
>>>
>>>
>>>---------
>>>
>>>
>>>
>>>At 8:46 PM -0500 2/17/03, Phil Firsenbaum wrote:
>>>
>>>
>>>
>>>I'm working on a little project (i'll use it with younger students 
>>>if I get it to work). It involves getting an object move a certain 
>>>number of "steps" (each being a forward 30) in order to go from 
>>>one point to another. It's actually a simulation of work being 
>>>done with Roamer floor robots.
>>>
>>>Anyhow I want the students to be able to figure out how many 
>>>"steps" the object needs to take...I thought if I could script a 
>>>repeat tile I could accomplish this part of the project pretty 
>>>nicely. I haven't seen anything about repeats, though, in the etoy 
>>>environment. Does it exist? If not, any thoughts anyone?
>>>
>>>Thanks,
>>>
>>>Phil
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>--
>>>
>>>
>>>
>>>--
>>>
>>
>
>
>--


-- 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://squeakland.org/mailman/private/squeakland/attachments/20030220/68cfc641/attachment.htm


More information about the Squeakland mailing list