[etoys-dev] Re: [sq-education] repeat-tile

Steve Thomas sthomas1 at gosargon.com
Wed Apr 7 21:20:00 EDT 2010


Okay, I just found a use for the Repeat tile. The 40 maths shapes
challenges<http://billkerr2.blogspot.com/2009/08/40-maths-shapes-challenges.html>
  posted by Bill Kerr.
Christine did a really nice project on this Creating
Polygons<http://www.squeakland.org/showcase/project.jsp?id=9444>


I am sure it could be done without a Repeat Tile, but it would not be as
easy and from an educational standpoint explicitly using a Repeat tile
instead of copying the tiles N times or using a variable to count the
iterations before turn seems preferable.

Stephen.

On Sat, Mar 27, 2010 at 7:16 AM, Bert Freudenberg <bert at freudenbergs.de>wrote:

> If someone feels this is important, please vote up the issue at
>
> http://tracker.squeakland.org/browse/SQ-684
>
> - Bert -
>
> On 27.03.2010, at 04:46, Steve Thomas wrote:
>
> Upon further reflection and reviewing my projects I am okay with removing
> the repeat tile.
>
> Turns out I removed the Repeat tile in all but one of my projects and for
> the last one, I figured out a way to do it using ticking scripts.
>
> Stephen
>
> On Fri, Mar 26, 2010 at 11:36 AM, Bert Freudenberg <bert at freudenbergs.de>wrote:
>
>> Steve,
>>
>> the issue at hand is that I propose to hide the repeat tile from the
>> viewer. More than any other tile it confuses people.
>>
>> We just today got another question why it did not behave as expected on
>> the German Etoys list. So I suggested she asked the education team what they
>> thought of the idea to remove it.
>>
>> It's quite natural to expect that a repeat tile works similarly to a
>> "ticking" script. However, it is a totally different beast. It is as if you
>> inserted the repeating tiles in the script multiple times. All the tiles in
>> a script are executed in the same time step. There is no way to wait in the
>> middle of a script.
>>
>> Scratch has completely different execution semantics. There, a script can
>> be stopped in the middle, and other scripts run "in parallel".
>>
>> Executing scripts in a timeless fashion was a conscious design decision I
>> think - but I was not involved with that so I let others comment.
>>
>> Adding the ability to wait inside a script would be a hack at best. I'm
>> not sure we should give in to the desire of people to add that. It was
>> possible in the Tweak version of Etoys, which had been redesigned from
>> ground up.
>>
>> The only thing I can think of that would fit with current Etoys is to add
>> a tile that can schedule a future message. E.g. "car do: somescript after: 5
>> seconds". Not exactly easy to implement (because it would take 2 arguments)
>> but might be nice to have.
>>
>> The other solution is to just build your own "animation" tiles - Etoys is
>> powerful enough for that. No need to even resort to Smalltalk, ticking
>> scripts is all you need.
>>
>> In any case, "repeat" is too confusing with too little utility so I'd like
>> to get rid of it in the default viewer.
>>
>> - Bert -
>>
>> On 26.03.2010, at 15:54, Steve Thomas wrote:
>>
>> Rita,
>>
>> If I put three sounds in a script without any repeat tile, you experience
>> the same problem (ie: the three sounds played at the same time), so I do not
>> believe the problem is with the Repeat tile.
>>
>> The more general problem is how do you play a sound (of arbitrary length,
>> for example recording lines in a script) in sequence.
>> I have experienced the same problem/frustration in Etoys myself. Scratch
>> solves this problem by providing two tiles:
>>
>>    - "play <sound>" - starts the sound playing and immediately executes
>>    the next tile (as Etoys "make sound <croak>" currently does
>>    - "play <sound> until done" - plays the sound until done then executes
>>    the next tile
>>
>> Another nice feature of is the "wait" tile which allows you to pause a
>> script for a period of time which is useful in animated cartoons which
>> really motivate kids and I believe is one of the reasons kids prefer
>> Scratch.  Another nice feature I would like to see to help sequence events
>> is the implementation of a "wait" tile which pauses the execution of a
>> script for a period of time at the wait tile.
>>
>> FYI to solve your problem (how to play a sound or sequence of sounds one
>> after the other) you can create a script that ticks for some unit of time
>> (lets say 1/2 second) and have a counter that increments upon each iteration
>> of the script. Then at the appropriate time/count you can play the next
>> sound in the sequence.  I did something similar in the Cartoon example (The
>> Holder Episosde 1v2<http://www.squeakland.org/showcase/project.jsp?id=9497> which
>> due to the joys of the squeakland website, I have not been able to make
>> public).
>> Frankly sequencing was cumbersome in that I had to know how long each
>> recorded sound was and would have preferred a simpler method.
>>
>> I have included the developer list to get their comments as well.
>>
>> Stephen
>>
>>
>>
>> On Fri, Mar 26, 2010 at 9:17 AM, Rita Freudenberg <
>> rita at isg.cs.uni-magdeburg.de> wrote:
>>
>>>
>>> On Mar 26, 2010, at 2:03 PM, Steve Thomas wrote:
>>>
>>> Yes I have used the repeat tile in a number of projects.  Usually in
>>> iterating through objects in a collections.
>>>
>>> What was the specific problem?
>>>
>>> Can you provide more details on how it does not fit within the Etoys
>>> philosophy?
>>>
>>>
>>> The problem is, that tiles in a script are timeless. Everything in a
>>> script happens at the same time. for instance, when you put a "make sound"
>>> tile in a repeat tile and then say "repeat 3 times", you will not hear 3
>>> sounds one after the other, but at the same time. This happens with every
>>> tile. It is confusing when you put tiles in, that do something you can watch
>>> or hear.
>>> So what happens is not the same as what you think would happen when
>>> looking at the script. But in Etoys you should be able to explain the
>>> behaviour from looking at the script, I think.
>>>
>>> Rita
>>>
>>>
>>> Stephen
>>>
>>> On Fri, Mar 26, 2010 at 8:46 AM, Rita Freudenberg <
>>> rita at isg.cs.uni-magdeburg.de> wrote:
>>>
>>>> Hi all,
>>>>
>>>> did you ever use the repeat tile? This is a new tile which you can get
>>>> when you click on the supplies icon in a script.
>>>> During my workshop this week we tried to use it and we had problems,
>>>> because it worked not the way we expected.  It is something special, which
>>>> is also not fitting very well with the Etoys philosophy. So how about
>>>> removing it, since it is mostly confusing?
>>>>
>>>> It would not be removed completely, so that older projects would still
>>>> work and you can find it if you explicitly search for it in the object
>>>> catalog. But it would be removed from the supplies menu in the scripts.
>>>> What do you think?
>>>>
>>>> Greetings,
>>>> Rita
>>>
>>>
>>>
>>>
>> _______________________________________________
>> etoys-dev mailing list
>> etoys-dev at squeakland.org
>> http://lists.squeakland.org/mailman/listinfo/etoys-dev
>>
>>
>>
>>
>
>
>
>
> _______________________________________________
> etoys-dev mailing list
> etoys-dev at squeakland.org
> http://lists.squeakland.org/mailman/listinfo/etoys-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakland.org/pipermail/etoys-dev/attachments/20100407/50d00785/attachment.html


More information about the etoys-dev mailing list