CS 320 n Visual Programming Interactive Programs Mike

  • Slides: 18
Download presentation
CS 320 n –Visual Programming Interactive Programs Mike Scott (Slides 5 -1) Visual Programming

CS 320 n –Visual Programming Interactive Programs Mike Scott (Slides 5 -1) Visual Programming Interactive Programs

What We Will Do Today • Learn about interactive programs • Learn how to

What We Will Do Today • Learn about interactive programs • Learn how to add events to Alice programs to make them interactive Visual Programming Interactive Programs 2

Control of flow • Control of flow – how the sequence of actions in

Control of flow • Control of flow – how the sequence of actions in a program is controlled – what actions happen first, second, third • In movie style programs as shown in chapters 1 -4 the sequence of actions is determined by the programmer – create a story board design – implement the program methods to carry out the designed sequence – completely predictable Visual Programming Interactive Programs 3

Interactive Animations • In interactive programs, the sequence of actions is determined at runtime

Interactive Animations • In interactive programs, the sequence of actions is determined at runtime when the user provides input – clicks the mouse – presses a key on the keyboard • Other sources of input are possible – depending on your computer system Visual Programming Interactive Programs 4

Interactive games • In a video game where the user is guiding a spaceship,

Interactive games • In a video game where the user is guiding a spaceship, the sequence of actions… – depends on what direction the user guides the ship – how fast the user presses the controls. • Each time the program runs, user input may cause a different sequence of actions from previous executions of the program. • In essence, control of flow is now “in the hands of the user. ” Visual Programming Interactive Programs 5

Events • Each time the user provides some sort of input, we say an

Events • Each time the user provides some sort of input, we say an event is generated. – An event is “something that happens” – Magically the operating system passes information about the event to our program Interactive Program from appendix What happens when space pressed and method is not done? Visual Programming Interactive Programs 6

event handlers • An event may – Trigger a response, or – Move objects

event handlers • An event may – Trigger a response, or – Move objects into positions that create some condition (e. g. , a collision) that triggers a response. • A method is called to carry out the response. We call this kind of method an event handler. • When an event is linked to an event handler, a behavior is created. Visual Programming Interactive Programs 7

How does this affect your program? • We want to be able to write

How does this affect your program? • We want to be able to write interactive programs – they can be more interesting than animations • The approach will be the same as before, but the difference is that we must now be concerned with behaviors – input from the user -> (events) – how objects respond to an event -> (event handler methods) Visual Programming Interactive Programs 8

Example • Build an air show flight simulator. In an air show, the pilot

Example • Build an air show flight simulator. In an air show, the pilot uses biplane controls to perform acrobatic stunts. Visual Programming Interactive Programs 9

Problem • The whole idea in a flight simulator is to allow the user

Problem • The whole idea in a flight simulator is to allow the user to control the flight path. • The problem is: how do we write our program code to provide a guidance system that allows the user to be the pilot? Visual Programming Interactive Programs 10

Solution • Use keyboard input – Up-arrow key to move the biplane forward –

Solution • Use keyboard input – Up-arrow key to move the biplane forward – Spacebar to make the biplane do a barrel turn (Note: other sets of keys could be used, we just arbitrarily picked a couple of keys on the keyboard. ) • Write event handler methods that respond to each key press Visual Programming Interactive Programs 11

Storyboards • Since two keys are used, two events are possible – so two

Storyboards • Since two keys are used, two events are possible – so two storyboards are needed: Event: Spacebar press Event: : Up Arrow key press Response: Do together roll biplane a full revolution play biplane engine sound Response: Do together move biplane forward play biplane engine sound Each storyboard outlines an event handler that responds to a particular event. Visual Programming Interactive Programs 12

Demo • A demonstration of building the biplane acrobatic simulation – fly. Forward –

Demo • A demonstration of building the biplane acrobatic simulation – fly. Forward – barrel Visual Programming Interactive Programs 13

biplane. fly. Forward • Coordinate duration of move and play sound instructions by matching

biplane. fly. Forward • Coordinate duration of move and play sound instructions by matching the duration of the move to the duration of the sound Visual Programming Interactive Programs 14

Events Editor - Linking • Each event handler method must be linked to an

Events Editor - Linking • Each event handler method must be linked to an event • click “create new event” button in event window • a template is created Visual Programming Interactive Programs 15

Events Editor - Linking • Select which key triggers the event • Select which

Events Editor - Linking • Select which key triggers the event • Select which method in the program should be called when the event occurs Visual Programming Interactive Programs 16

Testing • Test event handler methods as they are developed. • Write a method

Testing • Test event handler methods as they are developed. • Write a method and test it, write a method and test it, and so on… (this is a technique called incremental development). Visual Programming Interactive Programs 17

Adding More to Flight Simulator • • fly. Right fly. Left loop alternate means

Adding More to Flight Simulator • • fly. Right fly. Left loop alternate means of control Visual Programming Interactive Programs 18