One of the hardest concepts for younger programmers to learn is what returning a value means, a concept which Alice represents by its notion of ‘functions’. And, in Alice, a great approach is to require students to move an object based on the distance and to use a function to return the value of that distance and store it in a variable.
Every object in Alice has a set of proximity functions:
However, distance to, which most students will probably be most tempted to use is rarely what you want to use–especially when you want to move an object relative to another object using the calculated distance.
Consider, the picture below. Let’s say we want to calculate the distance between the hammer and the moon’s surface. Well, if you used distance to to calculate the distance and move the hammer down, you’ll see that the hammer actually falls down into the moon. That’ s because the distance is being calculated from the center of the hammer and the center of the whole planet!
Instead, use distance above!
In the picture below, if you want the astronaut to move to the spaceship based off of a distance, you should try the distance in front of
Before you jump into text coding with middle school coders , Alice is a powerful tool for teaching what “returning a value” means.
- Complete packets #3- 8 by Thursday Wednesday 27th
- #1 (Example tutorial)
- #2 (skipped)
- #3 Coach–opacity, color
- #4 Camera and manipulating objects (turn,tumble etc)
- #5a Alice code (how to add instructions)
- #5b Alice Primitive Methods
- #6 ( camelCase, — read only, no tutorials)
- #7 ( primitive methods from object tree)
- #8 (do together )
- Project #1
- at least 10 instructions
- modify a ‘subpart’
- 1 do-together statement
- at least 3 different objects
- Worth 7 points.
- To get a 7/7 you must achieve the ‘wow factor’–ie go above and beyond to create a superior final project
- you must save your file in the format of
Unit 2 Packets
- #9 (variables)
- #10 functions vs methods
Unit 2 Assignments
All the assignments listed below are detailed on this page
- Drag Racing
- Spaceship Repair
- Apollo 15
- End of Unit Assign
- #11 (math Expressions)
- #12 (Strings and Text)
- Read: Important post to understand
- Read What as a String
- Area of Triangle Assignment (only that one assignment)
- #13 (booleans)
#14 (relational operators) (Show me this one when you’re done with the gumdrop/fish tutorial)
- Skip #14 (we did this together)
- Complete the rest of unit 3/4 assignments
- Roman Translator
- MPG modified
- Temp Convert Mod
- OR , you can skip all of these and do the much much more involved “Rock Paper Scissors ” game .
Unit 4 . Loops
- Complete Packets:
- 15 b (The Loop Instruction)
- 16 (The While Instruction)
- Unit 4 assignments here
Last year’s class page.
SUPA \ AP CS A [2019-20]
Validation Project (Non loops)
Coding bat (as indicated)
Array Fun 2
Gifs hosted by the awesome gifyu.com service
Andrew Feldmen’s Game:
Emmanule Feranato : https://www.emanueleferonato.com/ both Phaser 2 and 3 content go over how to make a game from scratch.
Game states for Beginners
5.1: Exercise Competition:
Three girls Jenny, Kelly, and Barb are enrolled in an exercise class. One day after class the three decide to have a friendly competition to see how many sets of 10 repetitions of running in place each can do before getting tired. Barb decides to go first and gets tired at 10 repetitions. Kelly goes next and she gets tired at 20 repetitions. Jenny, who has been in the exercise class for the longest, goes next. She gets tired at 30 repetitions.
Create a world that suites the competition.
- Note: Basically, you are just using a parameter to determine how many times the girl “runsInPlace”
- Important: Each of the girls should be an instance of
ExerciseGirl class that you created in chapter 5.
EACH Assignment below requires the use of a parameter in some way. If you do not have a parameter, as described, you will lose a lot of credit.
Here is a helpful link on how to create and use parameters, in case you forget.
5.2 : Jumping Jacks
jumpingJack method to the
ExerciseGirl class. The method should make the object perform jumping jacks .
- Important: this method should have a parameter for the number of repetitions to perform.
5.3 : Marcello The Magician:
Marcello the magician has finally mastered his disappearing act. To perform the act, he places several items on a table in front of him. He stands with his right arm extended over an item. He says the magic word “Alakazam, Alakazee” and the object disappears. He repeats this procedure for each object on the table. Create a world in which Marcello (an instance of the Magician class from the People Collection) demonstrates his new act . In the magician object
- you should create two new class-level methods:
- should cause Marcello to say the magic words.
- This method should have an object as its parameter
- should cause Marcello to turn to face the object, say the magic words (by calling the sayMagicWords method) and then make the object disappear by setting its opacity to zero (note: for some reason the bunny object cannot be made to disappear this way!).
- This method should have an object as its parameter
- the object should be made to 5 times its original size!
- Want to get an “A+”: then create a transmute method tha
- takes an object parameter
- Changes a locust to a boar (hide the one , make the other appear)
- changes a bird to a locust
We are going to create a variable
numWins to keep track of how many times the user correctly beats the cpu.
- create a variable
numWins to keep track of how many times the user correctly beats the cpu
- Every time that the user wins increment the variable by adding 1 on to that variable.
This is how you increase the value of a variable by 1.
- Repeat this step for each in which the user wins.
- At the end of each round, tell the user how many times they won. (Remember that
numWins is a number so you must use what as a string to say it)
Alice Supports Several Boolean Logic types. They exist under the world functions :
In the Part 2, we ended with a dilemma. If the user wants to play a second game, we need hide the objects that were chosen in the first game!
- So, at the start of the main
while loop, you should programmatically set the
isShowing of all 6 objects to false.
Note: all commands in alice have a duration. Since we want all 6 objects to immediately hide, s et the duration to 0 by clicking on more and selection duration as shown below:
So, now you should have a fully functional Rock, Paper, Scissors Game that should work similar to what you can see below (Still, there are some improvements that could be made ,see the bottom).
However, there are some improvements that we should make.
Improvement #1 : Keep track of how many times the user beats the computer. (required)