# Alice Unit 5 [Objects, Parameters]

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

Add a `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:
• `sayMagicWords`
• should cause Marcello to say the magic words.
• `makeDisappear`
• 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!).
• gigantaicize
• 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

Prior Version

# Rock Paper Scissors Part IV [Alice 2]

We are going to create a variable numWins  to keep track of how many times the user correctly beats the cpu.

1. create a variable numWins  to keep track of how many times the user correctly beats the cpu

1.  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.

1. Repeat this step for each in which the user wins.
2. 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)

# Rock Paper Scissors Part III [Alice 2]

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!

1. 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.

# Rock Paper Scissors Part II [Alice 2]

Part II

1 Create a variable called userChoice

2. Use the world ask user for  a number function to store the user’s choice into that variable (Note: if the user chooses a number larger than 3 or less than 1 then they entered an invalid number, something to think about

3.   Set the isShowing  property of all 3 objects to be false .  We will set the visibility to true , when the user chooses that object , later on .

Objective; If the user chooses rock, we  need to show a rock; if the user chooses scissors, show a scissors, and the same for paper.

Use if/else and the value of userChoice  and set the isShowing  of either the rock , the paper or the scissors to true

Remember:

1= Rock

2= Paper

3= Scissors

### Run through the program a few times. What should we do next ?

4.

We need to show what the CPU chooses!!

So, now we need to do a few  things:

A) edit our if/else  to consider what the user chose and  what the cpu randomly chose (both/and)

B) add a second rock, paper and scissors object that represents the CPU’s choice

(note: I set the color of the CPU’s objects to red so I can more easily distinguish the cpu’s from the user choice’s objects)

C)  Set isShowing  to false for each of the cpuChoice’s objects

For instance, if the cpu and the user both choose rock, your screen should look something like :

5.   State who won the round or if the round was a draw :

7. The last line of your loop should ask the user if they want to play again.

Try playing the game a few times. You will notice that there is a problem, when you play multiple times

Can you see what is wrong with our current setup? The bug only applies to multiple games. If you play a single game and close Alice, you will not notice the problem.

As you can see above, when you  start  a second game, you can still see the rock and paper that were chosen in the first game.

Can you figure out how to fix  the problem?

Go here to see how to fix it and continue on with the project.

Taken from https://teals-introcs.gitbooks.io/2nd-semester-introduction-to-computer-science-pri/units/1_unit/06_lesson/project.html

Overview: Using Python, students will use variables, input, and printing to create a Mad Lib. You will also practice designing a project by planning out your Mad Lib before implementing it. Part of the project is to use your creativity to design your own unique story.

The program will print out the title of the Mad Libs story, as well as a short explanation of game play

The program should then prompt the user to enter in nouns, verbs, adjectives, proper nouns, and adverbs

### Implementation Details

Plan out your story on pencil and paper first, before you start implementing the program.

• Select the missing words
• Determine each words part of speech
• Create introduction
• Create questions
• Divide story into print statements

As mentioned above the program must request words from the user. The following must be included in the program:

• 10 different words inputted
• Variable names should correspond to the part of speech requested and part of the story they belong to (e.g. `noun1``verb2`, etc)
• You may only use 3 print statements to tell your story

### Scheme/Rubric

Functional Correctness(Behavior)
Program greets user and explains rules 3
Program accurately requests 10 words (1 for word, 1 for correct request) 20
Program prints full Mad Lib 10
Program exhibits creativity 3
Sub total 35
Technical Correctness
Program utilizes variable names to convey meaning 5
Correct order of inputted words 10
Only 3 print statements 10
Sub total 25
Total 60

# Meaning of “==”

Here’s how you get to “==” in Alice. It’s a world function. (and it must be put into an if test)

# Space Ship Repair Post Mortems

Look at the code below:

Can you see why this student lost credit :

The student did a good job using a function and storing a value in the variable, walkDistance; however, they never then used that variable .

# Space Ship Repairs [Post mortems]

Example 1 :

The code below is almost correct , but the variable walkingDistance  is never used by the move method !

Code Diagram 1 :

Code Diagram 2 :

# Intro to CS [2018-19]

Unit 4 . Parameters and Objects [advanced]

• Complete Packets:
• #18 Writing a Class Level Method
• #20 Saving an Object to a New Class
• #21 Stepwise Refinement (Follow the instructions carefully on this one). If your method does not seem to work, it’s probably because you switched a left leg with a right leg
• #22 Passing Arguments
• Assignments here

Unit 4 . Loops

• Complete Packets:
• 15 b (The Loop Instruction)
• 16 (The While Instruction)
• Assignments here

Unit 3 Datatypes and if/else

Unit 2

• Complete packets #9-10
• #9 (variables)
• #10 functions vs methods
• Drag Racing
• Spaceship Repair
• Apollo 15
• End of Unit Assign

Assignments and Quiz topics

Unit 1

• 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
• lastname-assignment1
• morris-assignment1
• Eventual Quiz 1
• binary number systems (see dropbox notes for review)
• converting from various bases to base 10(see Google drive notes for review)
• comment vs instruction in alice

Last year’s

# Web Design Programming 18-19

Supa Web

Unit 4 Bootstrap 4

Unit 3 Jquery

Unit 2 Javascript

Unit

Mr M Assignment (reproduce the screenshots in the powerpoint)