Alice Community  

Go Back   Alice Community > General Discussion > The Lounge

Reply
 
Thread Tools Display Modes
Old
chickentree
Super Moderator
 
Status: Offline
Posts: 250
Join Date: Dec 2012
Location: Frosno, Ca
Default 07-30-2015, 09:35 AM

Quote:
Originally Posted by Petit Suisse View Post
Another question. How did you guys make it so the ring would stay solid? Right now it sort of goes through the cone, instead of being caught on it as a solid object.
All objects in Alice behave this way, there is no provision for making something solid, so you have to fake it. The easiest way I can think of would be to use Dummy objects set a dummy on the cone and have the ring move to it when it "lands" on the cone.

Hints:
  1. Set the vehicle of the dummy object to the cone. This way if the cone moves you will not have to reposition all your dummy objects.
  2. Name the dummy objects so that you can keep track of which dummy is paired with which ring.
  3. The ring must move down from above the cone to look right. If you just move the ring to the dummy object from anywhere it will go through the cone.

Mark


Mark Henwood
mhenwood@ieee.org
   
Reply With Quote
Old
Petit Suisse
Member
 
Status: Offline
Posts: 46
Join Date: Jul 2015
Default 07-30-2015, 10:33 PM

Quote:
Originally Posted by chickentree View Post
All objects in Alice behave this way, there is no provision for making something solid, so you have to fake it. The easiest way I can think of would be to use Dummy objects set a dummy on the cone and have the ring move to it when it "lands" on the cone.

Hints:
  1. Set the vehicle of the dummy object to the cone. This way if the cone moves you will not have to reposition all your dummy objects.
  2. Name the dummy objects so that you can keep track of which dummy is paired with which ring.
  3. The ring must move down from above the cone to look right. If you just move the ring to the dummy object from anywhere it will go through the cone.

Mark
Thank you very much for your help and time Mark. You've been very good with us. With the deadline that is definitely something I want to try, however since it would be ok for the ring to go through the cone, I will keep it simple for now. I did try setting the rings vehicle to cone in one of my attempts (not quite the right effect hehe), but dummy will be something to look at later.
   
Reply With Quote
Old
chickentree
Super Moderator
 
Status: Offline
Posts: 250
Join Date: Dec 2012
Location: Frosno, Ca
Default 08-02-2015, 12:30 PM

Quote:
Originally Posted by Petit Suisse View Post
Thank you very much for your help and time Mark. You've been very good with us. With the deadline that is definitely something I want to try, however since it would be ok for the ring to go through the cone, I will keep it simple for now. I did try setting the rings vehicle to cone in one of my attempts (not quite the right effect hehe), but dummy will be something to look at later.
It is not the ring's vehicle you want to set to the cone. That would cause the ring to move whenever the cone does. You want to set the dummy object, which is basically your target for a ring on the cone, to the cone. So that if the cone moves during the movie, or you have to move it while building the movie, the dummy will still be in the correct position relative to the cone.


Mark Henwood
mhenwood@ieee.org
   
Reply With Quote
Lab 3
Old
shaolinkidd
Member
 
Status: Offline
Posts: 17
Join Date: Jul 2015
Default Lab 3 - 08-05-2015, 12:19 PM

I can get the cone to catch the ring but my program does not repeat after the ring is caught. Do you think you can help me with this? I've included my program.
Attached Files
File Type: a2w Lab3-WL.a2w (178.9 KB, 5 views)
   
Reply With Quote
Old
chickentree
Super Moderator
 
Status: Offline
Posts: 250
Join Date: Dec 2012
Location: Frosno, Ca
Default 08-06-2015, 12:24 PM

Quote:
Originally Posted by shaolinkidd View Post
I can get the cone to catch the ring but my program does not repeat after the ring is caught. Do you think you can help me with this? I've included my program.
I am not sure of the exact requirements for this project so I am shooting from the hip.
In order to drop another ring ask yourself what has to happen. In the general case this can be broken down into the following:
Initialize the movie
Set the items, variables etc to their initial values.
In a great many cases you can do this in the Alice IDE (while you are authoring the movie.)
Start the looping part.
Make sure things are initialized (objects in their proper place, variables have the correct values.) Remember the instructions will be repeated so the movie will probably not be in the same configuration when it starts through the loop on the second or subsequent runs.
Do the instructions you want to repeat.
In the general programming case one or more of these instructions will result in changes that will cause the loop to end. Alice’s interactive nature provides other options, like the one demonstrated in the attached movie.
Check the conditions to see if the loop is done
Continue with the rest of the program.

In general any loop whether a ‘for’ loop, a ‘while’ loop or some other more exotic type has to accomplish a couple of things. It must repeatedly perform the operations it was designed to do. And it must have a way to end when it has repeated ‘enough’ times.
In a lot of cases we know (or can calculate) how many times the loop will need to repeat and in these cases a ‘for’ loop is great. But what if we do not know how many times the operations must be repeated? In that case we need to do something different. This is where the ‘while’ loop comes in. The while loop uses a Boolean value (called a monitor) to determine whether to run the loop and if so when to stop. The key here is that this value (the monitor) must initially be true, or the instructions within the while loop will never be run, and some action must be capable of changing the monitor from true to false in order to end the loop. This action can be something within the loop that signals the the desired condition has been met or it can be an ‘external’ event that changes the value the monitor is using to tell whether to continue.
In the movie I have attached the loop is controlled by an outside event (clicking on the rabbit.)
Using the logic operators and object properties and functions you can make the continuation of your while loop depend on one or several conditions being true or false so you have a lot of control over whether the loop continues or not.
Be aware that if you are looping you may need to set things up each time the loop repeats. In your case, if the cone and ring are not moved back to their starting positions at the beginning of the loop, they will be wherever they were when the last loop ended.

Hope this helps.
Mark
Attached Files
File Type: a2w whileExample.a2w (336.7 KB, 3 views)


Mark Henwood
mhenwood@ieee.org
   
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump



Copyright ©2020, Carnegie Mellon University
Alice 2.x © 1999-2012, Alice 3.x © 2008-2012, Carnegie Mellon University. All rights reserved.