15 15 Programacin de Juegos y Grficos en C con Allegro - - PowerPoint PPT Presentation

15 15
SMART_READER_LITE
LIVE PREVIEW

15 15 Programacin de Juegos y Grficos en C con Allegro - - PowerPoint PPT Presentation

1 15 15 Programacin de Juegos y Grficos en C con Allegro Referencia: C How to Program 5 ed Deitel & Deitel, Pearson 2


slide-1
SLIDE 1

1

15 15

Programación de Juegos y Gráficos en C con Allegro

Referencia: C How to Program 5 ed Deitel & Deitel, Pearson

slide-2
SLIDE 2

2

slide-3
SLIDE 3

3

OBJECTIVES

In this chapter you will learn: How to install the Allegro game programming library to work with your C programs. To create games using Allegro. To use Allegro to import and display graphics. To use the "double buffering" technique to create smooth animations. To use Allegro to import and play sounds. To have Allegro recognize and deal with keyboard input. To create the simple game "Pong" with Allegro. To use Allegro timers to regulate the speed of a game. To use Allegro datafiles to shorten the amount of code in a program. The many other features Allegro can add to a game.

slide-4
SLIDE 4

4

15.1 Introduction 15.2 Installing Allegro 15.3 A Simple Allegro Program 15.4 Simple Graphics: Importing Bitmaps and Blitting 15.5 Animation with Double Buffering 15.6 Importing and Playing Sounds 15.7 Keyboard Input 15.8 Fonts and Displaying Text 15.9 Implementing the Game of Pong 15.10 Timers in Allegro 15.11 The Grabber and Allegro Datafiles 15.12 Other Allegro Capabilities 15.13 Allegro Internet and Web Resources

slide-5
SLIDE 5

5

15.1 Introduction

– – ! – "

  • #$$
  • %&
  • '

– # () *

slide-6
SLIDE 6

6

15.2 Installing Allegro with Visual C 6

  • – '
  • – +

,-

– .//00110 – + / /00110 1 – 2- /00 -110&134.5

slide-7
SLIDE 7

7

15.2 Building Allegro with Visual C 6

67

– 81919 – .:;

#

  • – <899=5

– 6=5>>""1 – %=5>>;>1 .:; – -?0??1

  • - 1
  • -?1@A/

1B

– A/ +.:;$ C-1

slide-8
SLIDE 8

8

15.2 Building Allegro with Visual C 6

  • =5>

=.:5>.:>:D>

  • 1=5>>

=.:5>.:>:D>

  • 1=5>>

/>2 >C9

+

– %=5>>;>1 .:; – EF – "E6

slide-9
SLIDE 9

9

15.2 Building Allegro with Visual C 6

'

– %=5>>;>1 .:; – -?0??1

  • - 1
  • -?1

A/$ 1

G&

– %=5>>;>&1 .:; – -?0??1

  • -& 1
  • -?1
slide-10
SLIDE 10

10

15.2 Building Allegro with Visual C 6

'

– %=5>>;>1 .:; – -?0??1

  • - 1
  • -?1

A/ +.:;$ ?

  • +$'$G&'1
slide-11
SLIDE 11

11

15.3 A Simple Allegro Program

G /

  • – !
slide-12
SLIDE 12

12

15.3 A Simple Allegro Program

  • – #

– .$

  • – .
  • – G&

– 672 $ <A#H$.%H – A7$ "

slide-13
SLIDE 13

13

1 !" # !" # !" # !" #

  • 2

$%% $%% $%% $%%

  • 3
  • 4

5

  • &

& & &' ' ' '( ( ( (

  • 6

) ) ) )

  • 7

