Download presentation

Presentation is loading. Please wait.

Published byMiriam Hollingshed Modified over 2 years ago

1
As you come in… Sign in (in back) and pick up Badge Name Card – on computer… Log in: Launch/Start Alice Any questions? (of any kind) DOWNLOADS FOR TODAY: http://ce21sandiego.org/2013 CylinderStarter.a2w http://ce21sandiego.org/2013 Online student textbook (at bottom of each page below) Module 9.2 Magnet World with Other Objects.a2w Module 9.4 SpaceShipGame.a2w

2
Todays plan While loops (penguin race, timer) Create your own function with a parameter (timer) Compound boolean expressions and if statements – can solve same problem multiple ways Or – car magnet And – space ship take off

3
Hint to getting while loops right Humans naturally think until Ill keep spending until I run out of money (balance <= 0) Ill keep dancing until I fall asleep Computers use while loops – the opposite Ill keep spending while I still have money (balance > 0) Ill keep dancing while I am not asleep While I have a dirty dish, Ill keep washing dishes

4
Lets have a race… A Wind up penguin (he just goes) While loop with walk and spin inside it Jet-pack penguin2 (controlled by <- event) Moves forward.5 meters Race to a stop sign (within 2 meters) Whenever someone gets within 2 meters Stop looping (going)

5
While loops in Alice tend to be used when… You have a user controlled (hence, not predictable) event So you dont know when the user might Click on an object Type a key, User types a number (pick a number between 1-10, etc. You have (not predictable) actions controlled by, for example, random numbers E.g. the lunchlady/zombie or fish/shark case

6
When should we keep going? e.g. while loop expression true (P1: wind up, P2: jet pack) CasesABCD P1, P2 outsideTTTT P1 inside, P2 outsideTTTF P2 inside, P1 outsideTTFF P1, P2 insideTFFF

7
Which while loop header (tile) would you use to control the going?

8
Lets Build the Code! Download from http://ce21sandiego.org/2013http://ce21sandiego.org/2013 Meeting 4: JetPackPenguinTeacherStart.a2w Plan: Explore object positions Create event that moves jet pack penguin 0.5 meters whenever is pushed. (Test) SIMPLIFY: Create loop that makes windup penguin move repeatedly (forever), 0.35 meters (at same time as walks and windupKey rolls 0.25 revolutions) CORRECT: change loop to have the game end (e.g. windup penguin stops walking) when either penguin wins (gets within 2 meters of stop sign) WHILE:_________________________________________

9
Game keeps playing while… A. Either penguin is close to the stop sign B. Neither penguin is close to the stop sign What does the other one do?

10
Useful tool: Timer Use: to count down time in a game 2 cylinder objects set on top of each other Grey is background Yellow is in front Yellow moves down a bit each time step (loop iteration) The game is over when the yellow cylinder is Distance to the ground >= cylinder height. (So while not, game is ongoing…)

11
Timer Coding Plan SIMPLIFY: Loop forever (while true) move yellow cylinder down. COMPLETE: Loop should stop after yellow cylinder disappears – say should take 4 steps Hint: cylinder is 2 meters tall After loop: have 3-D Text (originally set to opacity 0) become visible saying Game Over IMPROVE: Regardless cylinder size, calculate how many steps before cylinder gone 10 steps? 4 steps? NEW PROGRAMMING CONCEPT: Functions – perform (complex) calculations

12
Compound Boolean Expressions – OR Car Driving Game (watch video 9.2) Modify: Car should only turn to head towards MAGNETS One of the 4 magnets Two ways if…

13
Compound Boolean Expressions – OR Car Driving Game Two ways if…

14
Compound Boolean Expressions – OR Car Driving Game Two ways if…

15
Compound Boolean Expressions – AND Spaceship takes off Space ship only takes off if all spheres are blue Two ways if…

16
Compound Boolean Expressions – AND Spaceship takes off Two ways if…

17
Compound Boolean Expressions – AND Spaceship takes off Two ways if…

18
Functions: Calculate a Value and Return it. Hides away complex calculation When program executes that line/tile: change of control flow! Jump to code/function that does the calculation It returns the calculated value, which replaces the function call tile Finally, that line/tile is executed

19
Examples you know Return number values: Move forward distanceTo Random Create our own – which return boolean values isAMagnet areBallsBlue

20
Coming Up… Week 5: Compound Boolean Expressions and if statements and while loops Week 6: Functions, Mathematical expressions, parameters, methods Week 7: Functions, parameters, methods and events Week 8: Lists

Similar presentations

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google