&(* &(* &(* &(*+ + + +

  • 8

$$& $$& $$& $$&,-., ,-., ,-., ,-.,(* (* (* (*$%/$$ $%/$$ $%/$$ $%/$$

  • 9
  • #

# # #* * * *

  • 10 0

0" " " "

  • 11 &(

&( &( &(

  • 1

1 1 1$%" $%" $%" $%"

  • Outline

" # " # " # " #

allegro.h allegro_init END_OF_MAIN

  • allegro_message
slide-14
SLIDE 14

14

15.3 Compiling an Allegro Program

234 234 234 234

– 5'$"672 5'$"672 5'$"672 5'$"672 8 8 8 8 – %$"7$68 %$"7$68 %$"7$68 %$"7$68 – 29: 29: 29: 29: – ;34$$,-<= ;34$$,-<= ;34$$,-<= ;34$$,-<= %%, %%, %%, %%, – /%4>$? /%4>$? /%4>$? /%4>$? ,@, ,@, ,@, ,@, – 2$,%/%4, 2$,%/%4, 2$,%/%4, 2$,%/%4, – A,$, A,$, A,$, A,$,

slide-15
SLIDE 15

15

15.3 Compiling an Allegro Program

slide-16
SLIDE 16

16

15.3 Compiling an Allegro Program

2$" 2$" 2$" 2$"

– 29, 29, 29, 29,B B B B

  • – ;$$

;$$ ;$$ ;$$B B B B2CC6 2CC6 2CC6 2CC6B B B B> > > > >%$$,@, >%$$,@, >%$$,@, >%$$,@, –

slide-17
SLIDE 17

17

15.3 Compiling an Allegro Program

343%$ 343%$ 343%$ 343%$

– D:9$%$;$%>;:: D:9$%$;$%>;:: D:9$%$;$%>;:: D:9$%$;$%>;:: 9;/$ 9;/$ 9;/$ 9;/$ "; "; "; "; '$ '$ '$ '$ – $$>/: $$>/: $$>/: $$>/: E E E E1 1 1 1934 934 934 934

  • B

B B B-9$%,$

  • 9$%,$
  • 9$%,$
  • 9$%,$B

B B B6$ 6$ 6$ 6$F F F F, , , ,

slide-18
SLIDE 18

18

15.3 Compiling an Allegro Program

//?9 //?9 //?9 //?9 ;G ;G ;G ;G

– H346::>$ H346::>$ H346::>$ H346::>$ 6 6 6 6B B B B-<=;

  • <=;
  • <=;
  • <=;B

B B B

  • – H;,22CC

H;,22CC H;,22CC H;,22CCB B B B>$2/ >$2/ >$2/ >$2/ ,2I,$,; ,2I,$,; ,2I,$,; ,2I,$,;

  • 1

1 1 1?? ?? ?? ??J J J J>29 >29 >29 >29B B B B@, @, @, @, – H;,?9 H;,?9 H;,?9 H;,?9B B B B> > > > ;4;$,; ;4;$,; ;4;$,; ;4;$,;B B B B>29 >29 >29 >29 B B B B@, @, @, @,

slide-19
SLIDE 19

19

15.3 Compiling an Allegro Program

slide-20
SLIDE 20

20

15.4 Importing Graphics and Blitting

#I

– – .& –

  • – GD3

GD3 GD3 GD3

  • GD3

GD3 GD3 GD3

– – #$ $ $ $

  • #$$

$ $ $ $: : : :

  • $* $

– 'GD3 GD3 GD3 GD3

slide-21
SLIDE 21

21

15.4 Importing Graphics and Blitting

.

– GD3 GD3 GD3 GD3 J – ./;% ;% ;% ;% $/;% $/;% $/;% $/;%

;% ;% ;% ;%

– ,GD3 GD3 GD3 GD3

  • – '- K
  • L H??

H?? H?? H??

– 6GD3 GD3 GD3 GD3 H?? H?? H?? H?? @ B

slide-22
SLIDE 22

22

15.4 Importing Graphics and Blitting

$/;% $/;% $/;% $/;%

– 6

  • – '-GD3

GD3 GD3 GD3 – %$

  • – #
  • %

– +&

slide-23
SLIDE 23

23

Function prototype Description

  • GD3;%&
  • :>
  • (
  • GD3;%&$">

EIG%(

  • "%
  • ';%&GD3;%(
  • '&GD3;%>
  • '$/;%&GD3;%(
  • !
  • Fig. 15.2 | Important BITMAP functions.
slide-24
SLIDE 24

24

Common Programming Error 15.1

' $ 1

slide-25
SLIDE 25

25

1 <!" #< <!" #< <!" #< <!" #<

  • 2

$%/;%$ $%/;%$ $%/;%$ $%/;%$

  • 3
  • 4

5

  • &

& & &

  • '

' ' '

  • (

( ( (

  • 6

) ) ) )

  • 7

GD3;%* GD3;%* GD3;%* GD3;%*%;% %;% %;% %;%

  • 8

9 &(* &(* &(* &(*+ + + +

  • 10
  • $9/;&(*

$9/;&(* $9/;&(* $9/;&(*

  • :'9/;%

:'9/;% :'9/;% :'9/;%

  • 11
  • $%&

$%& $%& $%&8 8 8 8(* (* (* (*$%8 $%8 $%8 $%81 1 1 1; ; ; ;

  • 12
  • $"K&ILHDD2D>

$"K&ILHDD2D> $"K&ILHDD2D> $"K&ILHDD2D>8M# 8M# 8M# 8M#> > > >MN# MN# MN# MN#> > > ># # # #> > > ># # # #(* (* (* (*$%$ $%$ $%$ $%$

  • 13
  • ;%O;%&

;%O;%& ;%O;%& ;%O;%&,%;%, ,%;%, ,%;%, ,%;%,> > > >

  • H??

H?? H?? H??(* (* (* (*;%" ;%" ;%" ;%"

  • 14
  • ;&;%>$>

;&;%>$> ;&;%>$> ;&;%>$># # # #> > > ># # # #> > > ># # # #> > > ># # # #>;% >;% >;% >;%1 1 1 1:>;% :>;% :>;% :>;%1 1 1 1(* (* (* (*:;% :;% :;% :;%

  • 15
  • 9/&(*

9/&(* 9/&(* 9/&(*:"9/%$$ :"9/%$$ :"9/%$$ :"9/%$$

  • 16
  • $/;%&;%(*

$/;%&;%(* $/;%&;%(* $/;%&;%(*"/ "/ "/ "/;% ;% ;% ;%

  • 17
  • #

# # #* * * *

  • 18 0

0" " " "

  • 19 &(

&( &( &(

  • 1

1 1 1$%" $%" $%" $%"

  • Outline

" #< " #< " #< " #<

install_keyboard load_bitmap picture.bmp bmp blit bmp

  • readkey
  • destroy_bitmap

bmp

slide-26
SLIDE 26

26

15.4 Importing Graphics and Blitting

– ?$

  • – /$%

$% $% $% $"K $"K $"K $"K

$% $% $% $%

– .$"K $"K $"K $"K – '- –

&

– D"$"$;"$98"$C9" – D""

slide-27
SLIDE 27

27

15.4 Importing Graphics and Blitting

$"K $"K $"K $"K

– – '-$ – E

– '- ()

  • ILHDD2DH??62E

ILHDD2DH??62E ILHDD2DH??62E ILHDD2DH??62E

  • ILHDD2D--

ILHDD2D-- ILHDD2D-- ILHDD2D--

  • ILHDD2D

ILHDD2D ILHDD2D ILHDD2D

  • IL6

IL6 IL6 IL6 ILHDD2D ILHDD2D ILHDD2D ILHDD2D$

  • $ "7

()

slide-28
SLIDE 28

28

15.4 Importing Graphics and Blitting

$"K $"K $"K $"K

– @&B$ – , ()KM

  • #$

$

– 6M$"

slide-29
SLIDE 29

29

15.4 Importing Graphics and Blitting

; ; ; ;

– (?,- ') – . – '--

  • – '-K GD3

GD3 GD3 GD3& – E -

  • – -
  • '$$

$ $ $

slide-30
SLIDE 30

30

15.4 Importing Graphics and Blitting

; ; ; ;

– '" " "--

  • – E&" "

"

– $$--

  • – A$@M$MB
  • " $
slide-31
SLIDE 31

31

  • Fig. 15.4 | Allegro’s coordinate system.
slide-32
SLIDE 32

32

IL6 IL6 IL6 IL6 NN 1'NN * 1

Software Engineering Observation 15.1

slide-33
SLIDE 33

33

Common Programming Error 15.2

,

  • 1
slide-34
SLIDE 34

34

Error-Prevention Tip 15.1

<$/;% $/;% $/;% $/;%

  • 1
slide-35
SLIDE 35

35

Common Programming Error 15.3

' 1

slide-36
SLIDE 36

36

15.5 Animation with Double Buffering

– : – + () $ &() – – %() K"$" $ "$ "

slide-37
SLIDE 37

37

1 !" # !" # !" # !" #

  • 2

2;; 2;; 2;; 2;;

  • 3
  • 4

5 $/;$$";P$%$$;$ $/;$$";P$%$$;$ $/;$$";P$%$$;$ $/;$$";P$%$$;$

  • 6

" " " "-EIAD

  • EIAD
  • EIAD
  • EIAD#

# # #

  • 7

" " " "H3EIAD H3EIAD H3EIAD H3EIAD

  • 8

" " " "-?D

  • ?D
  • ?D
  • ?D=

= = =

  • 9

" " " "H3?D H3?D H3?D H3?D< < < <

  • 10

11 "%/%$ "%/%$ "%/%$ "%/%$

  • 12 '

' ' ''G& 'G& 'G& 'G&' ' ' '(* (* (* (*

  • 13 '

' ' ''$7& '$7& '$7& '$7&' ' ' '(* (* (* (*

  • 14 '

' ' ''$A+& '$A+& '$A+& '$A+&' ' ' '(* (* (* (*

  • 15

16

  • ;K*

;K* ;K* ;K*;P$K ;P$K ;P$K ;P$K1 1 1 1

  • 17
  • ;/*

;/* ;/* ;/*;P$/ ;P$/ ;P$/ ;P$/1 1 1 1

  • 18
  • *

* * *;P$ ;P$ ;P$ ;P$

  • 19 GD3;*

GD3;* GD3;* GD3;*%;P$;% %;P$;% %;P$;% %;P$;%

  • 20
  • Outline

" # " # " # " #

"# $ %

slide-38
SLIDE 38

38

21

  • &

& & &

  • '

' ' '

  • (

( ( (

  • 22 )

) ) )

  • 23
  • "$>$%%$

"$>$%%$ "$>$%%$ "$>$%%$

  • 24 &(*

&(* &(* &(*+ + + +

  • 25 $9/;&(*

$9/;&(* $9/;&(* $9/;&(*$9/;"$ $9/;"$ $9/;"$ $9/;"$

  • 26 $%&8(*

$%&8(* $%&8(* $%&8(*$ $ $ $%8 %8 %8 %81 1 1 1; ; ; ;

  • 27 $"K&

$"K& $"K& $"K&ILHDD2D ILHDD2D ILHDD2D ILHDD2D> > > >8M# 8M# 8M# 8M#> > > >MN# MN# MN# MN#> > > ># # # #> > > ># # # #(* (* (* (*$%$ $%$ $%$ $%$

  • 28 ;O;%&

;O;%& ;O;%& ;O;%&,;;%, ,;;%, ,;;%, ,;;%,>H??(* >H??(* >H??(* >H??(*;;% ;;% ;;% ;;%

  • 29
  • ;KO

;KO ;KO ;KO62E- 62E- 62E- 62E-

  • =

= = =* * * *

  • ';$K

';$K ';$K ';$K1 1 1 1

  • 30
  • ;/O

;/O ;/O ;/O62EA 62EA 62EA 62EA

  • =

= = =* * * *

  • ';$/

';$/ ';$/ ';$/1 1 1 1

  • 31 $&&

$&& $&& $&&H?? H?? H?? H??((* ((* ((* ((*$" $" $" $"

  • 32 O&(Q

O&(Q O&(Q O&(QM M M M* * * *9 9 9 9

  • 33

34

  • :

: : :&.9/R &.9/R &.9/R &.9/R@562 @562 @562 @562S( S( S( S(

  • $%9/$%$$

$%9/$%$$ $%9/$%$$ $%9/$%$$

  • 35 )

) ) )

  • 36 'G&(*

'G&(* 'G&(* 'G&(*'; '; '; ';

  • 37
  • &$>9&

&$>9& &$>9& &$>9&= = = = > > > >= = = = > > > >= = = = ((* ((* ((* ((*

  • 38
  • ::;%$

::;%$ ::;%$ ::;%$

  • 39 ;&;>$>

;&;>$> ;&;>$> ;&;>$># # # #> > > ># # # #>;K>;/ >;K>;/ >;K>;/ >;K>;/>; >; >; >;1 1 1 1:>; :>; :>; :>;1 1 1 1(* (* (* (*

  • 40 0

0: : : :

  • 41

42 $/;%&;(* $/;%&;(* $/;%&;(* $/;%&;(*$/;;% $/;;% $/;;% $/;;%

  • 43
  • #

# # #* * * *

  • 44 0

0" " " "

  • 45 &(

&( &( &(P"$. P"$. P"$. P"$.

  • 46
  • Outline

" # " # " # " #

&# SCREEN_W SCREEN_H

  • clear_to_color
slide-39
SLIDE 39

39

47 ' ' ' ''G&( 'G&( 'G&( 'G&('$; '$; '$; '$;

  • 48 )

) ) )

  • 49
  • $:

$: $: $:&() &() &() &()

  • 50
  • $

$ $ $

  • EIAD
  • EIAD
  • EIAD
  • EIAD!

! ! !

  • 51 CC;K*

CC;K* CC;K* CC;K*'; '; '; ';

  • 52 CC;/*

CC;/* CC;/* CC;/*';: ';: ';: ';:

  • 53
  • ;9

;9 ;9 ;9* * * *

  • 54
  • $

$ $ $H3EI H3EI H3EI H3EIAD AD AD AD! ! ! !

  • 55 CC;K*

CC;K* CC;K* CC;K*'; '; '; ';

  • 56
  • 11

11 11 11;/* ;/* ;/* ;/*';% ';% ';% ';%

  • 57
  • ;9

;9 ;9 ;9* * * *

  • 58
  • $

$ $ $-?D

  • ?D
  • ?D
  • ?D!

! ! !

  • 59
  • 11

11 11 11;K* ;K* ;K* ;K*';" ';" ';" ';"

  • 60 CC;/*

CC;/* CC;/* CC;/*';: ';: ';: ';:

  • 61
  • ;9

;9 ;9 ;9* * * *

  • 62
  • $

$ $ $H3?D H3?D H3?D H3?D! ! ! !

  • 63
  • 11

11 11 11;K* ;K* ;K* ;K*';" ';" ';" ';"

  • 64
  • 11

11 11 11;/* ;/* ;/* ;/*';% ';% ';% ';%

  • 65
  • ;9

;9 ;9 ;9* * * *

  • 66 0

0$: $: $: $:

  • 67

68

  • 9$;$P""

9$;$P"" 9$;$P"" 9$;$P""$ $ $ $

  • 69

70

  • ";$""%;

";$""%; ";$""%; ";$""%;

  • 71
  • "

" " "&;/O &;/O &;/O &;/O<# <# <# <#TT;/O TT;/O TT;/O TT;/OMM# MM# MM# MM#( ( ( (

  • 72 '$7&(*

'$7&(* '$7&(* '$7&(*9:/ 9:/ 9:/ 9:/

  • 73
  • Outline

" # " # " # " #

'# moveBall direction if %

slide-40
SLIDE 40

40

74

  • ";$"""

";$""" ";$""" ";$"""

  • 75
  • "

" " "&;KO &;KO &;KO &;KO# # # #TT;KO TT;KO TT;KO TT;KO8## 8## 8## 8##( ( ( (

  • 76 '$A+&(*

'$A+&(* '$A+&(* '$A+&(*9:/ 9:/ 9:/ 9:/

  • 77 0

0"'G "'G "'G "'G

  • 78

79 ' ' ' ''$7&( '$7&( '$7&( '$7&(

  • '$;P$%

'$;P$% '$;P$% '$;P$%1 1 1 1: : : :

  • 80 )

) ) )

  • 81
  • "

" " "&&Q &&Q &&Q &&Q= = = =(OO (OO (OO (OO# # # #( ( ( (,:,$';$ ,:,$';$ ,:,$';$ ,:,$';$

  • 82
  • CC*

CC* CC* CC*9;$'% 9;$'% 9;$'% 9;$'%

  • 83
  • $

$ $ $,%,$;$ ,%,$;$ ,%,$;$ ,%,$;$

  • 84
  • 11

11 11 11* * * *9;$': 9;$': 9;$': 9;$':

  • 85 0

0"'$7 "'$7 "'$7 "'$7

  • 86

87 ' ' ' ''$A+&( '$A+&( '$A+&( '$A+&('$$+ '$$+ '$$+ '$$+

  • 88 )

) ) )

  • 89
  • O&C

O&C O&C O&C= = = =(Q (Q (Q (QM M M M* * * *'$+ '$+ '$+ '$+

  • 90 0

0"'$A+ "'$A+ "'$A+ "'$A+

  • Outline

" # " # " # " #

## if

slide-41
SLIDE 41

41

15.5 Animation with Double Buffering

:&.9/R@562S( :&.9/R@562S( :&.9/R@562S( :&.9/R@562S(

– 9/ 9/ 9/ 9/

  • – 9/R@562

9/R@562 9/R@562 9/R@562S S S S G- – G

9 9 9 9

– 6 – '-K$$

  • – GM@B9@&B
slide-42
SLIDE 42

42

Color Red value Green value Blue value

( &)) * * + * &)) * , * * &))

&)) &** * . &)) "/) "/) * &)) &)) &)) * &)) 1 &)) &)) * , * * * 2 &)) &)) &)) + "&3 "&3 "&3 "4& "4& "4& 5# 5# 5#

  • Fig. 15.6 | The red, green, and blue intensities of common colors in Allegro.
slide-43
SLIDE 43

43

15.5 Animation with Double Buffering

+?

– #$- – +- – <()

  • – %$

– '

slide-44
SLIDE 44

44

1 U!" #U U!" #U U!" #U U!" #U

  • 2

H$;;"" H$;;"" H$;;"" H$;;""

  • 3
  • 4

5 $/;$$";P$%$$;$ $/;$$";P$%$$;$ $/;$$";P$%$$;$ $/;$$";P$%$$;$

  • 6

" " " "-EIAD#

  • EIAD#
  • EIAD#
  • EIAD#
  • 7

" " " "H3EIAD H3EIAD H3EIAD H3EIAD

  • 8

" " " "-?D=

  • ?D=
  • ?D=
  • ?D=
  • 9

" " " "H3?D H3?D H3?D H3?D< < < <

  • 10

11 "%/%$ "%/%$ "%/%$ "%/%$

  • 12 '

' ' ''G& 'G& 'G& 'G&' ' ' '(* (* (* (*

  • 13 '

' ' ''$7& '$7& '$7& '$7&' ' ' '(* (* (* (*

  • 14 '

' ' ''$A+& '$A+& '$A+& '$A+&' ' ' '(* (* (* (*

  • 15

16

  • ;K*

;K* ;K* ;K*;P$K ;P$K ;P$K ;P$K1 1 1 1

  • 17
  • ;/*

;/* ;/* ;/*;P$/ ;P$/ ;P$/ ;P$/1 1 1 1

  • 18
  • *

* * *;P$ ;P$ ;P$ ;P$

  • 19 GD3;*

GD3;* GD3;* GD3;*%;P$;% %;P$;% %;P$;% %;P$;%

  • 20 GD3;""*

GD3;""* GD3;""* GD3;""*

  • %;""

%;"" %;"" %;""

  • 21
  • Outline

" #U " #U " #U " #U

"# buffer

slide-45
SLIDE 45

45

22

  • &

& & &

  • '

' ' '

  • (

( ( (

  • 23 )

) ) )

  • 24
  • "$>$%%$

"$>$%%$ "$>$%%$ "$>$%%$

  • 25 &(*

&(* &(* &(*+ + + +

  • 26 $9/;&(*

$9/;&(* $9/;&(* $9/;&(*$9/;"$ $9/;"$ $9/;"$ $9/;"$

  • 27 $%&

$%& $%& $%&8 8 8 8(* (* (* (*$ $ $ $%8 %8 %8 %81 1 1 1; ; ; ;

  • 28 $"K&ILHDD2D>

$"K&ILHDD2D> $"K&ILHDD2D> $"K&ILHDD2D>8M# 8M# 8M# 8M#> > > >MN# MN# MN# MN#> > > ># # # #> > > ># # # #(* (* (* (*$%$ $%$ $%$ $%$

  • 29 ;O;%&

;O;%& ;O;%& ;O;%&,;;%, ,;;%, ,;;%, ,;;%,> > > >H?? H?? H?? H??(* (* (* (*;;% ;;% ;;% ;;%

  • 30
  • ;""O;%&

;""O;%& ;""O;%& ;""O;%&62E- 62E- 62E- 62E-> > > >62EA 62EA 62EA 62EA(* (* (* (*;"" ;"" ;"" ;""

  • 31
  • ;KO

;KO ;KO ;KO62E- 62E- 62E- 62E-

  • =

= = =* * * *';$K ';$K ';$K ';$K1 1 1 1

  • 32 ;/O

;/O ;/O ;/O62EA 62EA 62EA 62EA

  • =

= = =* * * *';$/ ';$/ ';$/ ';$/1 1 1 1

  • 33 $&&

$&& $&& $&&H?? H?? H?? H??((* ((* ((* ((*$" $" $" $"

  • 34 O&(Q

O&(Q O&(Q O&(QM M M M* * * *

  • 9

9 9 9

  • 35

36

  • :

: : :&.9/R &.9/R &.9/R &.9/R@562 @562 @562 @562S( S( S( S($%9/$%$$ $%9/$%$$ $%9/$%$$ $%9/$%$$

  • 37 )

) ) )

  • 38 'G&(*

'G&(* 'G&(* 'G&(*'; '; '; ';

  • 39
  • :>%";;""

:>%";;"" :>%";;"" :>%";;""

  • 40
  • &;"">9&

&;"">9& &;"">9& &;"">9&

  • =

= = = > > > >= = = = > > > >= = = = ((* ((* ((* ((*

  • 41
  • ;&;>;"">

;&;>;""> ;&;>;""> ;&;>;""># # # #> > > ># # # #>;K>;/>; >;K>;/>; >;K>;/>; >;K>;/>;1 1 1 1:>; :>; :>; :>;1 1 1 1(* (* (* (*

  • 42
  • ;&;"">$>

;&;"">$> ;&;"">$> ;&;"">$># # # #> > > ># # # #> > > ># # # #> > > ># # # #>;"" >;"" >;"" >;""1 1 1 1:>;"" :>;"" :>;"" :>;""1 1 1 1(* (* (* (*

  • 43
  • ;%&;""(*

;%&;""(* ;%&;""(* ;%&;""(*

  • 44
  • 0:

: : :

  • 45

46 $/;%&;(* $/;%&;(* $/;%&;(* $/;%&;(*$/;;% $/;;% $/;;% $/;;%

  • 47
  • $/;%&;""(*

$/;%&;""(* $/;%&;""(* $/;%&;""(*

  • $/;"";%

$/;"";% $/;"";% $/;"";%

  • 48
  • #

# # #* * * *

  • 49 0

0" " " "

  • 50 &(

&( &( &(P"$. P"$. P"$. P"$.

  • 51
  • Outline

" #U " #U " #U " #U

&# buffer

  • $

6

  • ,

%

slide-46
SLIDE 46

46

52 ' ' ' ''G&( 'G&( 'G&( 'G&('$; '$; '$; '$;

  • 53 )

) ) )

  • 54
  • $:

$: $: $:&() &() &() &()

  • 55
  • $

$ $ $

  • EIAD
  • EIAD
  • EIAD
  • EIAD!

! ! !

  • 56 CC;K*

CC;K* CC;K* CC;K*'; '; '; ';

  • 57 CC;/*

CC;/* CC;/* CC;/*';: ';: ';: ';:

  • 58
  • ;9

;9 ;9 ;9* * * *

  • 59
  • $

$ $ $H3EI H3EI H3EI H3EIAD AD AD AD! ! ! !

  • 60 CC;K*

CC;K* CC;K* CC;K*'; '; '; ';

  • 61
  • 11

11 11 11;/* ;/* ;/* ;/*';% ';% ';% ';%

  • 62
  • ;9

;9 ;9 ;9* * * *

  • 63
  • $

$ $ $-?D

  • ?D
  • ?D
  • ?D!

! ! !

  • 64
  • 11

11 11 11;K* ;K* ;K* ;K*';" ';" ';" ';"

  • 65 CC;/*

CC;/* CC;/* CC;/*';: ';: ';: ';:

  • 66
  • ;9

;9 ;9 ;9* * * *

  • 67
  • $

$ $ $H3?D H3?D H3?D H3?D! ! ! !

  • 68
  • 11

11 11 11;K* ;K* ;K* ;K*';" ';" ';" ';"

  • 69
  • 11

11 11 11;/* ;/* ;/* ;/*';% ';% ';% ';%

  • 70
  • ;9

;9 ;9 ;9* * * *

  • 71 0

0$: $: $: $:

  • 72

73

  • 9$;$P""

9$;$P"" 9$;$P"" 9$;$P""$ $ $ $

  • 74

75

  • ";$""%;

";$""%; ";$""%; ";$""%;

  • 76
  • "

" " "&;/O &;/O &;/O &;/O<# <# <# <#TT;/O TT;/O TT;/O TT;/OMM# MM# MM# MM#( ( ( (

  • 77 '$7&(*

'$7&(* '$7&(* '$7&(*

  • 78
  • Outline

" #U " #U " #U " #U

'#

slide-47
SLIDE 47

47

79

  • ";$"""

";$""" ";$""" ";$"""

  • 80
  • "

" " "&;KO &;KO &;KO &;KO# # # #TT;KO TT;KO TT;KO TT;KO8## 8## 8## 8##( ( ( (

  • 81 '$A+&(*

'$A+&(* '$A+&(* '$A+&(*

  • 82 0

0"'G "'G "'G "'G

  • 83

84 ' ' ' ''$7&( '$7&( '$7&( '$7&('$;P$% '$;P$% '$;P$% '$;P$%1 1 1 1: : : :

  • 85 )

) ) )

  • 86
  • "

" " "&&Q &&Q &&Q &&Q= = = =(OO (OO (OO (OO# # # #( ( ( (,:,$';$ ,:,$';$ ,:,$';$ ,:,$';$

  • 87 CC*

CC* CC* CC*9;$'% 9;$'% 9;$'% 9;$'%

  • 88 $

$ $ $,%, ,%, ,%, ,%,$;$ $;$ $;$ $;$

  • 89
  • 11

11 11 11* * * *9;$': 9;$': 9;$': 9;$':

  • 90 0

0"'$7 "'$7 "'$7 "'$7

  • 91

92 ' ' ' ''$A+&( '$A+&( '$A+&( '$A+&('$$+ '$$+ '$$+ '$$+

  • 93 )

) ) )

  • 94 O&

O& O& O&C C C C= = = =(Q (Q (Q (QM M M M* * * *'$+ '$+ '$+ '$+

  • 95 0

0"'$A+ "'$A+ "'$A+ "'$A+

  • Outline

" #U " #U " #U " #U

##

slide-48
SLIDE 48

48

15.6 Importing and Playing Sounds

#

– #

  • – .

63? 63? 63? 63?

  • ()

$% $% $% $%

– ;% ;% ;% ;% $$% $% $% $%

  • – '-K

– 663? 63? 63? 63? H?? H?? H?? H??

slide-49
SLIDE 49

49

15.6 Importing and Playing Sounds

%/$% %/$% %/$% %/$%

– 63? 63? 63? 63? – '-K63? 63? 63? 63? – E –

  • M@B9@&B

– '*

  • M@-B9@-BK9D
  • 7

– E*7

  • MMM 7

K

– ,

  • "
slide-50
SLIDE 50

50

15.6 Importing and Playing Sounds

$/$% $/$% $/$% $/$%

– + – 2 – $

  • – '-63?

63? 63? 63?

%

– +&

slide-51
SLIDE 51

51

Function prototype Description

63?$%&$ "(

  • $

:'(H??

  • %/$%&$63?$%>

'>%>"V> %( . 667$ %8

  • '4$$%&$

63?$%>'>%> "V>%( 9%

  • 6
  • '$%$%&$

63?$%( : '$/$%&63?$%(

  • ;

6

  • Fig. 15.8 | Important SAMPLE functions.
slide-52
SLIDE 52

52

15.6 Importing and Playing Sounds

$$ $$ $$ $$

– . – '-K – E

  • () IHDD2D

IHDD2D IHDD2D IHDD2D HDD2D HDD2D HDD2D HDD2D

– 'L H?? H?? H?? H??

  • %
  • "

" " "

slide-53
SLIDE 53

53

1 W!" #W W!" #W W!" #W W!" #W

  • 2

H+$"$ H+$"$ H+$"$ H+$"$

  • 3
  • 4

5 $/;$$";P$%$$;$ $/;$$";P$%$$;$ $/;$$";P$%$$;$ $/;$$";P$%$$;$

  • 6

" " " "-EIAD#

  • EIAD#
  • EIAD#
  • EIAD#
  • 7

" " " "H3EIAD H3EIAD H3EIAD H3EIAD

  • 8

" " " "-?D=

  • ?D=
  • ?D=
  • ?D=
  • 9

" " " "H3?D< H3?D< H3?D< H3?D<

  • 10

11 "%/%$ "%/%$ "%/%$ "%/%$

  • 12 '

' ' ''G& 'G& 'G& 'G&' ' ' '(* (* (* (*

  • 13 '

' ' ''$7& '$7& '$7& '$7&' ' ' '(* (* (* (*

  • 14 '

' ' ''$A+& '$A+& '$A+& '$A+&' ' ' '(* (* (* (*

  • 15

16

  • ;K*

;K* ;K* ;K*;P$K ;P$K ;P$K ;P$K1 1 1 1

  • 17
  • ;/*

;/* ;/* ;/*;P$/ ;P$/ ;P$/ ;P$/1 1 1 1

  • 18
  • *

* * *;P$ ;P$ ;P$ ;P$

  • 19 GD3;*

GD3;* GD3;* GD3;*%;P$;% %;P$;% %;P$;% %;P$;%

  • 20 GD3;""*

GD3;""* GD3;""* GD3;""*%;"" %;"" %;"" %;""

  • 21 63?;*

63?;* 63?;* 63?;*

  • %$"

%$" %$" %$"

  • 22
  • Outline

" #W " #W " #W " #W

") boing

slide-54
SLIDE 54

54

23

  • &

& & &

  • '

' ' '

  • (

( ( (

  • 24 )

) ) )

  • 25
  • "$>$%%$

"$>$%%$ "$>$%%$ "$>$%%$

  • 26 &(*

&(* &(* &(*+ + + +

  • 27 $9/;&(*

$9/;&(* $9/;&(* $9/;&(*$9/;"$ $9/;"$ $9/;"$ $9/;"$

  • 28
  • $$&

$$& $$& $$&IHDD2D IHDD2D IHDD2D IHDD2D> > > >H H H HDD2D DD2D DD2D DD2D> > > >H?? H?? H?? H??(* (* (* (*

  • 29 $%&

$%& $%& $%&8 8 8 8(* (* (* (*$%8 $%8 $%8 $%81 1 1 1; ; ; ;

  • 30 $"K&

$"K& $"K& $"K&ILHDD2D ILHDD2D ILHDD2D ILHDD2D> > > >8M# 8M# 8M# 8M#> > > >MN# MN# MN# MN#> > > ># # # #> > > ># # # #(* (* (* (*$%$ $%$ $%$ $%$

  • 31 ;O;%&

;O;%& ;O;%& ;O;%&,;;%, ,;;%, ,;;%, ,;;%,> > > >H?? H?? H?? H??(* (* (* (*;;% ;;% ;;% ;;%

  • 32 ;""O

;""O ;""O ;""O;%& ;%& ;%& ;%&62E- 62E- 62E- 62E-> > > >62EA 62EA 62EA 62EA(* (* (* (*;"" ;"" ;"" ;""

  • 33
  • ;O$%&

;O$%& ;O$%& ;O$%&,;:', ,;:', ,;:', ,;:',(* (* (* (*

  • $"

$" $" $"

  • 34 ;KO

;KO ;KO ;KO62E- 62E- 62E- 62E-

  • =

= = =* * * *';$K ';$K ';$K ';$K1 1 1 1

  • 35 ;/O

;/O ;/O ;/O62EA 62EA 62EA 62EA

  • =

= = =* * * *';$ ';$ ';$ ';$/ / / /1 1 1 1

  • 36 $&&

$&& $&& $&&H?? H?? H?? H??((* ((* ((* ((*$" $" $" $"

  • 37 O&(Q

O&(Q O&(Q O&(QM M M M* * * *9 9 9 9

  • 38
  • :

: : :&.9/R &.9/R &.9/R &.9/R@562 @562 @562 @562S( S( S( S($%9/$%$$ $%9/$%$$ $%9/$%$$ $%9/$%$$

  • 39 )

) ) )

  • 40
  • 'G&(*

'G&(* 'G&(* 'G&(*'; '; '; ';

  • 41
  • :>%";;""

:>%";;"" :>%";;"" :>%";;""

  • 42 &;"">9&

&;"">9& &;"">9& &;"">9&= = = = > > > >= = = = > > > >= = = = ((* ((* ((* ((*

  • 43 ;&;>;"">

;&;>;""> ;&;>;""> ;&;>;""># # # #> > > ># # # #>;K>;/>; >;K>;/>; >;K>;/>; >;K>;/>;1 1 1 1:>; :>; :>; :>;1 1 1 1(* (* (* (*

  • 44 ;&;"">$>

;&;"">$> ;&;"">$> ;&;"">$># # # #> > > ># # # #> > > ># # # #> > > ># # # #>;"" >;"" >;"" >;""1 1 1 1:>;"" :>;"" :>;"" :>;""1 1 1 1(* (* (* (*

  • 45 ;%&;""(*

;%&;""(* ;%&;""(* ;%&;""(*

  • 46 0

0:% :% :% :%

  • Outline

" #W " #W " #W " #W

&) install_sound

  • load_sample
slide-55
SLIDE 55

55

47 $/;%&;(* $/;%&;(* $/;%&;(* $/;%&;(*$/;;% $/;;% $/;;% $/;;%

  • 48 $/;%&;""(*

$/;%&;""(* $/;%&;""(* $/;%&;""(*$/;"";% $/;"";% $/;"";% $/;"";%

  • 49
  • $/$%&;(*

$/$%&;(* $/$%&;(* $/$%&;(*

  • $/;$"

$/;$" $/;$" $/;$"

  • 50
  • #

# # #* * * *

  • 51 0

0" " " "

  • 52
  • &(

&( &( &(P"$. P"$. P"$. P"$.

  • 53

54 ' ' ' ''G&( 'G&( 'G&( 'G&('$; '$; '$; '$;

  • 55 )

) ) )

  • 56
  • $:

$: $: $:&() &() &() &()

  • 57
  • $

$ $ $

  • EIAD
  • EIAD
  • EIAD
  • EIAD!

! ! !

  • 58 CC;K*

CC;K* CC;K* CC;K*'; '; '; ';

  • 59 CC;/*

CC;/* CC;/* CC;/*';: ';: ';: ';:

  • 60
  • ;9

;9 ;9 ;9* * * *

  • 61
  • $

$ $ $H3EIAD H3EIAD H3EIAD H3EIAD! ! ! !

  • 62 CC;K*

CC;K* CC;K* CC;K*'; '; '; ';

  • 63
  • 11

11 11 11;/* ;/* ;/* ;/*';% ';% ';% ';%

  • 64
  • ;9

;9 ;9 ;9* * * *

  • 65
  • $

$ $ $-?D

  • ?D
  • ?D
  • ?D!

! ! !

  • 66
  • 11

11 11 11;K* ;K* ;K* ;K*';" ';" ';" ';"

  • 67 CC;/*

CC;/* CC;/* CC;/*';: ';: ';: ';:

  • 68
  • ;9

;9 ;9 ;9* * * *

  • 69
  • $

$ $ $H3?D H3?D H3?D H3?D! ! ! !

  • 70
  • 11

11 11 11;K* ;K* ;K* ;K*';" ';" ';" ';"

  • 71
  • 11

11 11 11;/* ;/* ;/* ;/*';% ';% ';% ';%

  • 72
  • ;9

;9 ;9 ;9* * * *

  • 73 0

0$: $: $: $:

  • 74
  • Outline

" #W " #W " #W " #W

') :

slide-56
SLIDE 56

56

75

  • 9$;$P""$

9$;$P""$ 9$;$P""$ 9$;$P""$

  • 76

77

  • ";$""%;

";$""%; ";$""%; ";$""%;

  • 78
  • "

" " "&;/O &;/O &;/O &;/O<# <# <# <#TT;/O TT;/O TT;/O TT;/OMM# MM# MM# MM#( ( ( (

  • 79 '$7&(*

'$7&(* '$7&(* '$7&(*

  • 80

81

  • ";$"""

";$""" ";$""" ";$"""

  • 82
  • "

" " "&;KO &;KO &;KO &;KO# # # #TT;KO TT;KO TT;KO TT;KO8## 8## 8## 8##( ( ( (

  • 83 '$A+&(*

'$A+&(* '$A+&(* '$A+&(*

  • 84 0

0"'G "'G "'G "'G

  • 85

86 ' ' ' ''$7&( '$7&( '$7&( '$7&('$;P$% '$;P$% '$;P$% '$;P$%1 1 1 1: : : :

  • 87 )

) ) )

  • 88
  • "

" " "&&Q &&Q &&Q &&Q

  • =

= = =(OO (OO (OO (OO# # # #( ( ( (,:,$';$ ,:,$';$ ,:,$';$ ,:,$';$

  • 89 CC*

CC* CC* CC*9;$'% 9;$'% 9;$'% 9;$'%

  • 90 $

$ $ $,%,$;$ ,%,$;$ ,%,$;$ ,%,$;$

  • 91
  • 11

11 11 11* * * *9;$': 9;$': 9;$': 9;$':

  • 92
  • %/$%&;>

%/$%&;> %/$%&;> %/$%&;>= = = = > > > >=N =N =N =N> > > >### ### ### ###> > > ># # # #(* (* (* (*

  • %/,;,$

%/,;,$ %/,;,$ %/,;,$

  • 93 0

0"'$7 "'$7 "'$7 "'$7

  • Outline

" #W " #W " #W " #W

#) :

slide-57
SLIDE 57

57

94 95 ' ' ' ''$A+&( '$A+&( '$A+&( '$A+&('$$+ '$$+ '$$+ '$$+

  • 96 )

) ) )

  • 97 O&C

O&C O&C O&C= = = =(Q (Q (Q (QM M M M* * * *'$+ '$+ '$+ '$+

  • 98
  • %/$%&;>

%/$%&;> %/$%&;> %/$%&;>= = = = > > > >=N =N =N =N> > > >### ### ### ###> > > ># # # #(* (* (* (*

  • %/,;,$

%/,;,$ %/,;,$ %/,;,$

  • 99 0
  • "'$A+

"'$A+ "'$A+ "'$A+

  • Outline

" #W " #W " #W " #W

)) :

slide-58
SLIDE 58

58

15.7 Keyboard Input

#

– E$

$9/; $9/; $9/; $9/;

– - – '- – .-

slide-59
SLIDE 59

59

15.7 Keyboard Input

9/ 9/ 9/ 9/

– -

  • – G-&

– #-$ ML $ " – - &9/ 9/ 9/ 9/

  • '-@5

@5 @5 @5

  • '@5632

@5632 @5632 @5632

– E&$9/R@5632 9/R@5632 9/R@5632 9/R@5632S S S S M $" – " " " " --

slide-60
SLIDE 60

60

1 #!" # #!" # #!" # #!" #

  • 2

%$9/;% %$9/;% %$9/;% %$9/;%

  • 3
  • 4

5 $/;$$";P$%$$;$ $/;$$";P$%$$;$ $/;$$";P$%$$;$ $/;$$";P$%$$;$

  • 6

" " " "-EIAD#

  • EIAD#
  • EIAD#
  • EIAD#
  • 7

" " " "H3EIAD H3EIAD H3EIAD H3EIAD

  • 8

" " " "-?D=

  • ?D=
  • ?D=
  • ?D=
  • 9

" " " "H3? H3? H3? H3?D< D< D< D<

  • 10

11 "%/%$ "%/%$ "%/%$ "%/%$

  • 12 '

' ' ''G& 'G& 'G& 'G&' ' ' '(* (* (* (*

  • 13 '

' ' '$%D@/;& $%D@/;& $%D@/;& $%D@/;&' ' ' '(* (* (* (*

  • 14 '

' ' ''$7& '$7& '$7& '$7&' ' ' '(* (* (* (*

  • 15 '

' ' ''$A+& '$A+& '$A+& '$A+&' ' ' '(* (* (* (*

  • 16

17

  • ;K*

;K* ;K* ;K*;P$K ;P$K ;P$K ;P$K1 1 1 1

  • 18
  • ;/*

;/* ;/* ;/*;P$/ ;P$/ ;P$/ ;P$/1 1 1 1

  • 19
  • ;?/*

;?/* ;?/* ;?/*

  • /

/ / /1 1 1 1""% ""% ""% ""%

  • 20
  • ;E/*

;E/* ;E/* ;E/*

  • /

/ / /1 1 1 1"% "% "% "%

  • 21
  • *

* * *;P$ ;P$ ;P$ ;P$

  • 22 GD3;*

GD3;* GD3;* GD3;*%;P$;% %;P$;% %;P$;% %;P$;%

  • 23 GD3;*

GD3;* GD3;* GD3;*

  • %%P$;%

%%P$;% %%P$;% %%P$;%

  • 24 GD3;""*

GD3;""* GD3;""* GD3;""*%;"" %;"" %;"" %;""

  • 25 63?;*

63?;* 63?;* 63?;*%$" %$" %$" %$"

  • 26
  • Outline

" # " # " # " #

"/ <

  • 2.6
slide-61
SLIDE 61

61

27

  • &

& & &

  • '

' ' '

  • (

( ( (

  • 28 )

) ) )

  • 29
  • "$>$%%$

"$>$%%$ "$>$%%$ "$>$%%$

  • 30 &(*

&(* &(* &(*+ + + +

  • 31 $9/;&(*

$9/;&(* $9/;&(* $9/;&(*$9/;"$ $9/;"$ $9/;"$ $9/;"$

  • 32 $$&

$$& $$& $$&IHDD2D IHDD2D IHDD2D IHDD2D> > > >H H H HDD2D DD2D DD2D DD2D> > > >H?? H?? H?? H??(* (* (* (*

  • 33 $%&

$%& $%& $%&8 8 8 8(* (* (* (*$%8 $%8 $%8 $%81 1 1 1; ; ; ;

  • 34 $"K&

$"K& $"K& $"K&ILHDD2D ILHDD2D ILHDD2D ILHDD2D> > > >8M# 8M# 8M# 8M#> > > >MN# MN# MN# MN#> > > ># # # #> > > ># # # #(* (* (* (*$%$ $%$ $%$ $%$

  • 35 ;O;%&

;O;%& ;O;%& ;O;%&,;;%, ,;;%, ,;;%, ,;;%,> > > >H?? H?? H?? H??(* (* (* (*;;% ;;% ;;% ;;%

  • 36
  • ;O

;O ;O ;O;%& ;%& ;%& ;%&,;;%, ,;;%, ,;;%, ,;;%,> > > >H?? H?? H?? H??(* (* (* (*

  • ;;%

;;% ;;% ;;%

  • 37 ;""O;%&

;""O;%& ;""O;%& ;""O;%&62E- 62E- 62E- 62E-> > > >62EA 62EA 62EA 62EA(* (* (* (*;"" ;"" ;"" ;""

  • 38 ;O$%&

;O$%& ;O$%& ;O$%&,;:', ,;:', ,;:', ,;:',(* (* (* (*$" $" $" $"

  • 39 ;KO

;KO ;KO ;KO62E- 62E- 62E- 62E-

  • =

= = =* * * *';$ ';$ ';$ ';$K K K K1 1 1 1

  • 40 ;/O

;/O ;/O ;/O62EA 62EA 62EA 62EA

  • =

= = =* * * *';$/ ';$/ ';$/ ';$/1 1 1 1

  • 41
  • ;?/O

;?/O ;?/O ;?/O62EA 62EA 62EA 62EA

  • =

= = =* * * *

  • '"%$/

'"%$/ '"%$/ '"%$/1 1 1 1

  • 42
  • ;E/O

;E/O ;E/O ;E/O62EA 62EA 62EA 62EA

  • =

= = =* * * *

  • '%$/

'%$/ '%$/ '%$/1 1 1 1

  • 43 $&&

$&& $&& $&&H?? H?? H?? H??((* ((* ((* ((*$" $" $" $"

  • 44 O&(Q

O&(Q O&(Q O&(QM M M M* * * *9 9 9 9

  • 45
  • Outline

" # " # " # " #

&/ $% $

slide-62
SLIDE 62

62

46

  • :

: : :&.9/R &.9/R &.9/R &.9/R@562 @562 @562 @562S( S( S( S($%9/$%$$ $%9/$%$$ $%9/$%$$ $%9/$%$$

  • 47 )

) ) )

  • 48 'G&(*

'G&(* 'G&(* 'G&(*'; '; '; ';

  • 49
  • $%D@/;&(*

$%D@/;&(* $%D@/;&(* $%D@/;&(*

  • $%9/;%

$%9/;% $%9/;% $%9/;%

  • 50
  • :>%";;""

:>%";;"" :>%";;"" :>%";;""

  • 51
  • &;"">9&

&;"">9& &;"">9& &;"">9&= = = = > > > >= = = = > > > >= = = = ((* ((* ((* ((*

  • 52 ;&;>;"">

;&;>;""> ;&;>;""> ;&;>;""># # # #> > > ># # # #>;K>;/>; >;K>;/>; >;K>;/>; >;K>;/>;1 1 1 1:>; :>; :>; :>;1 1 1 1(* (* (* (*

  • 53
  • ;&;>;"">

;&;>;""> ;&;>;""> ;&;>;""># # # #> > > ># # # #> > > ># # # #>;?/>; >;?/>; >;?/>; >;?/>;1 1 1 1:>; :>; :>; :>;1 1 1 1(* (* (* (*

  • 54
  • ;&;>;"">

;&;>;""> ;&;>;""> ;&;>;""># # # #> > > ># # # #> > > >8=# 8=# 8=# 8=#>;E/>; >;E/>; >;E/>; >;E/>;1 1 1 1:>; :>; :>; :>;1 1 1 1(* (* (* (*

  • 55 ;&;"">$>

;&;"">$> ;&;"">$> ;&;"">$># # # #> > > ># # # #> > > ># # # #> > > ># # # #>;"" >;"" >;"" >;""1 1 1 1:>;"" :>;"" :>;"" :>;""1 1 1 1(* (* (* (*

  • 56 ;%&;""(*

;%&;""(* ;%&;""(* ;%&;""(*

  • 57 0

0: : : :

  • 58

59 $/;%&;(* $/;%&;(* $/;%&;(* $/;%&;(*$/;;% $/;;% $/;;% $/;;%

  • 60
  • $/;

$/; $/; $/;%&;(* %&;(* %&;(* %&;(*

  • $/;;%

$/;;% $/;;% $/;;%

  • 61 $/;%&;""(*

$/;%&;""(* $/;%&;""(* $/;%&;""(*$/;"";% $/;"";% $/;"";% $/;"";%

  • 62 $/$%&;(*

$/$%&;(* $/$%&;(* $/$%&;(*$/;$" $/;$" $/;$" $/;$"

  • 63
  • #

# # #* * * *

  • 64 0

0" " " "

  • 65 &(

&( &( &(P" P" P" P"$. $. $. $.

  • 66

67 ' ' ' ''G&( 'G&( 'G&( 'G&('$; '$; '$; '$;

  • Outline

" # " # " # " #

'/ respondToKeyboard while

slide-63
SLIDE 63

63

68 ) ) ) )

  • 69
  • $:

$: $: $:&() &() &() &()

  • 70
  • $

$ $ $

  • EIAD
  • EIAD
  • EIAD
  • EIAD!

! ! !

  • 71 CC;K*

CC;K* CC;K* CC;K*'; '; '; ';

  • 72 CC;/*

CC;/* CC;/* CC;/*';: ';: ';: ';:

  • 73
  • ;9

;9 ;9 ;9* * * *

  • 74
  • $

$ $ $H3EIAD H3EIAD H3EIAD H3EIAD! ! ! !

  • 75 CC;K*

CC;K* CC;K* CC;K*'; '; '; ';

  • 76
  • 11

11 11 11;/* ;/* ;/* ;/*';% ';% ';% ';%

  • 77
  • ;9

;9 ;9 ;9* * * *

  • 78
  • $

$ $ $-?D

  • ?D
  • ?D
  • ?D!

! ! !

  • 79
  • 11

11 11 11;K* ;K* ;K* ;K*';" ';" ';" ';"

  • 80 CC;/*

CC;/* CC;/* CC;/*';: ';: ';: ';:

  • 81
  • ;9

;9 ;9 ;9* * * *

  • 82
  • $

$ $ $H3?D H3?D H3?D H3?D! ! ! !

  • 83
  • 11

11 11 11;K* ;K* ;K* ;K*';" ';" ';" ';"

  • 84
  • 11

11 11 11;/* ;/* ;/* ;/*';% ';% ';% ';%

  • 85
  • ;9

;9 ;9 ;9* * * *

  • 86 0

0$: $: $: $:

  • 87

88

  • 9$;$P""$

9$;$P""$ 9$;$P""$ 9$;$P""$

  • 89

90

  • ";$

";$ ";$ ";$""%; ""%; ""%; ""%;

  • 91
  • "

" " "&;/O &;/O &;/O &;/O<# <# <# <#TT;/O TT;/O TT;/O TT;/OMM# MM# MM# MM#( ( ( (

  • 92 '$7&(*

'$7&(* '$7&(* '$7&(*

  • 93

94

  • ";$"""

";$""" ";$""" ";$"""

  • 95
  • "

" " "&;KO &;KO &;KO &;KO# # # #TT;KO TT;KO TT;KO TT;KO8## 8## 8## 8##( ( ( (

  • 96
  • '$A+

'$A+ '$A+ '$A+&(* &(* &(* &(*

  • 97 0

0"'G "'G "'G "'G

  • Outline

" # " # " # " #

#/

slide-64
SLIDE 64

64

98 99 ' ' ' '$%D@/;&( $%D@/;&( $%D@/;&( $%D@/;&($%$9/;% $%$9/;% $%$9/;% $%$9/;%

  • 100

) ) ) )

  • 101
  • "

" " "&9/R &9/R &9/R &9/R@5 @5 @5 @5S( S( S( S("$;%$$ "$;%$$ "$;%$$ "$;%$$

  • 102
  • ;?/

;?/ ;?/ ;?/1 1 1 1O O O O< < < <* * * *'"%% '"%% '"%% '"%%

  • 103
  • "

" " "&9/R &9/R &9/R &9/R@5X @5X @5X @5XS( S( S( S("X$;%$$ "X$;%$$ "X$;%$$ "X$;%$$

  • 104
  • ;?/CO

;?/CO ;?/CO ;?/CO< < < <* * * *'"%: '"%: '"%: '"%:

  • 105

106

  • "

" " "&9/R &9/R &9/R &9/R@5H3 @5H3 @5H3 @5H3S( S( S( S("%:9/$;%$$ "%:9/$;%$$ "%:9/$;%$$ "%:9/$;%$$

  • 107
  • ;E/

;E/ ;E/ ;E/1 1 1 1O O O O< < < <* * * *'%% '%% '%% '%%

  • 108
  • "

" " "&9/R &9/R &9/R &9/R@5- @5- @5- @5-

  • S(

S( S( S("::9/$;%$$ "::9/$;%$$ "::9/$;%$$ "::9/$;%$$

  • 109
  • ;E/CO

;E/CO ;E/CO ;E/CO< < < <* * * *'%: '%: '%: '%:

  • 110

111

  • 9$%$

9$%$ 9$%$ 9$%$P""$ P""$ P""$ P""$

  • 112
  • "

" " "&;?/ &;?/ &;?/ &;?/<# <# <# <#( ( ( (""%$""% ""%$""% ""%$""% ""%$""%

  • 113
  • ;?/O

;?/O ;?/O ;?/O<# <# <# <#* * * *

  • 114
  • $

$ $ $

  • "

" " "&;?/ &;?/ &;?/ &;?/<N# <N# <N# <N#( ( ( ("" "" "" ""%$""; %$""; %$""; %$"";

  • 115
  • ;?/O

;?/O ;?/O ;?/O<N# <N# <N# <N#* * * *

  • 116
  • "

" " "&;E/ &;E/ &;E/ &;E/<# <# <# <#( ( ( ("%$""% "%$""% "%$""% "%$""%

  • 117
  • ;E/O

;E/O ;E/O ;E/O<# <# <# <#* * * *

  • 118
  • $"

$" $" $"&;E/ &;E/ &;E/ &;E/<N# <N# <N# <N#( ( ( ("%$""; "%$""; "%$""; "%$"";

  • 119
  • ;E/O

;E/O ;E/O ;E/O<N# <N# <N# <N#* * * *

  • 120

0"$%D@/; "$%D@/; "$%D@/; "$%D@/;

  • 121
  • Outline

" # " # " # " #

)/ respondToKeyboard

  • if key
slide-65
SLIDE 65

65

122 ' ' ' ''$7&( '$7&( '$7&( '$7&('$;P$% '$;P$% '$;P$% '$;P$%1 1 1 1: : : :

  • 123

) ) ) )

  • 124
  • "

" " "&&Q &&Q &&Q &&Q= = = =(OO (OO (OO (OO# # # #( ( ( (,:,$';$ ,:,$';$ ,:,$';$ ,:,$';$

  • 125

CC* CC* CC* CC*9;$'% 9;$'% 9;$'% 9;$'%

  • 126

$ $ $ $,%, ,%, ,%, ,%,$;$ $;$ $;$ $;$

  • 127
  • 11

11 11 11* * * *9;$': 9;$': 9;$': 9;$':

  • 128

%/$%&;> %/$%&;> %/$%&;> %/$%&;>= = = = > > > >=N =N =N =N> > > >### ### ### ###> > > ># # # #(* (* (* (*%/,;,$ %/,;,$ %/,;,$ %/,;,$

  • 129

0"'$7 "'$7 "'$7 "'$7

  • 130

131 ' ' ' ''$A+ '$A+ '$A+ '$A+&( &( &( &('$$+ '$$+ '$$+ '$$+

  • 132

) ) ) )

  • 133

O&C O&C O&C O&C= = = =(Q (Q (Q (QM M M M* * * *'$+ '$+ '$+ '$+

  • 134

%/$%& %/$%& %/$%& %/$%&; ; ; ;> > > >= = = = > > > >=N =N =N =N> > > >### ### ### ###> > > ># # # #(* (* (* (*%/,;,$ %/,;,$ %/,;,$ %/,;,$

  • 135

0"'$A "'$A "'$A "'$A+ + + +

  • Outline

" # " # " # " #

5/

slide-66
SLIDE 66

66

  • Outline

" # " # " # " #

//

slide-67
SLIDE 67

67

15.8 Fonts and Displaying Text

+'&

– #$

E

– &$ & – $D D D D

  • "

" " "

– '" " " " * KD D D D

slide-68
SLIDE 68

68

15.8 Fonts and Displaying Text

" " " "

– , – '- K

  • $H??

H?? H?? H??

– 6D D D D H?? H?? H?? H??

$/" $/" $/" $/"

– + – '-D D D D – 6

slide-69
SLIDE 69

69

15.8 Fonts and Displaying Text

+'&

– %$ K%"K K%"K K%"K K%"K &

  • K%"K

K%"K K%"K K%"K

– + – '-KGD3 GD3 GD3 GD3$D D D D$ $ – E & – &

slide-70
SLIDE 70

70

15.8 Fonts and Displaying Text

K%"K K%"K K%"K K%"K

– '" " & – E&

  • &
  • <9

9 9 9

  • <1

1 1 1

  • '$
  • # $
slide-71
SLIDE 71

71

Function prototype Description

'K%"K&GD3;%> $D">K>/> >;2> $">(

  • ";%

$ 68 9 'K%"K& GD3;%>$D"> K>/>> ;2>$

  • ">
  • (
  • 2K%"K6

89

  • 'K%"K&

GD3;%>$D"> K>/>> ;2>$

  • ">
  • (
  • 2K%"K6

89

  • K&$D">

$$( ( !

  • K&$D">

$$( ( !

  • Fig. 15.11 | Functions that are useful for drawing text onto a bitmap.
slide-72
SLIDE 72

72

1 =!" = =!" = =!" = =!" =

  • 2

$%/K$ $%/K$ $%/K$ $%/K$

  • 3
  • 4

5 $/;$$";P$%$$;$ $/;$$";P$%$$;$ $/;$$";P$%$$;$ $/;$$";P$%$$;$

  • 6

" " " "-EIAD#

  • EIAD#
  • EIAD#
  • EIAD#
  • 7

" " " "H3EIAD H3EIAD H3EIAD H3EIAD

  • 8

" " " "-?D=

  • ?D=
  • ?D=
  • ?D=
  • 9

" " " "H3?D H3?D H3?D H3?D< < < <

  • 10

11 "%/%$ "%/%$ "%/%$ "%/%$

  • 12 '

' ' ''G& 'G& 'G& 'G&' ' ' '(* (* (* (*

  • 13 '

' ' '$%D@/;& $%D@/;& $%D@/;& $%D@/;&' ' ' '(* (* (* (*

  • 14 '

' ' ''$7& '$7& '$7& '$7&' ' ' '(* (* (* (*

  • 15 '

' ' ''$A+& '$A+& '$A+& '$A+&' ' ' '(* (* (* (*

  • 16

17

  • ;K*

;K* ;K* ;K*;P$K ;P$K ;P$K ;P$K1 1 1 1

  • 18
  • ;/*

;/* ;/* ;/*;P$/ ;P$/ ;P$/ ;P$/1 1 1 1

  • 19
  • ;?/*

;?/* ;?/* ;?/*/ / / /1 1 1 1""% ""% ""% ""%

  • 20
  • ;E/*

;E/* ;E/* ;E/*/ / / /1 1 1 1"% "% "% "%

  • 21
  • $?*

$?* $?* $?*

  • $""%/

$""%/ $""%/ $""%/

  • 22
  • $E*

$E* $E* $E*

  • $"%/

$"%/ $"%/ $"%/

  • 23
  • *

* * *;P$ ;P$ ;P$ ;P$

  • 24 GD3;*

GD3;* GD3;* GD3;*%;P$;% %;P$;% %;P$;% %;P$;%

  • 25 GD3;*

GD3;* GD3;* GD3;*%%P$;% %%P$;% %%P$;% %%P$;%

  • 26 GD3;""*

GD3;""* GD3;""* GD3;""*%;"" %;"" %;"" %;""

  • 27 63?;*

63?;* 63?;* 63?;*%$" %$" %$" %$"

  • 28 D

D D D%* %* %* %*

  • %""

%"" %"" %""

  • 29
  • Outline

" = " = " = " =

"5 2. 6 % FONT*

slide-73
SLIDE 73

73

30

  • &

& & &

  • '

' ' '

  • (

( ( (

  • 31 )

) ) )

  • 32
  • "$>$%%$

"$>$%%$ "$>$%%$ "$>$%%$

  • 33 &(*

&(* &(* &(*+ + + +

  • 34 $9/;&(*

$9/;&(* $9/;&(* $9/;&(*$9/;"$ $9/;"$ $9/;"$ $9/;"$

  • 35 $$&

$$& $$& $$&IHDD2D IHDD2D IHDD2D IHDD2D> > > >H H H HDD2D DD2D DD2D DD2D> > > >H?? H?? H?? H??(* (* (* (*

  • 36 $%&

$%& $%& $%&8 8 8 8(* (* (* (*$%8 $%8 $%8 $%81 1 1 1; ; ; ;

  • 37 $"K&

$"K& $"K& $"K&ILHDD2D ILHDD2D ILHDD2D ILHDD2D> > > >8M# 8M# 8M# 8M#> > > >MN# MN# MN# MN#> > > ># # # #> > > ># # # #(* (* (* (*$%$ $%$ $%$ $%$

  • 38 ;O;%&

;O;%& ;O;%& ;O;%&,;;%, ,;;%, ,;;%, ,;;%,> > > >H?? H?? H?? H??(* (* (* (*;;% ;;% ;;% ;;%

  • 39 ;O

;O ;O ;O;%& ;%& ;%& ;%&,;;%, ,;;%, ,;;%, ,;;%,> > > >H?? H?? H?? H??(* (* (* (*;;% ;;% ;;% ;;%

  • 40 ;""O;%&

;""O;%& ;""O;%& ;""O;%&62E- 62E- 62E- 62E-> > > >62EA 62EA 62EA 62EA(* (* (* (*;"" ;"" ;"" ;""

  • 41 ;O$%&

;O$%& ;O$%& ;O$%&,;:', ,;:', ,;:', ,;:',(* (* (* (*$" $" $" $"

  • 42
  • %O"&

%O"& %O"& %O"&,%"%K,>H?? ,%"%K,>H?? ,%"%K,>H?? ,%"%K,>H??> > > >H?? H?? H?? H??(* (* (* (*

  • "

" " "

  • 43 ;KO62E-

;KO62E- ;KO62E- ;KO62E-= = = =* * * *';$K ';$K ';$K ';$K1 1 1 1

  • 44 ;/O62EA

;/O62EA ;/O62EA ;/O62EA= = = =* * * *';$/ ';$/ ';$/ ';$/1 1 1 1

  • 45 ;?/O62EA

;?/O62EA ;?/O62EA ;?/O62EA= = = =* * * *'"%$/ '"%$/ '"%$/ '"%$/1 1 1 1

  • 46 ;E/O62EA

;E/O62EA ;E/O62EA ;E/O62EA= = = =* * * *'%$/ '%$/ '%$/ '%$/1 1 1 1

  • 47
  • $?O

$?O $?O $?O# # # #* * * *

  • $"%/P$$#

$"%/P$$# $"%/P$$# $"%/P$$#

  • 48
  • $EO

$EO $EO $EO# # # #* * * *

  • $%/P$$#

$%/P$$# $%/P$$# $%/P$$#

  • 49 $&&

$&& $&& $&&H?? H?? H?? H??((* ((* ((* ((*$" $" $" $"

  • 50 O&(Q

O&(Q O&(Q O&(QM M M M* * * *9 9 9 9

  • 51
  • Outline

" = " = " = " =

&5 load_font

slide-74
SLIDE 74

74

52

  • :

: : :&.9/R &.9/R &.9/R &.9/R@562 @562 @562 @562S( S( S( S($%9/$%$$ $%9/$%$$ $%9/$%$$ $%9/$%$$

  • 53 )

) ) )

  • 54 'G&(*

'G&(* 'G&(* 'G&(*'; '; '; ';

  • 55 $%D@/;&(*

$%D@/;&(* $%D@/;&(* $%D@/;&(*$%9/;% $%9/;% $%9/;% $%9/;%

  • 56
  • :>%";;""

:>%";;"" :>%";;"" :>%";;""

  • 57
  • &;"">9&

&;"">9& &;"">9& &;"">9&= = = = > > > >= = = = > > > >= = = = ((* ((* ((* ((*

  • 58 ;&;>;"">

;&;>;""> ;&;>;""> ;&;>;""># # # #> > > ># # # #>;K>;/>; >;K>;/>; >;K>;/>; >;K>;/>;1 1 1 1:>; :>; :>; :>;1 1 1 1(* (* (* (*

  • 59 ;&;>;"">

;&;>;""> ;&;>;""> ;&;>;""># # # #> > > ># # # #> > > ># # # #>;?/>; >;?/>; >;?/>; >;?/>;1 1 1 1:>; :>; :>; :>;1 1 1 1(* (* (* (*

  • 60 ;&;>;"">

;&;>;""> ;&;>;""> ;&;>;""># # # #> > > ># # # #> > > >8=# 8=# 8=# 8=#>;E/>; >;E/>; >;E/>; >;E/>;1 1 1 1:>; :>; :>; :>;1 1 1 1(* (* (* (*

  • 61
  • :K;""

:K;"" :K;"" :K;""

  • 62
  • K%"K&;"">%>

K%"K&;"">%> K%"K&;"">%> K%"K&;"">%>U U U U > > > ># # # #>9& >9& >9& >9&# # # #> > > ># # # #> > > ># # # #(> (> (> (>

  • 63
  • 1

1 1 1

  • >

> > >,?"3/6!Q, ,?"3/6!Q, ,?"3/6!Q, ,?"3/6!Q,>$?(* >$?(* >$?(* >$?(*

  • 64
  • K%"K&;"">%>

K%"K&;"">%> K%"K&;"">%> K%"K&;"">%>M## M## M## M##> > > ># # # #>9& >9& >9& >9&# # # #> > > ># # # #> > > ># # # #(> (> (> (>

  • 65
  • 1

1 1 1

  • >

> > >,E3/6!Q, ,E3/6!Q, ,E3/6!Q, ,E3/6!Q,>$E(* >$E(* >$E(* >$E(*

  • 66 ;&;"">$>

;&;"">$> ;&;"">$> ;&;"">$># # # #> > > ># # # #> > > ># # # #> > > ># # # #>;"" >;"" >;"" >;""1 1 1 1:>;"" :>;"" :>;"" :>;""1 1 1 1(* (* (* (*

  • 67 ;%&;""(*

;%&;""(* ;%&;""(* ;%&;""(*

  • 68 0

0: : : :

  • 69

70

  • $/;%&;(*

$/;%&;(* $/;%&;(* $/;%&;(*$/;;% $/;;% $/;;% $/;;%

  • 71 $/;%&;(*

$/;%&;(* $/;%&;(* $/;%&;(*$/;;% $/;;% $/;;% $/;;%

  • 72 $/;%&;""(*

$/;%&;""(* $/;%&;""(* $/;%&;""(*$/;"";% $/;"";% $/;"";% $/;"";%

  • 73 $/$%&;(*

$/$%&;(* $/$%&;(* $/$%&;(*$/;$" $/;$" $/;$" $/;$"

  • 74
  • $/"&%(*

$/"&%(* $/"&%(* $/"&%(*

  • $/"

$/" $/" $/"

  • 75
  • #

# # #* * * *

  • 76 0

0" " " "

  • 77 &(

&( &( &(P"$. P"$. P"$. P"$.

  • 78
  • Outline

" = " = " = " =

'5 textprintf_ex

slide-75
SLIDE 75

75

79 ' ' ' ''G&( 'G&( 'G&( 'G&('$; '$; '$; '$;

  • 80 )

) ) )

  • 81
  • $:

$: $: $:&() &() &() &()

  • 82
  • $

$ $ $

  • EIAD
  • EIAD
  • EIAD
  • EIAD!

! ! !

  • 83 CC;K*

CC;K* CC;K* CC;K*'; '; '; ';

  • 84 CC;/*

CC;/* CC;/* CC;/*';: ';: ';: ';:

  • 85
  • ;9

;9 ;9 ;9* * * *

  • 86
  • $

$ $ $H3EI H3EI H3EI H3EIAD AD AD AD! ! ! !

  • 87 CC;K*

CC;K* CC;K* CC;K*'; '; '; ';

  • 88
  • 11

11 11 11;/* ;/* ;/* ;/*';% ';% ';% ';%

  • 89
  • ;9

;9 ;9 ;9* * * *

  • 90
  • $

$ $ $-?D

  • ?D
  • ?D
  • ?D!

! ! !

  • 91
  • 11

11 11 11;K* ;K* ;K* ;K*';" ';" ';" ';"

  • 92 CC;/*

CC;/* CC;/* CC;/*';: ';: ';: ';:

  • 93
  • ;9

;9 ;9 ;9* * * *

  • 94
  • $

$ $ $H3?D H3?D H3?D H3?D! ! ! !

  • 95
  • 11

11 11 11;K* ;K* ;K* ;K*';" ';" ';" ';"

  • 96
  • 11

11 11 11;/* ;/* ;/* ;/*';% ';% ';% ';%

  • 97
  • ;9

;9 ;9 ;9* * * *

  • 98 0

0$: $: $: $:

  • 99

100

  • 9$;$P""

9$;$P"" 9$;$P"" 9$;$P""$ $ $ $

  • 101

102

  • ";$""%;

";$""%; ";$""%; ";$""%;

  • 103
  • "

" " "&;/O &;/O &;/O &;/O<# <# <# <#TT;/O TT;/O TT;/O TT;/OMM# MM# MM# MM#( ( ( (

  • 104

'$7&(* '$7&(* '$7&(* '$7&(*

  • Outline

" = " = " = " =

#5

slide-76
SLIDE 76

76

105 106

  • ";$"""

";$""" ";$""" ";$"""

  • 107
  • "

" " "&;KO &;KO &;KO &;KO# # # #TT;KO TT;KO TT;KO TT;KO8## 8## 8## 8##( ( ( (

  • 108

'$A+&(* '$A+&(* '$A+&(* '$A+&(*

  • 109

0"'G "'G "'G "'G

  • 110

111 ' ' ' '$%D@/;&( $%D@/;&( $%D@/;&( $%D@/;&($%$9/;% $%$9/;% $%$9/;% $%$9/;%

  • 112

) ) ) )

  • 113
  • "

" " "&9/R &9/R &9/R &9/R@5 @5 @5 @5S( S( S( S("$;%$$ "$;%$$ "$;%$$ "$;%$$

  • 114

;?/ ;?/ ;?/ ;?/1 1 1 1O O O O< < < <* * * *'"%% '"%% '"%% '"%%

  • 115
  • "

" " "&9/R &9/R &9/R &9/R@5X @5X @5X @5XS( S( S( S("X$;%$$ "X$;%$$ "X$;%$$ "X$;%$$

  • 116

;?/CO ;?/CO ;?/CO ;?/CO< < < <* * * *'"%: '"%: '"%: '"%:

  • 117

118

  • "

" " "&9/R &9/R &9/R &9/R@5H3 @5H3 @5H3 @5H3S( S( S( S("%:9/$;%$$ "%:9/$;%$$ "%:9/$;%$$ "%:9/$;%$$

  • 119

;E/ ;E/ ;E/ ;E/1 1 1 1O O O O< < < <* * * *'%% '%% '%% '%%

  • 120
  • "

" " "&9/R &9/R &9/R &9/R@5 @5 @5 @5-

  • S(

S( S( S("::9/$;%$$ "::9/$;%$$ "::9/$;%$$ "::9/$;%$$

  • 121

;E/CO ;E/CO ;E/CO ;E/CO< < < <* * * *'%: '%: '%: '%:

  • 122

123

  • 9$%

9$% 9$% 9$%$P""$ $P""$ $P""$ $P""$

  • 124
  • "

" " "&;?/ &;?/ &;?/ &;?/<# <# <# <#( ( ( (""%$""% ""%$""% ""%$""% ""%$""%

  • 125

;?/O ;?/O ;?/O ;?/O<# <# <# <#* * * *

  • 126
  • $"

$" $" $"&;?/ &;?/ &;?/ &;?/<N# <N# <N# <N#( ( ( (" " " ""%$""; "%$""; "%$""; "%$"";

  • 127

;?/O ;?/O ;?/O ;?/O<N# <N# <N# <N#* * * *

  • 128
  • "

" " "&;E/ &;E/ &;E/ &;E/<# <# <# <#( ( ( ("%$""% "%$""% "%$""% "%$""%

  • 129

;E/O ;E/O ;E/O ;E/O<# <# <# <#* * * *

  • 130
  • $"

$" $" $"&;E/ &;E/ &;E/ &;E/<N# <N# <N# <N#( ( ( ("%$""; "%$""; "%$""; "%$"";

  • 131

;E/O ;E/O ;E/O ;E/O<N# <N# <N# <N#* * * *

  • 132

0"$%D@/; "$%D@/; "$%D@/; "$%D@/;

  • 133
  • Outline

" = " = " = " =

)5

slide-77
SLIDE 77

77

134 ' ' ' ''$7&( '$7&( '$7&( '$7&('$;P$% '$;P$% '$;P$% '$;P$%1 1 1 1: : : :

  • 135

) ) ) )

  • 136
  • "

" " "&&Q &&Q &&Q &&Q= = = =(OO (OO (OO (OO# # # #( ( ( (,:,$';$ ,:,$';$ ,:,$';$ ,:,$';$

  • 137

CC* CC* CC* CC*9;$'% 9;$'% 9;$'% 9;$'%

  • 138

$ $ $ $,%, ,%, ,%, ,%,$;$ $;$ $;$ $;$

  • 139
  • 11

11 11 11* * * *9;$': 9;$': 9;$': 9;$':

  • 140

%/$%&;> %/$%&;> %/$%&;> %/$%&;>= = = = > > > >=N =N =N =N> > > >### ### ### ###> > > ># # # #(* (* (* (*%/,;,$ %/,;,$ %/,;,$ %/,;,$

  • 141

0"'$7 "'$7 "'$7 "'$7

  • 142

143 ' ' ' ''$A+ '$A+ '$A+ '$A+&( &( &( &('$$+ '$$+ '$$+ '$$+

  • 144

) ) ) )

  • 145

O&C O&C O&C O&C= = = =(Q (Q (Q (QM M M M* * * *'$+ '$+ '$+ '$+

  • 146

%/$%&;> %/$%&;> %/$%&;> %/$%&;>= = = = > > > >=N =N =N =N> > > >### ### ### ###> > > ># # # #(* (* (* (*%/,;,$ %/,;,$ %/,;,$ %/,;,$

  • 147

0"'$A "'$A "'$A "'$A+ + + +

  • Outline

" = " = " = " =

55

slide-78
SLIDE 78

78

15.9 Implementing the Game of Pong

<#

– '

  • .-

.-

– #$ – 2-

  • – - $

" " " "

slide-79
SLIDE 79

79

15.9 Implementing the Game of Pong

– #$ $ – 2*

  • – +

– '-&KGD3 GD3 GD3 GD3 – E – " " – E" " – &*K9 9 9 9

slide-80
SLIDE 80

80

1 <!" < <!" < <!" < <!" <

  • 2

$%3 $%3 $%3 $%3

  • 3
  • 4

5 $/;$$";P$%$$;$ $/;$$";P$%$$;$ $/;$$";P$%$$;$ $/;$$";P$%$$;$

  • 6

" " " "-EIAD#

  • EIAD#
  • EIAD#
  • EIAD#
  • 7

" " " "H3EIAD H3EIAD H3EIAD H3EIAD

  • 8

" " " "-?D=

  • ?D=
  • ?D=
  • ?D=
  • 9

" " " "H3?D< H3?D< H3?D< H3?D<

  • 10

11 "%/%$ "%/%$ "%/%$ "%/%$

  • 12 '

' ' ''G& 'G& 'G& 'G&' ' ' '(* (* (* (*

  • 13 '

' ' '$%D@/;& $%D@/;& $%D@/;& $%D@/;&' ' ' '(* (* (* (*

  • 14 '

' ' ''$7& '$7& '$7& '$7&' ' ' '(* (* (* (*

  • 15 '

' ' ''$A+& '$A+& '$A+& '$A+&' ' ' '(* (* (* (*

  • 16

17

  • ;K*

;K* ;K* ;K*;P$K ;P$K ;P$K ;P$K1 1 1 1

  • 18
  • ;

; ; ;/* /* /* /*;P$/ ;P$/ ;P$/ ;P$/1 1 1 1

  • 19
  • ;?/*

;?/* ;?/* ;?/*/ / / /1 1 1 1""% ""% ""% ""%

  • 20
  • ;E/*

;E/* ;E/* ;E/*/ / / /1 1 1 1"% "% "% "%

  • 21
  • $?*

$?* $?* $?*$""%/ $""%/ $""%/ $""%/

  • 22
  • $E*

$E* $E* $E*$"%/ $"%/ $"%/ $"%/

  • 23
  • *

* * *;P$ ;P$ ;P$ ;P$

  • 24 GD3;*

GD3;* GD3;* GD3;*%;P$;% %;P$;% %;P$;% %;P$;%

  • 25 GD3;*

GD3;* GD3;* GD3;*%%P$;% %%P$;% %%P$;% %%P$;%

  • 26 GD3;""*

GD3;""* GD3;""* GD3;""*%;"" %;"" %;"" %;""

  • 27 63?;*

63?;* 63?;* 63?;*%$" %$" %$" %$"

  • 28 D%

D% D% D%* * * *%"" %"" %"" %""

  • 29
  • Outline

" < " < " < " <

"4

slide-81
SLIDE 81

81

30

  • &

& & &

  • '

' ' '

  • (

( ( (

  • 31 )

) ) )

  • 32
  • "$>$%%$

"$>$%%$ "$>$%%$ "$>$%%$

  • 33 &(*

&(* &(* &(*+ + + +

  • 34 $9/;&(*

$9/;&(* $9/;&(* $9/;&(*$9/;"$ $9/;"$ $9/;"$ $9/;"$

  • 35 $$&

$$& $$& $$&IHDD2D IHDD2D IHDD2D IHDD2D> > > >H H H HDD2D DD2D DD2D DD2D> > > >H?? H?? H?? H??(* (* (* (*

  • 36 $%&

$%& $%& $%&8 8 8 8(* (* (* (*$%8 $%8 $%8 $%81 1 1 1; ; ; ;

  • 37 $"K&

$"K& $"K& $"K&ILHDD2D ILHDD2D ILHDD2D ILHDD2D> > > >8M# 8M# 8M# 8M#> > > >MN# MN# MN# MN#> > > ># # # #> > > ># # # #(* (* (* (*$%$ $%$ $%$ $%$

  • 38 ;O;%&

;O;%& ;O;%& ;O;%&,;;%, ,;;%, ,;;%, ,;;%,> > > >H?? H?? H?? H??(* (* (* (*;;% ;;% ;;% ;;%

  • 39 ;O

;O ;O ;O;%& ;%& ;%& ;%&,;;%, ,;;%, ,;;%, ,;;%,> > > >H?? H?? H?? H??(* (* (* (*;;% ;;% ;;% ;;%

  • 40 ;""O;%&

;""O;%& ;""O;%& ;""O;%&62E- 62E- 62E- 62E-> > > >62EA 62EA 62EA 62EA(* (* (* (*;"" ;"" ;"" ;""

  • 41 ;O$%&

;O$%& ;O$%& ;O$%&,;:', ,;:', ,;:', ,;:',(* (* (* (*$" $" $" $"

  • 42 %O"&

%O"& %O"& %O"&,%"%K,>H?? ,%"%K,>H?? ,%"%K,>H?? ,%"%K,>H??> > > >H?? H?? H?? H??(* (* (* (*" " " "

  • 43 ;KO

;KO ;KO ;KO62E- 62E- 62E- 62E-

  • =

= = =* * * *';$K ';$K ';$K ';$K1 1 1 1

  • 44 ;/O

;/O ;/O ;/O62EA 62EA 62EA 62EA

  • =

= = =* * * *';$/ ';$/ ';$/ ';$/1 1 1 1

  • 45 ;?/O

;?/O ;?/O ;?/O62EA 62EA 62EA 62EA

  • =

= = =* * * *'"%$/ '"%$/ '"%$/ '"%$/1 1 1 1

  • 46 ;E

;E ;E ;E/O /O /O /O62EA 62EA 62EA 62EA

  • =

= = =* * * *'%$/ '%$/ '%$/ '%$/1 1 1 1

  • 47 $?O

$?O $?O $?O# # # #* * * *$"%/P$$# $"%/P$$# $"%/P$$# $"%/P$$#

  • 48 $EO

$EO $EO $EO# # # #* * * *$%/P$$# $%/P$$# $%/P$$# $%/P$$#

  • 49 $&&

$&& $&& $&&H?? H?? H?? H??((* ((* ((* ((*$" $" $" $"

  • 50
  • O&(Q

O&(Q O&(Q O&(QM M M M* * * *9 9 9 9

  • 51
  • Outline

" < " < " < " <

&4

slide-82
SLIDE 82

82

52

  • :

: : :&.9/R &.9/R &.9/R &.9/R@562 @562 @562 @562S( S( S( S($%9/$%$$ $%9/$%$$ $%9/$%$$ $%9/$%$$

  • 53 )

) ) )

  • 54 'G&(*

'G&(* 'G&(* 'G&(*'; '; '; ';

  • 55 $%D@/;&(*

$%D@/;&(* $%D@/;&(* $%D@/;&(*$%9/;% $%9/;% $%9/;% $%9/;%

  • 56
  • :>%";;""

:>%";;"" :>%";;"" :>%";;""

  • 57
  • &;"">9&

&;"">9& &;"">9& &;"">9&= = = = > > > >= = = = > > > >= = = = ((* ((* ((* ((*

  • 58 ;&;>;"">

;&;>;""> ;&;>;""> ;&;>;""># # # #> > > ># # # #>;K>;/>; >;K>;/>; >;K>;/>; >;K>;/>;1 1 1 1:>; :>; :>; :>;1 1 1 1(* (* (* (*

  • 59 ;&;>;"">

;&;>;""> ;&;>;""> ;&;>;""># # # #> > > ># # # #> > > ># # # #>;?/>; >;?/>; >;?/>; >;?/>;1 1 1 1:>; :>; :>; :>;1 1 1 1(* (* (* (*

  • 60 ;&;>;"">

;&;>;""> ;&;>;""> ;&;>;""># # # #> > > ># # # #> > > >8=# 8=# 8=# 8=#>;E/>; >;E/>; >;E/>; >;E/>;1 1 1 1:>; :>; :>; :>;1 1 1 1(* (* (* (*

  • 61 &;"">

&;""> &;""> &;""># # # #> > > ><# <# <# <#> > > >8M# 8M# 8M# 8M#> > > ><# <# <# <#>9& >9& >9& >9&# # # #> > > ># # # #> > > ># # # #((* ((* ((* ((*

  • 62
  • :K;""

:K;"" :K;"" :K;""

  • 63 K%"K&;"">%>

K%"K&;"">%> K%"K&;"">%> K%"K&;"">%>U U U U > > > ># # # #>9& >9& >9& >9&# # # #> > > ># # # #> > > ># # # #(> (> (> (>

  • 64
  • 1

1 1 1

  • >

> > >,?"3/6!Q, ,?"3/6!Q, ,?"3/6!Q, ,?"3/6!Q,>$?(* >$?(* >$?(* >$?(*

  • 65
  • K%"K&;"">%>

K%"K&;"">%> K%"K&;"">%> K%"K&;"">%>M## M## M## M##> > > ># # # #>9& >9& >9& >9&# # # #> > > ># # # #> > > ># # # #(> (> (> (>

  • 66
  • 1

1 1 1

  • >

> > >,E3/6!Q, ,E3/6!Q, ,E3/6!Q, ,E3/6!Q,>$E(* >$E(* >$E(* >$E(*

  • 67 ;&;"">$>

;&;"">$> ;&;"">$> ;&;"">$># # # #> > > ># # # #> > > ># # # #> > > ># # # #>;"" >;"" >;"" >;""1 1 1 1:>;"" :>;"" :>;"" :>;""1 1 1 1(* (* (* (*

  • 68 ;%&;""(*

;%&;""(* ;%&;""(* ;%&;""(*

  • 69 0

0: : : :

  • 70

71 $/;%&;(* $/;%&;(* $/;%&;(* $/;%&;(*$/;;% $/;;% $/;;% $/;;%

  • 72 $/;%&;(*

$/;%&;(* $/;%&;(* $/;%&;(*$/;;% $/;;% $/;;% $/;;%

  • 73 $/;%&;""(*

$/;%&;""(* $/;%&;""(* $/;%&;""(*$/;"";% $/;"";% $/;"";% $/;"";%

  • 74 $/$%&;(*

$/$%&;(* $/$%&;(* $/$%&;(*$/;$" $/;$" $/;$" $/;$"

  • 75 $/"&%(*

$/"&%(* $/"&%(* $/"&%(*$/" $/" $/" $/"

  • 76
  • #

# # #* * * *

  • 77 0

0" " " "

  • 78 &(

&( &( &(P"$. P"$. P"$. P"$.

  • 79
  • Outline

" < " < " < " <

'4 line

slide-83
SLIDE 83

83

80 ' ' ' ''G&( 'G&( 'G&( 'G&('$; '$; '$; '$;

  • 81 )

) ) )

  • 82
  • $:

$: $: $:&() &() &() &()

  • 83
  • $

$ $ $

  • EIAD
  • EIAD
  • EIAD
  • EIAD!

! ! !

  • 84 CC;K*

CC;K* CC;K* CC;K*'; '; '; ';

  • 85 CC;/*

CC;/* CC;/* CC;/*';: ';: ';: ';:

  • 86
  • ;9

;9 ;9 ;9* * * *

  • 87
  • $

$ $ $H3EI H3EI H3EI H3EIAD AD AD AD! ! ! !

  • 88 CC;K*

CC;K* CC;K* CC;K*'; '; '; ';

  • 89
  • 11

11 11 11;/* ;/* ;/* ;/*';% ';% ';% ';%

  • 90
  • ;9

;9 ;9 ;9* * * *

  • 91
  • $

$ $ $-?D

  • ?D
  • ?D
  • ?D!

! ! !

  • 92
  • 11

11 11 11;K* ;K* ;K* ;K*';" ';" ';" ';"

  • 93 CC;/*

CC;/* CC;/* CC;/*';: ';: ';: ';:

  • 94
  • ;9

;9 ;9 ;9* * * *

  • 95
  • $

$ $ $H3?D H3?D H3?D H3?D! ! ! !

  • 96
  • 11

11 11 11;K* ;K* ;K* ;K*';" ';" ';" ';"

  • 97
  • 11

11 11 11;/* ;/* ;/* ;/*';% ';% ';% ';%

  • 98
  • ;9

;9 ;9 ;9* * * *

  • 99 0

0$: $: $: $:

  • 100

101

  • ";$""%

";$""% ";$""% ";$""%; ; ; ;

  • 102
  • "

" " "&;/O &;/O &;/O &;/O<# <# <# <#TT;/O TT;/O TT;/O TT;/OMM# MM# MM# MM#( ( ( (

  • 103

'$7&(* '$7&(* '$7&(* '$7&(*9:/ 9:/ 9:/ 9:/

  • 104
  • Outline

" < " < " < " <

#4

slide-84
SLIDE 84

84

105

  • ";$""%

";$""% ";$""% ";$""%

  • 106
  • "

" " "&;K &;K &;K &;K=# =# =# =#YY&OO YY&OO YY&OO YY&OO-?D

  • ?D
  • ?D
  • ?DTTOO

TTOO TTOO TTOOH3?D H3?D H3?D H3?D(( (( (( ((

  • 107
  • )

) ) )

  • 108
  • $"%:/Z

$"%:/Z $"%:/Z $"%:/Z

  • 109
  • "

" " "&;/&;?/ &;/&;?/ &;/&;?/ &;/&;?/1 1 1 1

  • <W

<W <W <W(YY;/&;?/C (YY;/&;?/C (YY;/&;?/C (YY;/&;?/CWW WW WW WW(( (( (( ((

  • 110
  • '$A+&(*

'$A+&(* '$A+&(* '$A+&(*

  • 111
  • $"

$" $" $"&; &; &; &;KO KO KO KO1 1 1 1=# =# =# =#() () () ()";$""$ ";$""$ ";$""$ ";$""$

  • 112
  • CC$E*

CC$E* CC$E* CC$E*'%/% '%/% '%/% '%/%

  • 113
  • ;KO

;KO ;KO ;KO62E- 62E- 62E- 62E-

  • =

= = =* * * *%; %; %; %;

  • 114
  • ;/O

;/O ;/O ;/O62EA 62EA 62EA 62EA

  • =

= = =* * * *

  • "$

"$ "$ "$

  • 115
  • O&(Q

O&(Q O&(Q O&(QM M M M* * * *'; '; '; ';

  • 116
  • 0$

$ $ $

  • 117
  • 0"

" " "

  • 118

119

";$"%

";$"% ";$"% ";$"%

  • 120
  • "

" " "&;K &;K &;K &;K N# N# N# N#YY&OO YY&OO YY&OO YY&OO-EIAD

  • EIAD
  • EIAD
  • EIADTT

TT TT TTOO OO OO OOH3EIAD H3EIAD H3EIAD H3EIAD(( (( (( ((

  • 121
  • )

) ) )

  • 122
  • $%:/Z

$%:/Z $%:/Z $%:/Z

  • 123
  • "

" " "&;/&;E/ &;/&;E/ &;/&;E/ &;/&;E/1 1 1 1

  • <W

<W <W <W(YY;/&;E/C (YY;/&;E/C (YY;/&;E/C (YY;/&;E/CWW WW WW WW(( (( (( ((

  • 124
  • '$A+&(*

'$A+&(* '$A+&(* '$A+&(*

  • 125
  • $"

$" $" $"&;K &;K &;K &;K

  • O

O O O8=# 8=# 8=# 8=#( ( ( (

  • )

) ) )";$""$ ";$""$ ";$""$ ";$""$

  • 126
  • CC$?*

CC$?* CC$?* CC$?*'"%/% '"%/% '"%/% '"%/%

  • 127
  • ;KO

;KO ;KO ;KO62E- 62E- 62E- 62E-

  • =

= = =* * * *%; %; %; %;

  • 128
  • ;/O

;/O ;/O ;/O62EA 62EA 62EA 62EA

  • =

= = =* * * *"$ "$ "$ "$

  • 129
  • O&(Q

O&(Q O&(Q O&(QM M M M* * * *'; '; '; ';

  • 130
  • 0$

$ $ $

  • 131
  • 0"

" " "

  • 132

0"'G "'G "'G "'G

  • Outline

" < " < " < " <

)4 ; 6 ;6=6

slide-85
SLIDE 85

85

133 134 ' ' ' '$%D@/;&( $%D@/;&( $%D@/;&( $%D@/;&($%$9/;% $%$9/;% $%$9/;% $%$9/;%

  • 135 )

) ) )

  • 136
  • "

" " "&9/R &9/R &9/R &9/R@5 @5 @5 @5S( S( S( S("$;%$$ "$;%$$ "$;%$$ "$;%$$

  • 137

;?/ ;?/ ;?/ ;?/1 1 1 1O O O O< < < <* * * *'"%% '"%% '"%% '"%%

  • 138
  • "

" " "&9/R &9/R &9/R &9/R@5X @5X @5X @5XS( S( S( S("X$;%$$ "X$;%$$ "X$;%$$ "X$;%$$

  • 139

;?/CO ;?/CO ;?/CO ;?/CO< < < <* * * *'"%: '"%: '"%: '"%:

  • 140

141

  • "

" " "&9/R &9/R &9/R &9/R@5H3 @5H3 @5H3 @5H3S( S( S( S("%:9/$;%$$ "%:9/$;%$$ "%:9/$;%$$ "%:9/$;%$$

  • 142

;E/ ;E/ ;E/ ;E/1 1 1 1O O O O< < < <* * * *'%% '%% '%% '%%

  • 143
  • "

" " "&9/R &9/R &9/R &9/R@5 @5 @5 @5-

  • S(

S( S( S("::9/$;%$$ "::9/$;%$$ "::9/$;%$$ "::9/$;%$$

  • 144

;E/CO ;E/CO ;E/CO ;E/CO< < < <* * * *'%: '%: '%: '%:

  • 145

146

  • 9$%$

9$%$ 9$%$ 9$%$P""$ P""$ P""$ P""$

  • 147
  • "

" " "&;?/ &;?/ &;?/ &;?/<# <# <# <#( ( ( (""%$""% ""%$""% ""%$""% ""%$""%

  • 148

;?/O ;?/O ;?/O ;?/O<# <# <# <#* * * *

  • 149
  • $"

$" $" $"&;?/ &;?/ &;?/ &;?/<N# <N# <N# <N#( ( ( ("" "" "" ""%$""; %$""; %$""; %$"";

  • 150

;?/O ;?/O ;?/O ;?/O<N# <N# <N# <N#* * * *

  • 151
  • "

" " "&;E/ &;E/ &;E/ &;E/<# <# <# <#( ( ( ("%$""% "%$""% "%$""% "%$""%

  • 152

;E/O ;E/O ;E/O ;E/O<# <# <# <#* * * *

  • 153
  • $"

$" $" $"&;E/ &;E/ &;E/ &;E/<N# <N# <N# <N#( ( ( ("%$""; "%$""; "%$""; "%$"";

  • 154

;E/O ;E/O ;E/O ;E/O<N# <N# <N# <N#* * * *

  • 155

0"$%D@/; "$%D@/; "$%D@/; "$%D@/;

  • 156
  • Outline

" < " < " < " <

54

slide-86
SLIDE 86

86

157 ' ' ' ''$7&( '$7&( '$7&( '$7&('$;P$% '$;P$% '$;P$% '$;P$%1 1 1 1: : : :

  • 158

) ) ) )

  • 159
  • "

" " "&&Q &&Q &&Q &&Q= = = =(OO (OO (OO (OO# # # #( ( ( (,:,$';$ ,:,$';$ ,:,$';$ ,:,$';$

  • 160

CC* CC* CC* CC*9;$'% 9;$'% 9;$'% 9;$'%

  • 161

$ $ $ $,%, ,%, ,%, ,%,$;$ $;$ $;$ $;$

  • 162
  • 11

11 11 11* * * *9;$': 9;$': 9;$': 9;$':

  • 163

%/$%&;> %/$%&;> %/$%&;> %/$%&;>= = = = > > > >=N =N =N =N> > > >### ### ### ###> > > ># # # #(* (* (* (*%/,;,$ %/,;,$ %/,;,$ %/,;,$

  • 164

0"'$7 "'$7 "'$7 "'$7

  • 165

166 ' ' ' ''$A+&( '$A+&( '$A+&( '$A+&('$$+ '$$+ '$$+ '$$+

  • 167

) ) ) )

  • 168

O&C O&C O&C O&C= = = =(Q (Q (Q (QM M M M* * * *'$+ '$+ '$+ '$+

  • 169

%/$%&;> %/$%&;> %/$%&;> %/$%&;>= = = = > > > >=N =N =N =N> > > >### ### ### ###> > > ># # # #(* (* (* (*%/,;,$ %/,;,$ %/,;,$ %/,;,$

  • 170

0"'$A+ "'$A+ "'$A+ "'$A+

  • Outline

" < " < " < " <

/4

slide-87
SLIDE 87

87

  • Outline

" < " < " < " <

34

slide-88
SLIDE 88

88

  • Outline

" < " < " < " <

44

slide-89
SLIDE 89

89

15.10 Timers in Allegro

'

– #$ 7-

  • %7-
  • – *

7-

$ $ $ $

– . – '- – ' ' ' ' $

slide-90
SLIDE 90

90

15.10 Timers in Allegro

$ $ $ $

– #

  • – '- K

– E – @B

  • – ;

– 6M$"

slide-91
SLIDE 91

91

15.10 Timers in Allegro

'

– <-$$$

  • – % -

' ' ' '

– 6$ $ $ $ – '-K

slide-92
SLIDE 92

92

15.10 Timers in Allegro

%

– ' ' ' ' 7

  • ? $
  • $

*

– %+%.% $

  • (-) -
  • A
  • +
slide-93
SLIDE 93

93

1 M!" M M!" M M!" M M!" M

  • 2

$3 $3 $3 $3

  • 3
  • 4

5 $/;$$";P$%$$;$ $/;$$";P$%$$;$ $/;$$";P$%$$;$ $/;$$";P$%$$;$

  • 6

" " " "-EIAD#

  • EIAD#
  • EIAD#
  • EIAD#
  • 7

" " " "H3EIAD H3EIAD H3EIAD H3EIAD

  • 8

" " " "-?D=

  • ?D=
  • ?D=
  • ?D=
  • 9

" " " "H3?D H3?D H3?D H3?D< < < <

  • 10

11 "%/%$ "%/%$ "%/%$ "%/%$

  • 12 '

' ' ''G& 'G& 'G& 'G&' ' ' '(* (* (* (*

  • 13 '

' ' '$%D@/;& $%D@/;& $%D@/;& $%D@/;&' ' ' '(* (* (* (*

  • 14 '

' ' ''$7& '$7& '$7& '$7&' ' ' '(* (* (* (*

  • 15 '

' ' ''$A+& '$A+& '$A+& '$A+&' ' ' '(* (* (* (*

  • 16

17 ' ' ' '

  • ;K*

;K* ;K* ;K*;P$K ;P$K ;P$K ;P$K1 1 1 1

  • 18 '

' ' '

  • ;/*

;/* ;/* ;/*;P$/ ;P$/ ;P$/ ;P$/1 1 1 1

  • 19 '

' ' '

  • ;?/*

;?/* ;?/* ;?/*/ / / /1 1 1 1""% ""% ""% ""%

  • 20 '

' ' '

  • ;E/*

;E/* ;E/* ;E/*/ / / /1 1 1 1"% "% "% "%

  • 21 '

' ' '

  • $?*

$?* $?* $?*$""%/ $""%/ $""%/ $""%/

  • 22 '

' ' '

  • $E*

$E* $E* $E*$"%/ $"%/ $"%/ $"%/

  • 23 '

' ' '

  • *

* * *;P$ ;P$ ;P$ ;P$

  • 24 GD3;*

GD3;* GD3;* GD3;*%;P$;% %;P$;% %;P$;% %;P$;%

  • 25 GD3;*

GD3;* GD3;* GD3;*%%P$;% %%P$;% %%P$;% %%P$;%

  • 26 GD3;""*

GD3;""* GD3;""* GD3;""*%;" %;" %;" %;"" " " "

  • 27 63?;*

63?;* 63?;* 63?;*%$" %$" %$" %$"

  • 28 D%*

D%* D%* D%*%"" %"" %"" %""

  • 29
  • Outline

" M " M " M " M

"/ > volatile 7

slide-94
SLIDE 94

94

30

  • &

& & &

  • '

' ' '

  • (

( ( (

  • 31 )

) ) )

  • 32
  • "$>$%%$

"$>$%%$ "$>$%%$ "$>$%%$

  • 33 &(*

&(* &(* &(*+ + + +

  • 34 $9/;&(*

$9/;&(* $9/;&(* $9/;&(*$9/;"$ $9/;"$ $9/;"$ $9/;"$

  • 35 $$&

$$& $$& $$&IHDD2D IHDD2D IHDD2D IHDD2D> > > >H H H HDD2D DD2D DD2D DD2D> > > >H?? H?? H?? H??(* (* (* (*

  • 36
  • $&(*

$&(* $&(* $&(*

  • $

$ $ $

  • 37 $%&

$%& $%& $%&8 8 8 8(* (* (* (*$%8 $%8 $%8 $%81 1 1 1; ; ; ;

  • 38 $"K&

$"K& $"K& $"K&ILHDD2D ILHDD2D ILHDD2D ILHDD2D> > > >8M# 8M# 8M# 8M#> > > >MN# MN# MN# MN#> > > ># # # #> > > ># # # #(* (* (* (*$%$ $%$ $%$ $%$

  • 39 ;O;%&

;O;%& ;O;%& ;O;%&,; ,; ,; ,;;%, ;%, ;%, ;%,> > > >H?? H?? H?? H??(* (* (* (*;;% ;;% ;;% ;;%

  • 40 ;O;%&

;O;%& ;O;%& ;O;%&,;;%, ,;;%, ,;;%, ,;;%,> > > >H?? H?? H?? H??(* (* (* (*;;% ;;% ;;% ;;%

  • 41 ;""O;%&

;""O;%& ;""O;%& ;""O;%&62E- 62E- 62E- 62E-> > > >62EA 62EA 62EA 62EA(* (* (* (*;"" ;"" ;"" ;""

  • 42 ;O$%&

;O$%& ;O$%& ;O$%&,;:', ,;:', ,;:', ,;:',(* (* (* (*$" $" $" $"

  • 43 %O"&

%O"& %O"& %O"&,%"%K,>H?? ,%"%K,>H?? ,%"%K,>H?? ,%"%K,>H??> > > >H?? H?? H?? H??(* (* (* (*" " " "

  • 44 ;KO

;KO ;KO ;KO62E- 62E- 62E- 62E-

  • =

= = =* * * *';$K ';$K ';$K ';$K1 1 1 1

  • 45 ;/O

;/O ;/O ;/O62EA 62EA 62EA 62EA

  • =

= = =* * * *';$/ ';$/ ';$/ ';$/1 1 1 1

  • 46 ;?/O

;?/O ;?/O ;?/O62EA 62EA 62EA 62EA

  • =

= = =* * * *

  • '"%$/

'"%$/ '"%$/ '"%$/1 1 1 1

  • 47 ;E/O

;E/O ;E/O ;E/O62EA 62EA 62EA 62EA

  • =

= = =* * * *'%$/ '%$/ '%$/ '%$/1 1 1 1

  • 48 $?O

$?O $?O $?O# # # #* * * *$"%/P$$# $"%/P$$# $"%/P$$# $"%/P$$#

  • 49 $EO

$EO $EO $EO# # # #* * * *$%/P$$# $%/P$$# $%/P$$# $%/P$$#

  • 50 $&&

$&& $&& $&&H?? H?? H?? H??((* ((* ((* ((*$" $" $" $"

  • 51 O&(Q

O&(Q O&(Q O&(QM M M M* * * *9 9 9 9

  • 52
  • $'G'/ $$

$'G'/ $$ $'G'/ $$ $'G'/ $$

  • 53
  • $&'G>

$&'G> $&'G> $&'G> (* (* (* (*

  • 54
  • $$%D@/;'/#$$

$$%D@/;'/#$$ $$%D@/;'/#$$ $$%D@/;'/#$$

  • 55
  • $&$%D@/;>

$&$%D@/;> $&$%D@/;> $&$%D@/;># # # #(* (* (* (*

  • 56
  • Outline

" M " M " M " M

&/ moveBall ) respondToKeyboard "* install_timer

slide-95
SLIDE 95

95

57

  • :

: : :&.9/R &.9/R &.9/R &.9/R@562 @562 @562 @562S( S( S( S($%9/$%$$ $%9/$%$$ $%9/$%$$ $%9/$%$$

  • 58 )

) ) )

  • 59
  • :>%";;""

:>%";;"" :>%";;"" :>%";;""

  • 60 &;"">&

&;"">& &;"">& &;"">&= = = = > > > >= = = = > > > >= = = = ((* ((* ((* ((*

  • 61 ;&;>;"">

;&;>;""> ;&;>;""> ;&;>;""># # # #> > > ># # # #>;K>;/>; >;K>;/>; >;K>;/>; >;K>;/>;1 1 1 1:>; :>; :>; :>;1 1 1 1

  • (*

(* (* (*

  • 62 ;&;>;"">

;&;>;""> ;&;>;""> ;&;>;""># # # #> > > ># # # #> > > ># # # #>;?/>; >;?/>; >;?/>; >;?/>;1 1 1 1:>; :>; :>; :>;1 1 1 1(* (* (* (*

  • 63 ;&;>;"">

;&;>;""> ;&;>;""> ;&;>;""># # # #> > > ># # # #> > > >8=# 8=# 8=# 8=#>;E/>; >;E/>; >;E/>; >;E/>;1 1 1 1:>; :>; :>; :>;1 1 1 1(* (* (* (*

  • 64 &;"">

&;""> &;""> &;""># # # #> > > ><# <# <# <#> > > >8M# 8M# 8M# 8M#> > > ><# <# <# <#>9& >9& >9& >9&# # # #> > > ># # # #> > > ># # # #((* ((* ((* ((*

  • 65
  • :K;""

:K;"" :K;"" :K;""

  • 66
  • K%"K&;"">%>

K%"K&;"">%> K%"K&;"">%> K%"K&;"">%>U U U U > > > ># # # #>9& >9& >9& >9&# # # #> > > ># # # #> > > ># # # #(> (> (> (>

  • 67
  • 1

1 1 1

  • >

> > >,?"3/6!Q, ,?"3/6!Q, ,?"3/6!Q, ,?"3/6!Q,>$?(* >$?(* >$?(* >$?(*

  • 68 K%"K&;"">%>

K%"K&;"">%> K%"K&;"">%> K%"K&;"">%>M## M## M## M##> > > ># # # #>9& >9& >9& >9&# # # #> > > ># # # #> > > ># # # #(> (> (> (>

  • 69
  • 1

1 1 1

  • >

> > >,E3/6 ,E3/6 ,E3/6 ,E3/6!Q, !Q, !Q, !Q,>$E(* >$E(* >$E(* >$E(*

  • 70 ;&;"">$>

;&;"">$> ;&;"">$> ;&;"">$># # # #> > > ># # # #> > > ># # # #> > > ># # # #>;"" >;"" >;"" >;""1 1 1 1:>;"" :>;"" :>;"" :>;""1 1 1 1(* (* (* (*

  • 71 ;%&;""(*

;%&;""(* ;%&;""(* ;%&;""(*

  • 72 0

0: : : :

  • 73

74

  • '&'G(*

'&'G(* '&'G(* '&'G(*''G ''G ''G ''G

  • 75
  • '&$%D@/;(*

'&$%D@/;(* '&$%D@/;(* '&$%D@/;(*'$%D@/; '$%D@/; '$%D@/; '$%D@/;

  • 76 $/;%&;(*

$/;%&;(* $/;%&;(* $/;%&;(*$/;;% $/;;% $/;;% $/;;%

  • 77 $/;%&;(*

$/;%&;(* $/;%&;(* $/;%&;(*$/;;% $/;;% $/;;% $/;;%

  • 78 $/;%&;

$/;%&; $/;%&; $/;%&;""(* ""(* ""(* ""(*$/;"";% $/;"";% $/;"";% $/;"";%

  • 79 $/$%&;(*

$/$%&;(* $/$%&;(* $/$%&;(*$/;$" $/;$" $/;$" $/;$"

  • 80 $/"&%(*

$/"&%(* $/"&%(* $/"&%(*$/" $/" $/" $/"

  • 81
  • #*

#* #* #*

  • 82 0

0" " " "

  • 83 &(

&( &( &(P"$. P"$. P"$. P"$.

  • 84
  • Outline

" M " M " M " M

'/ <moveBall respondToKeyboard while ? while remove_int

slide-96
SLIDE 96

96

85 ' ' ' ''G&( 'G&( 'G&( 'G&('$; '$; '$; '$;

  • 86 )

) ) )

  • 87
  • $:

$: $: $:&() &() &() &()

  • 88
  • $

$ $ $

  • EIAD
  • EIAD
  • EIAD
  • EIAD!

! ! !

  • 89 CC;K*

CC;K* CC;K* CC;K*'; '; '; ';

  • 90 CC;/*

CC;/* CC;/* CC;/*';: ';: ';: ';:

  • 91
  • ;9

;9 ;9 ;9* * * *

  • 92
  • $

$ $ $H3EI H3EI H3EI H3EIAD AD AD AD! ! ! !

  • 93 CC;K*

CC;K* CC;K* CC;K*'; '; '; ';

  • 94
  • 11

11 11 11;/* ;/* ;/* ;/*';% ';% ';% ';%

  • 95
  • ;9

;9 ;9 ;9* * * *

  • 96
  • $

$ $ $-?D

  • ?D
  • ?D
  • ?D!

! ! !

  • 97
  • 11

11 11 11;K* ;K* ;K* ;K*';" ';" ';" ';"

  • 98 CC;/*

CC;/* CC;/* CC;/*';: ';: ';: ';:

  • 99
  • ;9

;9 ;9 ;9* * * *

  • 100
  • $

$ $ $H3?D H3?D H3?D H3?D! ! ! !

  • 101
  • 11

11 11 11;K* ;K* ;K* ;K*';" ';" ';" ';"

  • 102
  • 11

11 11 11;/* ;/* ;/* ;/*';% ';% ';% ';%

  • 103
  • ;9

;9 ;9 ;9* * * *

  • 104

0$: $: $: $:

  • 105

106

  • ";$""

";$"" ";$"" ";$""%; %; %; %;

  • 107
  • "

" " "&;/O &;/O &;/O &;/O<# <# <# <#TT;/O TT;/O TT;/O TT;/OMM# MM# MM# MM#( ( ( (

  • 108

'$7&(* '$7&(* '$7&(* '$7&(*9:/ 9:/ 9:/ 9:/

  • 109

110

  • ";$""%

";$""% ";$""% ";$""%

  • 111
  • "

" " "&;K &;K &;K &;K=# =# =# =#YY& YY& YY& YY&OO OO OO OO-?D

  • ?D
  • ?D
  • ?DTTOO

TTOO TTOO TTOOH3?D H3?D H3?D H3?D(( (( (( ((

  • Outline

" M " M " M " M

#/

slide-97
SLIDE 97

97

112 ) ) ) )

  • 113
  • $"%:/Z

$"%:/Z $"%:/Z $"%:/Z

  • 114
  • "

" " "&;/&;?/ &;/&;?/ &;/&;?/ &;/&;?/1 1 1 1

  • <W

<W <W <W(YY;/&;?/C (YY;/&;?/C (YY;/&;?/C (YY;/&;?/CWW WW WW WW(( (( (( ((

  • 115
  • '$A+&(*

'$A+&(* '$A+&(* '$A+&(*

  • 116
  • $"

$" $" $"&;KO &;KO &;KO &;KO1 1 1 1=# =# =# =#() () () ()";$""$ ";$""$ ";$""$ ";$""$

  • 117

CC$E* CC$E* CC$E* CC$E*'%/% '%/% '%/% '%/%

  • 118

;KO ;KO ;KO ;KO62E 62E 62E 62E-

  • =

= = =* * * *%; %; %; %;

  • 119

;/O ;/O ;/O ;/O62EA 62EA 62EA 62EA

  • =

= = =* * * *"$ "$ "$ "$

  • 120

O&(Q O&(Q O&(Q O&(QM M M M* * * *'; '; '; ';

  • 121

0$ $ $ $

  • 122

0" " " "

  • 123

124

  • ";$"%

";$"% ";$"% ";$"%

  • 125
  • "

" " "&;K &;K &;K &;K N# N# N# N#YY&OO YY&OO YY&OO YY&OO-EIAD

  • EIAD
  • EIAD
  • EIADTTOO

TTOO TTOO TTOOH3EIAD H3EIAD H3EIAD H3EIAD(( (( (( ((

  • 126

) ) ) )

  • 127
  • $%:/Z

$%:/Z $%:/Z $%:/Z

  • 128
  • "

" " "&;/&;E/ &;/&;E/ &;/&;E/ &;/&;E/1 1 1 1

  • <W

<W <W <W(YY;/&;E/C (YY;/&;E/C (YY;/&;E/C (YY;/&;E/CWW WW WW WW(( (( (( ((

  • 129

'$A+&(* '$A+&(* '$A+&(* '$A+&(*

  • 130
  • $"

$" $" $"&;K &;K &;K &;K

  • O

O O O8=# 8=# 8=# 8=#( ( ( (

  • )

) ) )";$""$ ";$""$ ";$""$ ";$""$

  • 131

CC$?* CC$?* CC$?* CC$?*'"%/% '"%/% '"%/% '"%/%

  • 132

;KO ;KO ;KO ;KO62E- 62E- 62E- 62E-

  • =

= = =* * * *%; %; %; %;

  • 133

;/O ;/O ;/O ;/O62EA 62EA 62EA 62EA

  • =

= = =* * * *"$ "$ "$ "$

  • 134
  • O&(Q

O&(Q O&(Q O&(QM M M M* * * *'; '; '; ';

  • 135

0$ $ $ $

  • 136

0" " " "

  • 137

0" " " "'G 'G 'G 'G

  • 138

139 ' ' ' '$%D@/;&( $%D@/;&( $%D@/;&( $%D@/;&($%$9/;% $%$9/;% $%$9/;% $%$9/;%

  • Outline

" M " M " M " M

)/

slide-98
SLIDE 98

98

140 ) ) ) )

  • 141
  • "

" " "&9/R &9/R &9/R &9/R@5 @5 @5 @5S( S( S( S("$;%$$ "$;%$$ "$;%$$ "$;%$$

  • 142

;?/ ;?/ ;?/ ;?/1 1 1 1O O O O< < < <* * * *'"%% '"%% '"%% '"%%

  • 143
  • "

" " "&9/R &9/R &9/R &9/R@5X @5X @5X @5XS( S( S( S("X$;%$$ "X$;%$$ "X$;%$$ "X$;%$$

  • 144

;?/CO ;?/CO ;?/CO ;?/CO< < < <* * * *'"%: '"%: '"%: '"%:

  • 145

146

  • "

" " "&9/R &9/R &9/R &9/R@ @ @ @5H3 5H3 5H3 5H3S( S( S( S("%:9/$;%$$ "%:9/$;%$$ "%:9/$;%$$ "%:9/$;%$$

  • 147

;E/ ;E/ ;E/ ;E/1 1 1 1O O O O< < < <* * * *'%% '%% '%% '%%

  • 148
  • "

" " "&9/R &9/R &9/R &9/R@5- @5- @5- @5-S( S( S( S("::9/$;%$$ "::9/$;%$$ "::9/$;%$$ "::9/$;%$$

  • 149

;E/CO ;E/CO ;E/CO ;E/CO< < < <* * * *

  • '%:

'%: '%: '%:

  • 150

151

  • 9$%$P""$

9$%$P""$ 9$%$P""$ 9$%$P""$

  • 152
  • "

" " "&;?/ &;?/ &;?/ &;?/<# <# <# <#( ( ( (""% ""% ""% ""%$""% $""% $""% $""%

  • 153

;?/O ;?/O ;?/O ;?/O<# <# <# <#* * * *

  • 154
  • $"

$" $" $"&;?/ &;?/ &;?/ &;?/<N# <N# <N# <N#( ( ( (""%$""; ""%$""; ""%$""; ""%$"";

  • 155

;?/O ;?/O ;?/O ;?/O<N# <N# <N# <N#* * * *

  • 156
  • "

" " "&;E/ &;E/ &;E/ &;E/<# <# <# <#( ( ( ("%$""% "%$""% "%$""% "%$""%

  • 157

;E/O ;E/O ;E/O ;E/O<# <# <# <#* * * *

  • 158
  • $"

$" $" $"&;E/ &;E/ &;E/ &;E/<N# <N# <N# <N#( ( ( ("%$ "%$ "%$ "%$""; ""; ""; "";

  • 159

;E/O ;E/O ;E/O ;E/O<N# <N# <N# <N#* * * *

  • 160

0"$%D@/; "$%D@/; "$%D@/; "$%D@/;

  • 161

162 ' ' ' ''$7&( '$7&( '$7&( '$7&('$;P$ '$;P$ '$;P$ '$;P$% % % %1 1 1 1: : : :

  • 163

) ) ) )

  • 164
  • "

" " "&&Q &&Q &&Q &&Q= = = =(OO (OO (OO (OO# # # #( ( ( (,:,$';$ ,:,$';$ ,:,$';$ ,:,$';$

  • 165

CC* CC* CC* CC*9;$'% 9;$'% 9;$'% 9;$'%

  • 166

$ $ $ $,%,$;$ ,%,$;$ ,%,$;$ ,%,$;$

  • 167
  • 11

11 11 11* * * *9 9 9 9;$': ;$': ;$': ;$':

  • 168

%/$%&;> %/$%&;> %/$%&;> %/$%&;>= = = = > > > >=N =N =N =N> > > >### ### ### ###> > > ># # # #(* (* (* (*%/,;,$ %/,;,$ %/,;,$ %/,;,$

  • 169

0"'$7 "'$7 "'$7 "'$7

  • Outline

" M " M " M " M

5/

slide-99
SLIDE 99

99

170 171 ' ' ' ''$A+&( '$A+&( '$A+&( '$A+&('$$+ '$$+ '$$+ '$$+

  • 172

) ) ) )

  • 173

O&C O&C O&C O&C= = = =(Q (Q (Q (QM M M M* * * *'$+ '$+ '$+ '$+

  • 174

%/$%&;> %/$%&;> %/$%&;> %/$%&;>= = = = > > > >=N =N =N =N> > > >### ### ### ###> > > ># # # #(* (* (* (*%/,;,$ %/,;,$ %/,;,$ %/,;,$

  • 175

0"'$A+ "'$A+ "'$A+ "'$A+

  • Outline

" M " M " M " M

//

slide-100
SLIDE 100

100

15.11 The Grabber and Allegro Datafiles

+

– G& *

  • &$

– -&

&

slide-101
SLIDE 101

101

15.11 The Grabber and Allegro Datafiles

I

– + *- – '- – G& &

slide-102
SLIDE 102

102

  • Fig. 15.15 | Allegro’s grabber utility.
slide-103
SLIDE 103

103

15.11 The Grabber and Allegro Datafiles

E

– '

– 2

  • ,J
  • &

– I

  • J
  • AJ$

– ?

  • +J@J

K11B

slide-104
SLIDE 104

104

15.11 The Grabber and Allegro Datafiles

J

– E$ – !(A ) (%J) J

  • – (?)

– --&

slide-105
SLIDE 105

105

  • Fig. 15.16 | Adding a bitmap to a datafile.
slide-106
SLIDE 106

106

15.11 The Grabber and Allegro Datafiles

J

– J$

  • – 'J$

& – (6?) (E) ;;% ;;% ;;% ;;% – ? L-

  • – A&$(I) J

– &

slide-107
SLIDE 107

107

  • Fig. 15.17 | Applying an imported bitmap to an object.
slide-108
SLIDE 108

108

15.11 The Grabber and Allegro Datafiles

J

– I- ?,,J – +& – &

slide-109
SLIDE 109

109

  • Fig. 15.18 | A complete imported object.
slide-110
SLIDE 110

110

15.11 The Grabber and Allegro Datafiles

#

– ?,,J – 6

#J

– '$ J(A ) (%J) – %J$(I) J&

  • A()

– %J$&

slide-111
SLIDE 111

111

  • Fig. 15.19 | The grabber window after importing all of our objects.
slide-112
SLIDE 112

112

15.11 The Grabber and Allegro Datafiles

– ?() $% % % % (!) – ' -

  • ' &

– '

slide-113
SLIDE 113

113

15.11 The Grabber and Allegro Datafiles

,

– GD3 GD3 GD3 GD3$63? 63? 63? 63?$ D D D D $$ $D? D? D? D? J – + " " " " $

  • $

" " " " $ - D? D? D? D? – $/" $/" $/" $/"

slide-114
SLIDE 114

114

15.11 The Grabber and Allegro Datafiles

J

– D? D? D? D? J – GJ*&

  • – EJ&M$J&

$ – #J$ J*& – ! $--

slide-115
SLIDE 115

115

1 ";4K$>%;/;;'M=#>I-<= ";4K$>%;/;;'M=#>I-<= ";4K$>%;/;;'M=#>I-<= ";4K$>%;/;;'M=#>I-<=

  • 2

"!! "!! "!! "!![ [ [ [' ' ' '1 1 1 12%% 2%% 2%% 2%%[ [ [ [34$ 34$ 34$ 34$[ [ [ [%" %" %" %"

  • 3

!-\==! U!#=##8 !-\==! U!#=##8 !-\==! U!#=##8 !-\==! U!#=##8

  • 4

. . . .

  • 5

6 " " " "

  • G??

G?? G?? G??

  • #

# # #

  • G3

G3 G3 G3

  • 7

" " " "

  • GE

GE GE GE

  • G3

G3 G3 G3

  • 8

" " " "

  • GI

GI GI GI

  • =

= = =

  • 63

63 63 63

  • 9

" " " "

  • 3ID

3ID 3ID 3ID

  • <

< < <

  • D

D D D

  • Outline
slide-116
SLIDE 116

116

15.11 The Grabber and Allegro Datafiles

'

– +J J*& – G J

J

– # /" /" /" /" $J /"RS /"RS /"RS /"RS$

  • J*&

– J ' ' ' '$

slide-117
SLIDE 117

117

1 =!" = =!" = =!" = =!" =

  • 2

H$"$ H$"$ H$"$ H$"$

  • 3
  • 4
  • ,%,

,%, ,%, ,%,

  • 5

6 $/;$$";P$%$$;$ $/;$$";P$%$$;$ $/;$$";P$%$$;$ $/;$$";P$%$$;$

  • 7

" " " "-EIAD#

  • EIAD#
  • EIAD#
  • EIAD#
  • 8

" " " "H3EIAD H3EIAD H3EIAD H3EIAD

  • 9

" " " "-?D=

  • ?D=
  • ?D=
  • ?D=
  • 10 "

" " "

  • H3?D<

H3?D< H3?D< H3?D<

  • 11

12 "%/%$ "%/%$ "%/%$ "%/%$

  • 13 '

' ' ''G& 'G& 'G& 'G&' ' ' '(* (* (* (*

  • 14 '

' ' '$%D@/;& $%D@/;& $%D@/;& $%D@/;&' ' ' '(* (* (* (*

  • 15 '

' ' ''$7& '$7& '$7& '$7&' ' ' '(* (* (* (*

  • 16 '

' ' ''$A+& '$A+& '$A+& '$A+&' ' ' '(* (* (* (*

  • 17

18 ' ' ' ';K* ;K* ;K* ;K*;P$K ;P$K ;P$K ;P$K1 1 1 1

  • 19 '

' ' ';/* ;/* ;/* ;/*;P$/ ;P$/ ;P$/ ;P$/1 1 1 1

  • 20 '

' ' ';?/* ;?/* ;?/* ;?/*/ / / /1 1 1 1""% ""% ""% ""%

  • 21 '

' ' ';E/* ;E/* ;E/* ;E/*/ / / /1 1 1 1"% "% "% "%

  • 22 '

' ' '$?* $?* $?* $?*$""%/ $""%/ $""%/ $""%/

  • 23 '

' ' '

  • $E*

$E* $E* $E*$"%/ $"%/ $"%/ $"%/

  • 24 '

' ' '* * * *;P$ ;P$ ;P$ ;P$

  • 25 GD3;""*

GD3;""* GD3;""* GD3;""*%;"" %;"" %;"" %;""

  • 26 D?%*

D?%* D?%* D?%*

  • %"

%" %" %"

  • 27
  • Outline

" = " = " = " =

"/ pong.h 9 DATAFILE* 9

slide-118
SLIDE 118

118

28

  • &

& & &

  • '

' ' '

  • (

( ( (

  • 29 )

) ) )

  • 30
  • "$>$%%$

"$>$%%$ "$>$%%$ "$>$%%$

  • 31 &(*

&(* &(* &(*+ + + +

  • 32 $9/;&(*

$9/;&(* $9/;&(* $9/;&(*$9/;"$ $9/;"$ $9/;"$ $9/;"$

  • 33 $$&

$$& $$& $$&IHDD2D IHDD2D IHDD2D IHDD2D> > > >H H H HDD2D DD2D DD2D DD2D> > > >H?? H?? H?? H??(* (* (* (*

  • 34 $&(*

$&(* $&(* $&(*$ $ $ $

  • 35 $%&

$%& $%& $%&8 8 8 8(* (* (* (*$%8 $%8 $%8 $%81 1 1 1; ; ; ;

  • 36 $"K&

$"K& $"K& $"K&ILHDD2D ILHDD2D ILHDD2D ILHDD2D> > > >8M# 8M# 8M# 8M#> > > >MN# MN# MN# MN#> > > ># # # #> > > ># # # #(* (* (* (*$%$ $%$ $%$ $%$

  • 37 ;""O;%&

;""O;%& ;""O;%& ;""O;%&62 62 62 62E- E- E- E-> > > >62EA 62EA 62EA 62EA(* (* (* (*;"" ;"" ;"" ;""

  • 38
  • %O"&

%O"& %O"& %O"&,%", ,%", ,%", ,%",(* (* (* (*

  • "

" " "

  • 39 ;KO

;KO ;KO ;KO62E- 62E- 62E- 62E-

  • =

= = =* * * *';$K ';$K ';$K ';$K1 1 1 1

  • 40 ;/O

;/O ;/O ;/O62EA 62EA 62EA 62EA

  • =

= = =* * * *';$/ ';$/ ';$/ ';$/1 1 1 1

  • 41 ;?/O

;?/O ;?/O ;?/O62EA 62EA 62EA 62EA

  • =

= = =* * * *'"%$/ '"%$/ '"%$/ '"%$/1 1 1 1

  • 42 ;E/O

;E/O ;E/O ;E/O62EA 62EA 62EA 62EA

  • =

= = =* * * *'%$/ '%$/ '%$/ '%$/1 1 1 1

  • 43 $?O

$?O $?O $?O# # # #* * * *$"%/P$$# $"%/P$$# $"%/P$$# $"%/P$$#

  • 44 $EO

$EO $EO $EO# # # #* * * *$% $% $% $%/P$$# /P$$# /P$$# /P$$#

  • 45 $&&

$&& $&& $&&H?? H?? H?? H??((* ((* ((* ((*$" $" $" $"

  • 46 O&(Q

O&(Q O&(Q O&(QM M M M* * * *9 9 9 9

  • 47
  • $'G'/ $$

$'G'/ $$ $'G'/ $$ $'G'/ $$

  • 48 $&'

$&' $&' $&'G> G> G> G> (* (* (* (*

  • 49
  • $$%D@/;'/#$$

$$%D@/;'/#$$ $$%D@/;'/#$$ $$%D@/;'/#$$

  • 50 $&$%D@/;>

$&$%D@/;> $&$%D@/;> $&$%D@/;># # # #(* (* (* (*

  • 51
  • Outline

" = " = " = " =

&/ load_datafile

slide-119
SLIDE 119

119

52

  • :

: : :&.9/R &.9/R &.9/R &.9/R@562 @562 @562 @562S( S( S( S($%9/$%$$ $%9/$%$$ $%9/$%$$ $%9/$%$$

  • 53 )

) ) )

  • 54
  • :>%";;""

:>%";;"" :>%";;"" :>%";;""

  • 55 &;"">9&

&;"">9& &;"">9& &;"">9&= = = = > > > >= = = = > > > >= = = = ((* ((* ((* ((*

  • 56
  • ;&%R

;&%R ;&%R ;&%RG?? G?? G?? G??S>;""> S>;""> S>;""> S>;""># # # #> > > ># # # #>;K>; >;K>; >;K>; >;K>;/> /> /> />M# M# M# M#> > > >M# M# M# M#(* (* (* (*

  • 57
  • ;&%R

;&%R ;&%R ;&%RGE GE GE GES>;""> S>;""> S>;""> S>;""># # # #> > > ># # # #> > > ># # # #>;?/> >;?/> >;?/> >;?/>=# =# =# =#> > > >## ## ## ##(* (* (* (*

  • 58
  • ;&%R

;&%R ;&%R ;&%RGE GE GE GES>;""> S>;""> S>;""> S>;""># # # #> > > ># # # #> > > >8=# 8=# 8=# 8=#>;E/> >;E/> >;E/> >;E/>=# =# =# =#> > > >## ## ## ##(* (* (* (*

  • 59 &;"">

&;""> &;""> &;""># # # #> > > ><# <# <# <#> > > >8M# 8M# 8M# 8M#> > > ><# <# <# <#>9& >9& >9& >9&# # # #> > > ># # # #> > > ># # # #((* ((* ((* ((*

  • 60
  • :K

:K :K :K;"" ;"" ;"" ;""

  • 61
  • K%"K&;"">%R

K%"K&;"">%R K%"K&;"">%R K%"K&;"">%R3ID 3ID 3ID 3IDS> S> S> S>U U U U > > > ># # # #> > > >

  • 62
  • 9&

9& 9& 9&# # # #> > > ># # # #> > > ># # # #(> (> (> (>1 1 1 1

  • >

> > >,?"3/6!Q, ,?"3/6!Q, ,?"3/6!Q, ,?"3/6!Q,> > > >

  • 63
  • $?(*

$?(* $?(* $?(*

  • 64
  • K%"K&;"">%R

K%"K&;"">%R K%"K&;"">%R K%"K&;"">%R3ID 3ID 3ID 3IDS> S> S> S>M## M## M## M##> > > ># # # #> > > >

  • 65
  • 9&

9& 9& 9&# # # #> > > ># # # #> > > ># # # #(> (> (> (>1 1 1 1

  • >

> > >,E3/6!Q, ,E3/6!Q, ,E3/6!Q, ,E3/6!Q,> > > >

  • 66
  • $E(*

$E(* $E(* $E(*

  • 67 ;&;"">$>

;&;"">$> ;&;"">$> ;&;"">$># # # #> > > ># # # #> > > >

  • #

# # #> > > ># # # #>;"" >;"" >;"" >;""1 1 1 1:>;"" :>;"" :>;"" :>;""1 1 1 1(* (* (* (*

  • 68 ;%&;""(*

;%&;""(* ;%&;""(* ;%&;""(*

  • 69 0

0: : : :

  • 70

71 '&'G(* '&'G(* '&'G(* '&'G(*''G ''G ''G ''G

  • 72 '&$%D@/;(*

'&$%D@/;(* '&$%D@/;(* '&$%D@/;(*'$% '$% '$% '$%D@/; D@/; D@/; D@/;

  • 73 $/;%&;""(*

$/;%&;""(* $/;%&;""(* $/;%&;""(*$/;"";% $/;"";% $/;"";% $/;"";%

  • 74
  • "&%(*

"&%(* "&%(* "&%(*

  • "

" " "

  • 75
  • #

# # #* * * *

  • 76 0

0" " " "

  • Outline

" = " = " = " =

'/ unload_datafile

slide-120
SLIDE 120

120

77 &( &( &( &(P"$. P"$. P"$. P"$.

  • 78

79 ' ' ' ''G&( 'G&( 'G&( 'G&('$; '$; '$; '$;

  • 80 )

) ) )

  • 81
  • $:

$: $: $:

  • &()

&() &() &()

  • 82
  • $

$ $ $

  • EIAD
  • EIAD
  • EIAD
  • EIAD!

! ! !

  • 83 CC;K*

CC;K* CC;K* CC;K*'; '; '; ';

  • 84 CC;/*

CC;/* CC;/* CC;/*';: ';: ';: ';:

  • 85
  • ;9

;9 ;9 ;9* * * *

  • 86
  • $

$ $ $H3EIAD H3EIAD H3EIAD H3EIAD! ! ! !

  • 87 CC;K*

CC;K* CC;K* CC;K*'; '; '; ';

  • 88
  • 11

11 11 11;/* ;/* ;/* ;/*';% ';% ';% ';%

  • 89
  • ;9

;9 ;9 ;9* * * *

  • 90
  • $

$ $ $-?D

  • ?D
  • ?D
  • ?D!

! ! !

  • 91
  • 11

11 11 11;K* ;K* ;K* ;K*';" ';" ';" ';"

  • 92 CC;/*

CC;/* CC;/* CC;/*';: ';: ';: ';:

  • 93
  • ;9

;9 ;9 ;9* * * *

  • 94
  • $

$ $ $H3?D H3?D H3?D H3?D! ! ! !

  • 95
  • 11

11 11 11;K* ;K* ;K* ;K*';" ';" ';" ';"

  • 96
  • 11

11 11 11;/* ;/* ;/* ;/*';% ';% ';% ';%

  • 97
  • ;9

;9 ;9 ;9* * * *

  • 98 0

0$: $: $: $:

  • 99

100

  • ";$""%;

";$""%; ";$""%; ";$""%;

  • 101
  • "

" " "&;/O &;/O &;/O &;/O<# <# <# <#TT;/O TT;/O TT;/O TT;/OMM MM MM MM# # # #( ( ( (

  • 102

'$7&(* '$7&(* '$7&(* '$7&(*9:/ 9:/ 9:/ 9:/

  • 103

104

  • ";$""%

";$""% ";$""% ";$""%

  • 105
  • "

" " "&;K &;K &;K &;K=# =# =# =#YY&OO YY&OO YY&OO YY&OO-?D

  • ?D
  • ?D
  • ?DTTOO

TTOO TTOO TTOOH3?D H3?D H3?D H3?D(( (( (( ((

  • Outline

" = " = " = " =

#/

slide-121
SLIDE 121

121

106 ) ) ) )

  • 107
  • $"%:/Z

$"%:/Z $"%:/Z $"%:/Z

  • 108
  • "

" " "&;/&;?/ &;/&;?/ &;/&;?/ &;/&;?/1 1 1 1

  • <W

<W <W <W(YY;/&;?/C (YY;/&;?/C (YY;/&;?/C (YY;/&;?/CWW WW WW WW(( (( (( ((

  • 109
  • '$A+&(*

'$A+&(* '$A+&(* '$A+&(*

  • 110
  • $"

$" $" $"&;KO &;KO &;KO &;KO1 1 1 1=# =# =# =#() () () ()";$""$ ";$""$ ";$""$ ";$""$

  • 111

CC$E* CC$E* CC$E* CC$E*'%/% '%/% '%/% '%/%

  • 112

;KO ;KO ;KO ;KO62E 62E 62E 62E-

  • =

= = =* * * *%; %; %; %;

  • 113

;/O ;/O ;/O ;/O62EA 62EA 62EA 62EA

  • =

= = =* * * *"$ "$ "$ "$

  • 114

O&(Q O&(Q O&(Q O&(QM M M M* * * *'; '; '; ';

  • 115

0$ $ $ $

  • 116

0" " " "

  • 117

118

  • ";$"%

";$"% ";$"% ";$"%

  • 119
  • "

" " "&;K &;K &;K &;K N# N# N# N#YY&OO YY&OO YY&OO YY&OO-EIAD

  • EIAD
  • EIAD
  • EIADTTOO

TTOO TTOO TTOOH3EIAD H3EIAD H3EIAD H3EIAD(( (( (( ((

  • 120

) ) ) )

  • 121
  • $%:/Z

$%:/Z $%:/Z $%:/Z

  • 122
  • "

" " "&;/&;E/ &;/&;E/ &;/&;E/ &;/&;E/1 1 1 1

  • <W

<W <W <W(YY;/&;E/C (YY;/&;E/C (YY;/&;E/C (YY;/&;E/CWW WW WW WW(( (( (( ((

  • 123

'$A+&(* '$A+&(* '$A+&(* '$A+&(*

  • 124
  • $"

$" $" $"&;K &;K &;K &;K

  • O

O O O8=# 8=# 8=# 8=#( ( ( (

  • )

) ) )";$""$ ";$""$ ";$""$ ";$""$

  • 125

CC$?* CC$?* CC$?* CC$?*'"%/% '"%/% '"%/% '"%/%

  • 126

;KO ;KO ;KO ;KO62E- 62E- 62E- 62E-

  • =

= = =* * * *%; %; %; %;

  • 127

;/O ;/O ;/O ;/O62EA 62EA 62EA 62EA

  • =

= = =* * * *"$ "$ "$ "$

  • 128
  • O&(Q

O&(Q O&(Q O&(QM M M M* * * *'; '; '; ';

  • 129

0$ $ $ $

  • 130

0" " " "

  • 131

0" " " "'G 'G 'G 'G

  • 132

133 ' ' ' '$%D@/;&( $%D@/;&( $%D@/;&( $%D@/;&($%$9/;% $%$9/;% $%$9/;% $%$9/;%

  • Outline

" = " = " = " =

)/

slide-122
SLIDE 122

122

134 ) ) ) )

  • 135
  • "

" " "&9/R &9/R &9/R &9/R@5 @5 @5 @5S( S( S( S("$;%$$ "$;%$$ "$;%$$ "$;%$$

  • 136

;?/ ;?/ ;?/ ;?/1 1 1 1O O O O< < < <* * * *'"%% '"%% '"%% '"%%

  • 137
  • "

" " "&9/R &9/R &9/R &9/R@5X @5X @5X @5XS( S( S( S("X$;%$$ "X$;%$$ "X$;%$$ "X$;%$$

  • 138

;?/CO ;?/CO ;?/CO ;?/CO< < < <* * * *'"%: '"%: '"%: '"%:

  • 139

140

  • "

" " "&9/R &9/R &9/R &9/R@ @ @ @5H3 5H3 5H3 5H3S( S( S( S("%:9/$;%$$ "%:9/$;%$$ "%:9/$;%$$ "%:9/$;%$$

  • 141

;E/ ;E/ ;E/ ;E/1 1 1 1O O O O< < < <* * * *'%% '%% '%% '%%

  • 142
  • "

" " "&9/R &9/R &9/R &9/R@5- @5- @5- @5-S( S( S( S("::9/$;%$$ "::9/$;%$$ "::9/$;%$$ "::9/$;%$$

  • 143

;E/CO ;E/CO ;E/CO ;E/CO< < < <* * * *

  • '%:

'%: '%: '%:

  • 144

145

  • 9$%$P""$

9$%$P""$ 9$%$P""$ 9$%$P""$

  • 146
  • "

" " "&;?/ &;?/ &;?/ &;?/<# <# <# <#( ( ( (""% ""% ""% ""%$""% $""% $""% $""%

  • 147

;?/O ;?/O ;?/O ;?/O<# <# <# <#* * * *

  • 148
  • $"

$" $" $"&;?/ &;?/ &;?/ &;?/<N# <N# <N# <N#( ( ( (""%$""; ""%$""; ""%$""; ""%$"";

  • 149

;?/O ;?/O ;?/O ;?/O<N# <N# <N# <N#* * * *

  • 150
  • "

" " "&;E/ &;E/ &;E/ &;E/<# <# <# <#( ( ( ("%$""% "%$""% "%$""% "%$""%

  • 151

;E/O ;E/O ;E/O ;E/O<# <# <# <#* * * *

  • 152
  • $"

$" $" $"&;E/ &;E/ &;E/ &;E/<N# <N# <N# <N#( ( ( ("%$ "%$ "%$ "%$""; ""; ""; "";

  • 153

;E/O ;E/O ;E/O ;E/O<N# <N# <N# <N#* * * *

  • 154

0"$%D@/; "$%D@/; "$%D@/; "$%D@/;

  • 155

156 ' ' ' ''$7&( '$7&( '$7&( '$7&('$;P$ '$;P$ '$;P$ '$;P$% % % %1 1 1 1: : : :

  • 157

) ) ) )

  • 158
  • "

" " "&&Q &&Q &&Q &&Q= = = =(OO (OO (OO (OO# # # #( ( ( (,:,$';$ ,:,$';$ ,:,$';$ ,:,$';$

  • 159

CC* CC* CC* CC*9;$'% 9;$'% 9;$'% 9;$'%

  • 160

$ $ $ $,%,$;$ ,%,$;$ ,%,$;$ ,%,$;$

  • 161
  • 11

11 11 11* * * *9 9 9 9;$': ;$': ;$': ;$':

  • 162
  • %/$%&%R

%/$%&%R %/$%&%R %/$%&%RGI GI GI GIS> S> S> S>= = = = > > > >=N =N =N =N> > > >### ### ### ###> > > ># # # #(* (* (* (*

  • %/$

%/$ %/$ %/$

  • 163

0"'$7 "'$7 "'$7 "'$7

  • Outline

" = " = " = " =

5/

slide-123
SLIDE 123

123

164 165 ' ' ' ''$A+&( '$A+&( '$A+&( '$A+&('$$+ '$$+ '$$+ '$$+

  • 166

) ) ) )

  • 167

O&C O&C O&C O&C= = = =(Q (Q (Q (QM M M M* * * *'$+ '$+ '$+ '$+

  • 168
  • %/$%&%R

%/$%&%R %/$%&%R %/$%&%RGI GI GI GIS> S> S> S>= = = = > > > >=N =N =N =N> > > >### ### ### ###> > > ># # # #(* (* (* (*

  • %/$

%/$ %/$ %/$

  • 169

0"'$A+ "'$A+ "'$A+ "'$A+

  • Outline

" = " = " = " =

//

slide-124
SLIDE 124

124

15.12 Other Allegro Capabilities

+

– &

.#+#

  • "

" " " +C+O& # * ::: ::: ::: :::