15 15
play

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


  1. 11 15.3 A Simple Allegro Program � G������������������������������������� ����������/ – ���������� ���������� ���������� ������������������� ���������� ��������� ��������� � � � – ������������ ������������ ������������ ������������ – ����������� ����������� ����������� ����������� � ���������� ���������� ���������� ������������������� ��������� ���������� ��������� � � � ��������� ������������������������������������� – ��������� ��������� ��������� ���������������������������������������� – !������������������������������������������ �������� �������

  2. 12 15.3 A Simple Allegro Program � ������������ ������������ ������������ ������������ – #�������������������������� – .��������������������������������������$������������� ����������������������������������������������������� � ����������� ����������� ����������� ����������� – .������������������������������������������������������� ��������� ���� ���� �������� ���� ���� – G����������������&�������������� ���������������������� – 6�7���������������������������������������2���� �$� �����<A#H��������$�����.���%��H – A�����7����������������������$�������������������� ������������"����������������������

  3. 1 ��������� ��!�"��� �#��� ��������� ��!�"��� �#���� ��������� ��!�"��� �#��� ��������� ��!�"��� �#��� � � � 13 2 �����$��%�����������%���������� �����$��%�����������%����������� �����$��%�����������%���������� �����$��%�����������%���������� � � � Outline allegro.h ����������������������� 3 �������� �������������������� �������� �������� ������������ ������������� ������������ � � � 4 allegro_init ������������������������������������ 5 ��� ��������&� ��� ��� �����&�'��� �����&� �����&� '��� '����( '��� �(� �( �( � � � )� ) � 6 ) ) � � "��� �#��� "��� �#��� "��� �#��� "��� �#��� 7 ���������������&(*������������+������������ ���������������&(*� ���������������&(*� ���������������&(*� �����������+������������ �����������+������������� �����������+������������ � � � 8 �������������$$���&� �������������$$���&�,-�����������������.,� �������������$$���&� �������������$$���&� ,-�����������������.,�(*� ,-�����������������.,� ,-�����������������.,� (*� (*������$%��/�����$$������ (*� �����$%��/�����$$������ �����$%��/�����$$������ �����$%��/�����$$������� � � � 9 ��� ��������� ��� ��� ������ ������ ������� � � �# # # #* * * *� � � � 10 0� 0� 0��������"��������������� 0� �������"���������������� �������"��������������� �������"��������������� � � � allegro_message �������������������� 11 �����������&(� �����������&(����������� ����������1 1$%���"����������� $%���"������������ � �����������&(� �����������&(� ���������� ���������� 1 1 $%���"����������� $%���"����������� � � �������������������������������������� � END_OF_MAIN �������������� �������������������������������

  4. 14 15.3 Compiling an Allegro Program � 2����������3��4��� 2����������3��4��� 2����������3��4��� 2����������3��4��� – 5�������������'������������$�������"����672� 5�������������'������������$�������"����672� 5�������������'������������$�������"����672� 5�������������'������������$�������"����672� 8�� 8�� 8�� 8�� – �%��������$�"��7�$����6������8 �%��������$�"��7�$����6������8 �%��������$�"��7�$����6������8 �%��������$�"��7�$����6������8 – 2���9�������������:�� 2���9�������������:�� 2���9�������������:�� 2���9�������������:�� – ���������;�3��4���$�����$��,-��<=� ���������;�3��4���$�����$��,-��<=� ���������;�3��4���$�����$��,-��<=� ���������;�3��4���$�����$��,-��<=� �%%��������,� �%%��������,� �%%��������,� �%%��������,� – ������/����%��4��������>�����$����?�������� ������/����%��4��������>�����$����?�������� ������/����%��4��������>�����$����?�������� ������/����%��4��������>�����$����?�������� ��������,�@,� ��������,�@,� ��������,�@,� ��������,�@,� – 2���$��,��%�/�%��4���,� 2���$��,��%�/�%��4���,� 2���$��,��%�/�%��4���,� 2���$��,��%�/�%��4���,� – A���,����$�,� A���,����$�,� A���,����$�,� A���,����$�,�

  5. 15 15.3 Compiling an Allegro Program

  6. 16 15.3 Compiling an Allegro Program � 2�����������������$������"��� 2�����������������$������"��� 2�����������������$������"��� 2�����������������$������"��� – 2���9����,���� 2���9����,���� 2���9����,���� 2���9����,����B B�� B B �� �� �� – �����;�����$�����$�� �����;�����$�����$�� �����;�����$�����$�� �����;�����$�����$��B B2CC�6���������� B B 2CC�6���������� 2CC�6���������� 2CC�6����������B B B B>� >� >� >� ��������������>�����%��$$�,�@,� ��������������>�����%��$$�,�@,� ��������������>�����%��$$�,�@,� ��������������>�����%��$$�,�@,� – ������������������������ ������������������������ ������������������������ ������������������������

  7. 17 15.3 Compiling an Allegro Program � 3��4����3��%�����$ 3��4����3��%�����$ 3��4����3��%�����$ 3��4����3��%�����$ – D���:��9$%������$�;����$����%>�;�����:�:�� D���:��9$%������$�;����$����%>�;�����:�:�� D���:��9$%������$�;����$����%>�;�����:�:�� D���:��9$%������$�;����$����%>�;�����:�:�� �����������9������������������;���/������$� �����������9������������������;���/������$� �����������9������������������;���/������$� �����������9������������������;���/������$� ���������������"������������;������� ���������������"������������;������� ���������������"������������;������� ���������������"������������;������� '��$����� '��$����� '��$����� '��$����� – �����������������������$������$>�/���:���� �����������������������$������$>�/���:���� �����������������������$������$>�/���:���� �����������������������$������$>�/���:���� ��������E���� ��������E����1 ��������E���� ��������E���� 1 1 1����9��������3��4������������ ����9��������3��4������������ ����9��������3��4������������ ����9��������3��4������������ ���� ���� ���� ����B B B B-��9$%���,���������$�� -��9$%���,���������$��B -��9$%���,���������$�� -��9$%���,���������$�� B B6������$ B 6������$ 6������$ 6������$F F F F�,�� �,�� �,�� �,��

  8. 18 15.3 Compiling an Allegro Program � �/��������/�?��9��� �/��������/�?��9��� �/��������/�?��9��� �/��������/�?��9��� � ��;���G����� ��;���G����� ��;���G����� ��;���G����� – H���������3��4����6�������:����:>�����$�� H���������3��4����6�������:����:>�����$�� H���������3��4����6�������:����:>�����$�� H���������3��4����6�������:����:>�����$�� 6����������� 6����������� 6����������� 6�����������B B B B-��<=���;�� -��<=���;�� -��<=���;�� -��<=���;��B B� B B � � � – H�����������;�,2�2CC H�����������;�,2�2CC H�����������;�,2�2CC H�����������;�,2�2CCB B B B>�����$��2������/� >�����$��2������/� >�����$��2������/� >�����$��2������/� ,2����I���������,�����$������,���;��� ,2����I���������,�����$������,���;��� ,2����I���������,�����$������,���;��� ,2����I���������,�����$������,���;��� ����� �����1 1����������?? ����������??J J>�2���9� >�2���9�B B�@,� �@,� ����� ����� 1 1 ����������?? ����������?? J J >�2���9� >�2���9� B B �@,� �@,� – H�����������;�,?��9 H�����������;�,?��9 H�����������;�,?��9 H�����������;�,?��9B B B>������������ B >������������ >������������ >������������ �;4������;�����$��������,�������; �;4������;�����$��������,�������; �;4������;�����$��������,�������; �;4������;�����$��������,�������;B B B B>�2���9� >�2���9� >�2���9� >�2���9� B B B B�@, �@, �@, �@,

  9. 19 15.3 Compiling an Allegro Program

  10. 20 15.4 Importing Graphics and Blitting � #���������I������� – ��������������� ��������������������������������� � – .��������������������������������������������&������������ – ��������������������������������������������������������������� �������������������������������������������� G�D��3� ������������������������������������������������������� – G�D��3� G�D��3� G�D��3� ���� � G�D��3� G�D��3� ���� G�D��3� G�D��3� – ��������� ������������������������� – #����������������� $����� $����� $����� $����� - #������������������������$����� $����� $����� ���������� ����������$� : : ���� $����� $����� : : � $������������������������������*�� ���������������$������������� � � � – '�������������������������� G�D��3� G�D��3� ���������� G�D��3� G�D��3�

  11. 21 15.4 Importing Graphics and Blitting � .������������������� – ��������������������������������������������������� G�D��3� ��J���� G�D��3� G�D��3� G�D��3� – .�������������/� �����;����% �����;����% ���� ��$���/�;����% �����;����% �����;����% ��$���/�;����% ��$���/�;����% ��$���/�;����% � �����;����% �����;����% �����;����% �����;����% – ,������������������������������ G�D��3� G�D��3� ��������������� G�D��3� G�D��3� �������� – '�-���� �����������K����������������������������������� - ���������������������������L���������� �������������� �H?? �H?? �H?? �H?? – 6��������� G�D��3� G�D��3� ��������������������������������� �H?? G�D��3� G�D��3� �H?? �H?? �H?? �����������������������������@����������������� ���������B

  12. 22 15.4 Importing Graphics and Blitting � ��$���/�;����% ��$���/�;����% ��$���/�;����% ��$���/�;����% – 6���������������������������������������������������� ��������������������� – '�-����� G�D��3� G�D��3� �������������� G�D��3� G�D��3� – %�������������������������������$�������������������������� ������������������ – #�������������������������������������������������������� ����������������������������-� � %���������������������������������� – +��������������&�������

  13. 23 Function prototype Description � ����������������������������������������������������� � � � � G�D��3���������;����%&���� � � �:����>� ����� � � � �������(� � � � ���������������������������������������� � � � � G�D��3�������;����%&���$��������"�������>� ������������������������������������������������� � � EIG��%��(� ���������������������� "������� �������������� %�� �� � � '����������;����%&G�D��3��;�%(� ������������������������������������������������������ � � � '������������������&G�D��3��;�%>���� �������� ������������������������������������������������ � � � ����������������������������������� � � '������$���/�;����%&G�D��3��;�%(� � � ������������������������������������������ ��� ������������������������!���������������������� ��������������������������������� ����������� ������� Fig. 15.2 | Important BITMAP functions.

  14. 24 Common Programming Error 15.1 '������������������������������������������������� ������������������������������������� ���� ���������������������$������������������������� ������������������������������� �������������� ���������������������������������������1

  15. 1 �������� �<!�"��� �#<�� �������� �<!�"��� �#<��� �������� �<!�"��� �#<�� �������� �<!�"��� �#<�� � � � 25 2 ����$%��/������;����%��������$��������� ����$%��/������;����%��������$���������� ����$%��/������;����%��������$��������� ����$%��/������;����%��������$��������� � � � Outline 3 ��������� �������������������� ��������� ��������� ����������� ������������ ����������� � � � install_keyboard ����������������������� ���������������� 4 5 ��� ��������& ��� ��� �����& �����&� �����& � �'��� � '��� '��� '���� � � �( ( ( (� � � � )� ) � 6 ) ) � � "��� �#<�� "��� �#<�� "��� �#<�� "��� �#<�� 7 ���G�D��3��;�%*����%��������������;����%��� ���G�D��3��;�%*� ���G�D��3��;�%*� ���G�D��3��;�%*� ���%��������������;����%��� ���%��������������;����%���� ���%��������������;����%��� � � � load_bitmap ������ picture.bmp ����� 8 ��������������� bmp ����������������� 9 ���������������&(*������������+������������ ���������������&(*� ���������������&(*� ���������������&(*� �����������+������������� �����������+������������ �����������+������������ � � � 10 ��� �����$�����9�/;����&(* ��� ��� ��$�����9�/;����&(*� ��$�����9�/;����&(* ��$�����9�/;����&(* ��������:�����������������'��9�/;�������%����� � � �������:�����������������'��9�/;�������%����� �������:�����������������'��9�/;�������%����� �������:�����������������'��9�/;�������%����������� ������� ������ ������ � � � 11 ��� ��� ���$�����������%��&� ��� $�����������%��&� $�����������%��&� $�����������%��&��8 �8�(*� �8 �8 �(*����$���������������%�������8 �(*� �(*� ���$���������������%�������81 ���$���������������%�������8 ���$���������������%�������8 1 1;���� 1 ;������������������ ;���� ;���� �������������� �������������� ��������������� � � � 12 ��� ���$����"K�����&�I�L��HD���D�2D>� ��� ��� $����"K�����&�I�L��HD���D�2D>� $����"K�����&�I�L��HD���D�2D>� $����"K�����&�I�L��HD���D�2D>�8M# 8M#>� 8M# 8M# >� >� >�MN# MN# MN#>� MN# >�# >� >� # #>� # >�# >� >� # #�(* # �(*����$������%���$�������� �(* �(* ����$������%���$�������� ����$������%���$�������� ����$������%���$��������� � � � 13 ��� ���;�%�O������;����%&� ;�%�O������;����%&�,%�������;�%, ,%�������;�%,>� >�� �H?? H??�(*� �(*�������������;����%�"������ ������������;����%�"��������� ���� � ��� ��� ;�%�O������;����%&� ;�%�O������;����%&� ,%�������;�%, ,%�������;�%, >� >� � � H?? H?? �(*� �(*� ������������;����%�"������ ������������;����%�"������ ��� ��� � � 14 ��� ���;���&�;�%>�$�����>� ��� ��� ;���&�;�%>�$�����>� ;���&�;�%>�$�����>� ;���&�;�%>�$�����>�# #>� # # >� >�# >� # # #>� >� >� >�# #>� # # >� >� >�# #>�;�% # # >�;�% >�;�% >�;�%1 1�:>�;�% 1 1 �:>�;�%1 �:>�;�% �:>�;�% 1���(* 1 1 ���(*�������:�����;����%��� ���(* ���(* �������:�����;����%���� �������:�����;����%��� �������:�����;����%��� � �� � � � � 15 ��� �������9�/&(*� ��� ��� ����9�/&(*� ����9�/&(*����:����"�����9�/%��$$��� ����9�/&(*� ���:����"�����9�/%��$$��� ���:����"�����9�/%��$$�������������������������������������� ���:����"�����9�/%��$$��� ������������������������������������ ����������������������������������� ����������������������������������� � � � readkey ��������������� 16 ��� �����$���/�;����%&�;�%�(*� ��� ��� ��$���/�;����%&�;�%�(*����"�������������/���������� ��$���/�;����%&�;�%�(*� ��$���/�;����%&�;�%�(*� ���"�������������/���������� ���"�������������/��������������;�%��� ���"�������������/���������� ����;�%��� ����;�%������������� ����;�%��� ���������� ����������� ���������� � � � ���������������������� 17 ��� ���������� �������# #* *� � ��� ��� ������� ������� # # * * � � 18 0� 0��������"��������������� 0� 0� �������"��������������� �������"��������������� �������"���������������� � � � destroy_bitmap ���� ��� 19 �����������&(� �����������&(����������� ����������1 1$%���"����������� $%���"������������ � �����������&(� �����������&(� ���������� ���������� 1 1 $%���"����������� $%���"����������� � � bmp ������������ blit ������ bmp ������������� ������������������������� �

  16. 26 15.4 Importing Graphics and Blitting � ������������������������ – ?�����������������������������������$���������������������� ������������� – ���������� ����� �����������/� $�����������%�� $�����������%�� ���� $�����������%�� $�����������%�� $����"K����� $����"K����� $����"K����� $����"K����� � $�����������%�� $�����������%�� $�����������%�� $�����������%�� – .��������������������� $����"K����� $����"K����� $����"K����� $����"K����� – '�-���������������������������� – ������������������������������� - ������������������������ ������������������������������������� ������������������������������������&�� – ��������������������������D"$���"$��;"$�98"$����C9"��� – D"�����������������������������������������������"�������� �������

  17. 27 15.4 Importing Graphics and Blitting � $����"K����� $����"K����� $����"K����� $����"K����� – ��������������������������������� – '�-�����������������$������������� – E��������������������������������������������������������� ����������������������� – ������������������������������������������������������� – '�������������������-�� ������������������(�������������) I�L��HD���D�2D��H??62E��� �������������������������� ���� - I�L��HD���D�2D��H??62E��� I�L��HD���D�2D��H??62E��� I�L��HD���D�2D��H??62E��� I�L��HD���D�2D�-����-�� ���������������� ���� ������� - I�L��HD���D�2D�-����-�� I�L��HD���D�2D�-����-�� I�L��HD���D�2D�-����-�� I�L��HD���D�2D ������������������������������� �������������� - I�L��HD���D�2D I�L��HD���D�2D I�L��HD���D�2D ���� ��������������������� ����� I�L�6��� ���������������� I�L��HD���D�2D I�L��HD���D�2D $����������������������� - I�L�6��� I�L�6��� I�L�6��� I�L��HD���D�2D I�L��HD���D�2D ���� ���� ���������������� ��-$� ����������������������� "7������� (����) �������������

  18. 28 15.4 Importing Graphics and Blitting � $����"K����� $����"K����� $����"K����� $����"K����� – ������������������������������������� ���������������� @�����&���B�����������������$������������� – ,����� ������������������������������������������ (��������������)K���������������M - #����������������������������$��������������������������������� �����������$���������������������������������������������� – 6�������M�������������������������������������$���������" ���������������� ���

  19. 29 15.4 Importing Graphics and Blitting � ;��� ;��� ;��� ;��� – �����������(?,��- '�������) – .������������������������������� – '�-���������������������-���������������������� ���������� ������� – '�-������������������K� �� G�D��3� G�D��3� ��������&��������� G�D��3� G�D��3� – E���������������������������������������� �������������-� ���������-�� – ������������������������������������������ �������������-� ���������� � - '��������������������$��������������������������� $����� $����� $����� $�����

  20. 30 15.4 Importing Graphics and Blitting � ;��� ;��� ;��� ;��� – '�������������������������������������� � " ���� � " ����������������������"�����������������������-���������-��� ���������������������� – E�����������&������������������������� � " ���� � "������������ ������������������������������� ������������"��������������� ��������-� ���������� � – ����������������������������������������� ��������� ������$�������������$������������-���������-������������ ������������� – A�������������������$�����������������@M$�MB��������������� ��������������������������������������� - ��������� � "��������������������������� ���������������$����� ��

  21. 31 Fig. 15.4 | Allegro’s coordinate system.

  22. 32 Software Engineering Observation 15.1 ���������������� I�L�6��� I�L�6��� N������������N���� I�L�6��� I�L�6��� ��������1�'���N����N�������������������������� ��������������������������������������*�� ����������1

  23. 33 Common Programming Error 15.2 ,����������������������������������������� ������������������������������������� ���� ��-����������������������������������������� �����������1

  24. 34 Error-Prevention Tip 15.1 <������� ��$���/�;����% ��$���/�;����% ����������������� ��$���/�;����% ��$���/�;����% �������������������������������������������� �����������������������������-�1

  25. 35 Common Programming Error 15.3 '��������������������������������������� ���������������������������������������1

  26. 36 15.5 Animation with Double Buffering � ��������� – :��������������������� – +�� �����(�����) ������������$��������������������������� ��� ���&��(�����) � ���� – �������������� ������������������������ – %���(����) ����������������������������������K��"����$���" �����$��� �"����$������� �"�����

  27. ��������� � !�"��� �# ��� ��������� � !�"��� �# �� � 1 ��������� � !�"��� �# �� ��������� � !�"��� �# �� � � 37 2 ���2������������;��������;������� ���2������������;��������;������� ���2������������;��������;������� ���2������������;��������;�������� � � � Outline 3 ��������� ��������� �������������������� ��������� ����������� ����������� ������������ � � � 4 5 ���$/�;��������$����$�"�������;���P$�%�$$�;������������$��� ���$/�;��������$����$�"�������;���P$�%�$$�;������������$��� ���$/�;��������$����$�"�������;���P$�%�$$�;������������$��� ���$/�;��������$����$�"�������;���P$�%�$$�;������������$���� � � � ���"������-��E�IAD� ���"���� ���"���� ���"���� ��-��E�IAD� ��-��E�IAD�# ��-��E�IAD� # #� # � � � 6 "��� �# �� "��� �# �� "��� �# �� "��� �# �� 7 ���"���� ���"���� ���"���� ���"����H3�E�IAD H3�E�IAD H3�E�IAD�� H3�E�IAD ��� �� �� � � � ���"���� ���"���� ���"���� ���"������-��?��D� ��-��?��D� ��-��?��D�= ��-��?��D� = =� = � � � 8 �"����#�� 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*��������;���P$�K ;����K*� �������;���P$�K �������;���P$�K �������;���P$�K1 1 1������������� 1 �������������� ������������� ������������� � � � 17 ���� ����;����/*� ;����/*��������;���P$�/ �������;���P$�/1 1������������� �������������� � ���� ���� ;����/*� ;����/*� �������;���P$�/ �������;���P$�/ 1 1 ������������� ������������� � � 18 ���� �������������*� ���� ���� ���������*� ���������*� ���������*��������;���P$������������� �������;���P$������������� �������;���P$������������� �������;���P$�������������� � � � 19 G�D��3��;���*� G�D��3��;���*����%��������������;���P$�������;����%��� ���%��������������;���P$�������;����%���� � G�D��3��;���*� G�D��3��;���*� ���%��������������;���P$�������;����%��� ���%��������������;���P$�������;����%��� � � 20 �

  28. 21 ���� ���� ��������& ���� ����& ����& ����&� � � �'��� '���� '��� '��� � � �( (� ( ( � � � 38 22 ) )� ) ) � � � Outline 23 ��� ��� ������"��$�>�$����%��������������������%���$�������� ��� ���"��$�>�$����%��������������������%���$�������� ���"��$�>�$����%��������������������%���$��������� ���"��$�>�$����%��������������������%���$�������� � � � 24 ���������������&(* ���������������&(*������������+������������ ������������+������������� � ���������������&(* ���������������&(* ������������+������������ ������������+������������ � � 25 �����$�����9�/;����&(* �����$�����9�/;����&(* �����$�����9�/;����&(*������$���������9�/;�����"���������������$���� �����$�����9�/;����&(* ������$���������9�/;�����"���������������$���� ������$���������9�/;�����"���������������$����� ������$���������9�/;�����"���������������$���� � � � 26 ���$�����������%��&��8�(* ���$�����������%��&��8�(*����$������������ ����$���������������%�������8 ���%�������81 1;����� ;������ � ���$�����������%��&��8�(* ���$�����������%��&��8�(* ����$������������ ����$������������ ���%�������8 ���%�������8 1 1 ;����� ;����� � � "��� �# �� "��� �# �� "��� �# �� "��� �# �� 27 ���$����"K�����&� ���$����"K�����&�I�L��HD���D�2D ���$����"K�����&� ���$����"K�����&� I�L��HD���D�2D>� I�L��HD���D�2D I�L��HD���D�2D >� >� >�8M# 8M#>� 8M# 8M# >� >�MN# >� MN# MN#>� MN# >� >� >�# #>� # # >�# >� >� #�(*� # # �(*� �(*� �(*����$������%���$�������� ���$������%���$��������� ���$������%���$�������� ���$������%���$�������� � � � 28 ���;����O������;����%&� ���;����O������;����%&�,;����;�%, ,;����;�%,>��H??�(*� >��H??�(*�������������;����;����%��� ������������;����;����%���� � ���;����O������;����%&� ���;����O������;����%&� ,;����;�%, ,;����;�%, >��H??�(*� >��H??�(*� ������������;����;����%��� ������������;����;����%��� � � �&����#�� 29 ��� ���;����K�O� ��� ��� ;����K�O� ;����K�O� ;����K�O�62E����- 62E����- 62E����- 62E����-��� ��� ��� ���= = = =* * * *� � ������'������;������$���������K � �����'������;������$���������K �����'������;������$���������K �����'������;������$���������K1 1 1 1������������� �������������� ������������� ������������� � � � 30 ��� ��� ���;����/�O� ��� ;����/�O�62E����A ;����/�O� ;����/�O� 62E����A 62E����A��� 62E����A ��� ��� ���= =* = = * * *� � � ������'������;������$���������/ �����'������;������$���������/1 �����'������;������$���������/ �����'������;������$���������/ 1 1������������� 1 ������������� �������������� ������������� � � � 31 ���$����&�����&� ���$����&�����&� ���$����&�����&��H?? ���$����&�����&� �H??�(�(*� �H?? �H?? �(�(*����$���������������"���������� �(�(*� �(�(*� ���$���������������"���������� ���$���������������"����������� ���$���������������"���������� � � � 32 �������������O�����&(�Q� �������������O�����&(�Q� �������������O�����&(�Q�M �������������O�����&(�Q� M M*� M *���������������9������������������������������� *� *� ��������������9������������������������������� ��������������9�������������������������������� ��������������9������������������������������� � � � 33 34 ��� ��� ���:���� ��� :�����&�.9�/R :���� :���� �&�.9�/R@�5��62 �&�.9�/R �&�.9�/R @�5��62 @�5��62 @�5��62S�( S�( S�(������� S�( ������� ������� ���������������$��%��9�/��$�%��$$��������� ��������$��%��9�/��$�%��$$��������� ��������$��%��9�/��$�%��$$���������� ��������$��%��9�/��$�%��$$��������� � � � SCREEN_W ���� SCREEN_H ����������� 35 ���) ���)� ���) ���) � � � 36 ��������'�G���&(* ��������'�G���&(* ��������'�G���&(*������'������;������ ��������'�G���&(* ������'������;������ ������'������;������ ������'������;������� � � � ������������������������������������� 37 ������ ��������������������&�$�����>���9����&� ��������������&�$�����>���9����&�= = >� >�= = >� >�= = �(�(* �(�(*� � ������ ������ ��������������&�$�����>���9����&� ��������������&�$�����>���9����&� = = >� >� = = >� >� = = �(�(* �(�(* � � 38 ������ ������ �����������:����:�����;����%����������$�������� ������ �����:����:�����;����%����������$��������� �����:����:�����;����%����������$�������� �����:����:�����;����%����������$�������� � � � 39 ������;���&�;���>�$�����>� ������;���&�;���>�$�����>�# #>� >�# #>�;����K>�;����/ >�;����K>�;����/>�;��� >�;���1 1�:>�;��� �:>�;���1 1���(* ���(*� � ������;���&�;���>�$�����>� ������;���&�;���>�$�����>� # # >� >� # # >�;����K>�;����/ >�;����K>�;����/ >�;��� >�;��� 1 1 �:>�;��� �:>�;��� 1 1 ���(* ���(* � � 40 ���0� ���0��������:������� ���0� ���0� �������:������� �������:������� �������:�������� � � � clear_to_color ��������� 41 ��������������������������������� 42 �����$���/�;����%&�;����(*� �����$���/�;����%&�;����(*� �����$���/�;����%&�;����(*������$���/�����;����;����%��� �����$���/�;����%&�;����(*� �����$���/�����;����;����%��� �����$���/�����;����;����%��� �����$���/�����;����;����%���� � � � 43 ��� ��� ���������� ��� �������# ������� ������� #* # # * * *� � � � 44 0� 0� 0��������"��������������� 0� �������"���������������� �������"��������������� �������"��������������� � � � 45 �����������&(� �����������&(�������P��"���������$.��� �����������&(� �����������&(� ������P��"���������$.��� ������P��"���������$.���� ������P��"���������$.��� � � � 46 �

  29. 47 '���� '���� '������'�G���&(� '���� ��'�G���&(� ��'�G���&(� ��'�G���&(������'�$�����;������ �����'�$�����;������� �����'�$�����;������ �����'�$�����;������ � � � 39 48 ) ) )� ) � � � Outline moveBall ����������� ���������������������� 49 ��� ��� ���$:����� ��� $:����� $:����� $:�����&�����������(�) &�����������(�) &�����������(�) &�����������(�)� � � � ������� �������� direction ������� 50 ������ ��������$� ��$�� ���-��E�IAD ��-��E�IAD! !� � ������ ������ ��$� ��$� � � ��-��E�IAD ��-��E�IAD ! ! � � 51 ���������CC;����K* ���������CC;����K* ���������CC;����K*������'������;������������������� ���������CC;����K* ������'������;������������������� ������'������;������������������� ������'������;�������������������� � � � 52 ���������CC;����/* ���������CC;����/*������'������;������:���� ������'������;������:����� � ���������CC;����/* ���������CC;����/* ������'������;������:���� ������'������;������:���� � � "��� �# �� "��� �# �� "��� �# �� "��� �# �� 53 ��������� ���������;���9 ��������� ��������� ;���9 ;���9 ;���9* * * *� � � � 54 ������ ������ ��������$�� ������ ��$�� ��$��H3�E�I ��$�� H3�E�IAD H3�E�I H3�E�I 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;����K*� ;����K*������'������;�������������"���� �����'������;�������������"����� � ��������� ��������� 11 11 ;����K*� ;����K*� �����'������;�������������"���� �����'������;�������������"���� � � 60 ���������CC;����/* ���������CC;����/*������'������;������: ���������CC;����/* ���������CC;����/* ������'������;������: ������'������;������:���� ������'������;������: ���� ���� ����� � � � 61 ��������� ���������;���9 ;���9* *� � ��������� ��������� ;���9 ;���9 * * � � 62 ������ ��������$�� ������ ������ ��$�� ��$��H3�?��D ��$�� H3�?��D! H3�?��D H3�?��D !� ! ! � � � 63 ��������� ���������11 11;����K*� ;����K*������'������;�������������"���� �����'������;�������������"����� � ��������� ��������� 11 11 ;����K*� ;����K*� �����'������;�������������"���� �����'������;�������������"���� � � 64 ��������� ��������� ���������11 ��������� 11 11;����/* 11 ;����/*������'������;�����%��� ;����/* ;����/* ������'������;�����%���� ������'������;�����%��� ������'������;�����%��� � � � 65 ��������� ��������� ���������;���9 ��������� ;���9* ;���9 ;���9 *� * * � � � 66 ���0� ���0��������$:������� ���0� ���0� �������$:�������� �������$:������� �������$:������� � � � 67 68 ��� ��� ��������9��$��������;�������$�P������""���� ��� �����9��$��������;�������$�P������""�����$�������� �����9��$��������;�������$�P������""���� �����9��$��������;�������$�P������""���� �$��������� �$�������� �$�������� � � � if ����������������������������� ��������� 69 ����%������������������������������������� 70 ��� �������"�����;�����$��������""�������%����;����������� ����"�����;�����$��������""�������%����;������������ � ��� ��� ����"�����;�����$��������""�������%����;����������� ����"�����;�����$��������""�������%����;����������� � � ������������������������������� 71 ��� ��� ����" ��� �" �" �"�&�;����/��O� �&�;����/��O� �&�;����/��O� �&�;����/��O�<# <# <#�TT�;����/��O� <# �TT�;����/��O� �TT�;����/��O� �TT�;����/��O�MM# MM# MM# MM#�( �( �( �(� � �� � � � � 72 ��������'��$�7����������������&(*� ��������'��$�7����������������&(*������9������������������:�/��� �����9������������������:�/���� � ��������'��$�7����������������&(*� ��������'��$�7����������������&(*� �����9������������������:�/��� �����9������������������:�/��� � � 73 �

  30. 74 ��� ��� �������"�����;�����$��������""�������"���������������� ��� ����"�����;�����$��������""�������"���������������� ����"�����;�����$��������""�������"���������������� ����"�����;�����$��������""�������"����������������� � � � 40 75 ��� ����" ��� ��� �" �" �"�&�;����K��O� �&�;����K��O� �&�;����K��O� �&�;����K��O�# # # #�TT�;����K��O� �TT�;����K��O�8## �TT�;����K��O� �TT�;����K��O� 8## 8##�( 8## �( �( �(� � � � Outline 76 ��������'��$�A���+��������������&(*� ��������'��$�A���+��������������&(*� ��������'��$�A���+��������������&(*������9������������������:�/��� ��������'��$�A���+��������������&(*� �����9������������������:�/��� �����9������������������:�/��� �����9������������������:�/���� � � � 77 0� 0��������"����������'�G������ �������"����������'�G������� � if ����������������� ������ ����������������� 0� 0� �������"����������'�G������ �������"����������'�G������ � � 78 79 '���� '������'��$�7����������������&(� ��'��$�7����������������&(���� �����'��$������;���P$��% ��'��$������;���P$��%1 1��:�������������� ��:��������������� � '���� '���� ��'��$�7����������������&(� ��'��$�7����������������&(� ��� ��� ��'��$������;���P$��% ��'��$������;���P$��% 1 1 ��:�������������� ��:�������������� � � "��� �# �� "��� �# �� "��� �# �� "��� �# �� 80 ) ) )� ) � � � 81 ��� ��� ����"� ��� �"� �"� �"�&�&�����������Q� &�&�����������Q� &�&�����������Q�= &�&�����������Q� =�(�OO� = = �(�OO� �(�OO� �(�OO�# # #�(� # �(� �(����,��:�,����������$������'������;��$��� �(� ���,��:�,����������$������'������;��$��� ���,��:�,����������$������'������;��$���� ���,��:�,����������$������'������;��$��� � � � �#����#�� 82 ������ ������CC���������*� ������ ������ CC���������*������9������;����$�������'�����%��� CC���������*� CC���������*� �����9������;����$�������'�����%���������������������� �����9������;����$�������'�����%��� �����9������;����$�������'�����%��� �������������������� ������������������� ������������������� � � � 83 ��� ��� �����$�� ��� ��$�����,�%,����������$������������;��$��� ��$�� ��$�� ���,�%,����������$������������;��$��� ���,�%,����������$������������;��$���� ���,�%,����������$������������;��$��� ���������������������������� � � ���������������������������� ��������������������������� ��������������������������� � � � 84 ������ ������11 11���������*� ���������*������9������;����$�������'������:���� �����9������;����$�������'������:��������������������� ������������������ � ������ ������ 11 11 ���������*� ���������*� �����9������;����$�������'������:���� �����9������;����$�������'������:���� ����������������� ����������������� � � 85 0� 0� 0��������"����������'��$�7����������������������������������������������� 0� �������"����������'��$�7����������������������������������������������� �������"����������'��$�7����������������������������������������������� �������"����������'��$�7������������������������������������������������ � � � 86 87 '���� '������'��$�A���+��������������&(� '���� '���� ��'��$�A���+��������������&(� ��'��$�A���+��������������&(� ��'��$�A���+��������������&(������'��$�$���������+���� �����'��$�$���������+���� �����'��$�$���������+���� �����'��$�$���������+������������������ �������������� �������������� ��������������� � � � 88 ) )� � ) ) � � 89 ��� �������������O�&�����������C� ��� ��� ����������O�&�����������C� ����������O�&�����������C�= ����������O�&�����������C� =�(�Q� = = �(�Q� �(�Q� �(�Q�M M M* M *������'��$������+������������������ * * ������'��$������+������������������ ������'��$������+������������������ ������'��$������+������������������� � � � 90 0� 0��������"����������'��$�A���+����������������� �������"����������'��$�A���+������������������ � 0� 0� �������"����������'��$�A���+����������������� �������"����������'��$�A���+����������������� � � �

  31. 41 15.5 Animation with Double Buffering � :����&�.9�/R�@�5��62�S�( :����&�.9�/R�@�5��62�S�( :����&�.9�/R�@�5��62�S�( :����&�.9�/R�@�5��62�S�( – �������������������� 9�/ 9�/ ������������������������������������ 9�/ 9�/ -����������-������� S ��������������������������������G���-�� – 9�/R@�5��62 9�/R@�5��62 9�/R@�5��62S 9�/R@�5��62 S S – �������� ������������� �����G����������������������� � ��9���� ��9���� ��9���� ��9���� – 6���������������������������������������������������� – '�-�����������������K���������������$������������������$� �������������������� – G����������������������������M�@����B����9���@��&����B

  32. 42 Color Red value Green value Blue value � (��� &))� *� *� � +����� *� &))� *� � ,���� *� *� &))� � -������ &))� &**� *� � .���� &))� "/)� "/)� � ����� *� &))� &))� � 0������� &))� *� &))� � 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.

  33. 43 15.5 Animation with Double Buffering � +������?�������� – #������������������$�������������������������������-������� �������������������������������������������� ���� – +���������������������������������-�� – <��������������������������������������(������) ������������ ������������������ – ������������������������ ���������������������� ��������� �������������� – %�������������������������������$��������������������� �� ����������� ���� �������������������������� – '������������������������������������������� ���������������

  34. ��������� �U!�"��� �#U��� ��������� �U!�"��� �#U�� � 1 ��������� �U!�"��� �#U�� ��������� �U!�"��� �#U�� � � 44 2 ���H$�������;���;�""��������� ���H$�������;���;�""��������� ���H$�������;���;�""��������� ���H$�������;���;�""���������� � � � Outline 3 ��������� ��������� ��������� �������������������� ����������� ����������� ������������ � � � 4 5 ���$/�;��������$����$�"�������;���P$�%�$$�;������������$��� ���$/�;��������$����$�"�������;���P$�%�$$�;������������$��� ���$/�;��������$����$�"�������;���P$�%�$$�;������������$��� ���$/�;��������$����$�"�������;���P$�%�$$�;������������$���� � � � ���"������-��E�IAD�# ���"���� ���"���� ���"���� ��-��E�IAD�# ��-��E�IAD�#� ��-��E�IAD�# � � � 6 "��� �#U�� "��� �#U�� "��� �#U�� "��� �#U�� 7 ���"����H3�E�IAD ���"���� ���"���� ���"���� H3�E�IAD H3�E�IAD� H3�E�IAD � �� � � � �� � � � ���"���� ���"���� ���"���� ���"������-��?��D�= ��-��?��D�= ��-��?��D�=� ��-��?��D�= � � � 8 �"����#�� 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*��������;���P$�K ;����K*� �������;���P$�K �������;���P$�K �������;���P$�K1 1������������� 1 1 �������������� ������������� ������������� � � � 17 ���� ����;����/*� ;����/*��������;���P$�/ �������;���P$�/1 1������������� �������������� � ���� ���� ;����/*� ;����/*� �������;���P$�/ �������;���P$�/ 1 1 ������������� ������������� � � 18 �� �� �� ���� �� �� �����������*� ���������*��������;���P$������������� ���������*� ���������*� �������;���P$������������� �������;���P$�������������� �������;���P$������������� � � � 19 G�D��3��;���*� G�D��3��;���*����%��������������;���P$�������;����%��� ���%��������������;���P$�������;����%���� � G�D��3��;���*� G�D��3��;���*� ���%��������������;���P$�������;����%��� ���%��������������;���P$�������;����%��� � � 20 G�D��3��;�""��* G�D��3��;�""��* G�D��3��;�""��*� G�D��3��;�""��* ����%��������������;�""����� � � ���%��������������;�""����� ���%��������������;�""������ ���%��������������;�""����� � � � 21 � buffer ������������������������������ �������

  35. 22 ���� ���� ��������& ���� ����& ����& ����&� � � �'��� '���� '��� '��� � � �( (� ( ( � � � 45 23 ) )� ) ) � � � Outline 24 ��� ��� ������"��$�>�$����%��������������������%���$�������� ��� ���"��$�>�$����%��������������������%���$�������� ���"��$�>�$����%��������������������%���$�������� ���"��$�>�$����%��������������������%���$��������� � � � 25 ���������������&(* ���������������&(*������������+������������ ������������+������������� � ���������������&(* ���������������&(* ������������+������������ ������������+������������ � � 26 �����$�����9�/;����&(*� �����$�����9�/;����&(*� �����$�����9�/;����&(*������$���������9�/;�����"���������������$���� �����$�����9�/;����&(*� �����$���������9�/;�����"���������������$���� �����$���������9�/;�����"���������������$���� �����$���������9�/;�����"���������������$����� � � � 27 ���$�����������%��&� ���$�����������%��&��8 �8�(* �(*����$������������ ����$���������������%�������8 ���%�������81 1;����� ;������ � ���$�����������%��&� ���$�����������%��&� �8 �8 �(* �(* ����$������������ ����$������������ ���%�������8 ���%�������8 1 1 ;����� ;����� � � "��� �#U�� "��� �#U�� "��� �#U�� "��� �#U�� 28 ���$����"K�����&�I�L��HD���D�2D>� ���$����"K�����&�I�L��HD���D�2D>�8M# ���$����"K�����&�I�L��HD���D�2D>� ���$����"K�����&�I�L��HD���D�2D>� 8M# 8M#>� 8M# >� >�MN# >� MN# MN#>� MN# >� >� >�# # #>� # >�# >� >� # #�(* # �(* �(* �(*����$������%���$�������� ����$������%���$��������� ����$������%���$�������� ����$������%���$�������� � � � 29 ���;����O������;����%&� ���;����O������;����%&�,;����;�%, ���;����O������;����%&� ���;����O������;����%&� ,;����;�%, ,;����;�%,>� ,;����;�%, >� >��H?? >� �H?? �H?? �H??�(* �(*�������������;����;����%��� �(* �(* �������������;����;����%��� �������������;����;����%��� �������������;����;����%���� � � � �&����#�� 30 ��� ���;�""���O��������;����%&� ��� ��� ;�""���O��������;����%&� ;�""���O��������;����%&�62E����- ;�""���O��������;����%&� 62E����->� 62E����- 62E����- >� >� >�62E����A 62E����A 62E����A 62E����A�(* �(* �(* �(*����������;�""����� ����������;�""������ ����������;�""����� ����������;�""����� � � � buffer ����������������� 31 ��� ���;����K�O� ��� ��� ;����K�O� ;����K�O�62E����- ;����K�O� 62E����- 62E����-��� 62E����- ��� ��� ���= = = =*� *� *������'������;������$���������K *� �����'������;������$���������K1 �����'������;������$���������K �����'������;������$���������K 1 1 1������������� ������������� �������������� ������������� � � � 32 ���;����/�O� ���;����/�O�62E����A 62E����A��� ���= =*� *������'������;������$���������/ �����'������;������$���������/1 1������������� �������������� � ���;����/�O� ���;����/�O� 62E����A 62E����A ��� ��� = = *� *� �����'������;������$���������/ �����'������;������$���������/ 1 1 ������������� ������������� � � ���������������������� 33 ���$����&�����&� ���$����&�����&� ���$����&�����&��H?? ���$����&�����&� �H?? �H??�(�(*� �H?? �(�(*����$���������������"�������������� �(�(*� �(�(*� ���$���������������"�������������� ���$���������������"��������������� ���$���������������"�������������� � � � 34 �������������O�����&(�Q� �������������O�����&(�Q�M M*� *��������������� ��������������9������������������������������� 9�������������������������������� � �������������O�����&(�Q� �������������O�����&(�Q� M M *� *� �������������� �������������� 9������������������������������� 9������������������������������� � � 35 36 ��� ���:���� :�����&�.9�/R �&�.9�/R@�5��62 @�5��62S�(� S�(���������������$��%��9�/��$�%��$$��������� ��������������$��%��9�/��$�%��$$���������� � ��� ��� :���� :���� �&�.9�/R �&�.9�/R @�5��62 @�5��62 S�(� S�(� ��������������$��%��9�/��$�%��$$��������� ��������������$��%��9�/��$�%��$$��������� � � 37 ���) ���)� ���) ���) � � � 38 ��������'�G���&(*� ��������'�G���&(*������'������;������ �����'������;������� � ��������'�G���&(*� ��������'�G���&(*� �����'������;������ �����'������;������ � � 39 ������ �����������:>�%��"�������;���;�""�������� ������ ������ �����:>�%��"�������;���;�""�������� �����:>�%��"�������;���;�""��������� �����:>�%��"�������;���;�""�������� � � � 40 ������ ��������������������&�;�""��>���9����& ��������������&�;�""��>���9����&� �= = >� >�= = >� >�= = �(�(* �(�(*���������� ����������� � ������ ������ ��������������&�;�""��>���9����& ��������������&�;�""��>���9����& � � = = >� >� = = >� >� = = �(�(* �(�(* ���������� ���������� � � 41 ������ ������ ������;���&�;���>�;�""��>� ������ ;���&�;���>�;�""��>� ;���&�;���>�;�""��>�# ;���&�;���>�;�""��>� # # #>� >� >� >�# # # #>�;����K>�;����/>�;��� >�;����K>�;����/>�;���1 >�;����K>�;����/>�;��� >�;����K>�;����/>�;��� 1�:>�;��� 1 1 �:>�;��� �:>�;��� �:>�;���1 1 1 1���(* ���(*� ���(* ���(* � � � $�������������������������� 42 ������ ������;���&�;�""��>�$�����>� ������ ������ ;���&�;�""��>�$�����>�# ;���&�;�""��>�$�����>� ;���&�;�""��>�$�����>� # # #>� >� >� >�# # # #>� >�# >� >� #>� # # >� >� >�# #>�;�""�� # # >�;�""�� >�;�""��1 >�;�""�� 1�:>�;�""�� 1 1 �:>�;�""�� �:>�;�""��1 �:>�;�""�� 1 1���(* 1 ���(*���� ���(* ���(* ���� ���� ����� � � � ������6������������������������ 43 ������ ������ ������������;����%&�;�""���(* ������ ������;����%&�;�""���(*�������������������������������������� ������;����%&�;�""���(* ������;����%&�;�""���(* ��������������������������������������� �������������������������������������� �������������������������������������� � � � ��������������������� 44 �� �� ���0� �� �0� �0� �0��������:������� �������:�������� �������:������� �������:������� � � � 45 46 �����$���/�;����%&�;����(*� �����$���/�;����%&�;����(*� �����$���/�;����%&�;����(*������$���/�����;����;����%��� �����$���/�;����%&�;����(*� �����$���/�����;����;����%��� �����$���/�����;����;����%��� �����$���/�����;����;����%���� � � � 47 ��� �����$���/�;����%&�;�""���(* ��$���/�;����%&�;�""���(*� ������$���/�����;�""���;����%��� �����$���/�����;�""���;����%���� � ��� ��� ��$���/�;����%&�;�""���(* ��$���/�;����%&�;�""���(* � � �����$���/�����;�""���;����%��� �����$���/�����;�""���;����%��� � � 48 ��� ���������� ��� ��� �������# ������� ������� # # #* * * *� � � � ,�������������������������� 49 0� 0��������"��������������� �������"���������������� � 0� 0� �������"��������������� �������"��������������� � � ��������������������%����� 50 �����������&(� �����������&(�������P��"���������$.��� �����������&(� �����������&(� ������P��"���������$.��� ������P��"���������$.���� ������P��"���������$.��� � � � 51 �

  36. 52 '���� '������'�G���&(� ��'�G���&(������'�$�����;������ �����'�$�����;������� � '���� '���� ��'�G���&(� ��'�G���&(� �����'�$�����;������ �����'�$�����;������ � � 46 53 ) ) ) )� � � � Outline 54 ��� ��� ��� ���$:����� $:����� $:����� $:�����&�����������(�) &�����������(�) &�����������(�) &�����������(�)� � � � 55 ������ ������ ������ ��������$� ��$�� ��$� ��$� � � ���-��E�IAD ��-��E�IAD ��-��E�IAD ��-��E�IAD! ! ! !� � � � 56 ���������CC;����K*� ���������CC;����K*� ���������CC;����K*������'������;������������������� ���������CC;����K*� �����'������;�������������������� �����'������;������������������� �����'������;������������������� � � � 57 ���������CC;����/*� ���������CC;����/*������'������;������:���� ���������CC;����/*� ���������CC;����/*� �����'������;������:���� �����'������;������:����� �����'������;������:���� � � � "��� �#U�� "��� �#U�� "��� �#U�� "��� �#U�� 58 ��������� ���������;���9 ��������� ��������� ;���9 ;���9* ;���9 * * *� � � � 59 ������ ��������$�� ������ ������ ��$��H3�E�I ��$�� ��$�� H3�E�IAD H3�E�I H3�E�I 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;����K*� ;����K*������'������;�������������"���� �����'������;�������������"����� � ��������� ��������� 11 11 ;����K*� ;����K*� �����'������;�������������"���� �����'������;�������������"���� � � 69 ��������� ��������� ���������11 ��������� 11 11 11;����/* ;����/* ;����/* ;����/*������'������;�����%��� ������'������;�����%���� ������'������;�����%��� ������'������;�����%��� � � � 70 ��������� ���������;���9 ;���9* *� � ��������� ��������� ;���9 ;���9 * * � � 71 ���0� ���0��������$:������� ���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�;����/��O�MM# MM# MM# MM#�(� �(� �(� �(�� � � � 77 ��������'��$�7����������������&(* ��������'��$�7����������������&(*� ��������'��$�7����������������&(* ��������'��$�7����������������&(* � � � 78 �

  37. 79 ��� �������"�����;�����$��������""�������"����������������� ����"�����;�����$��������""�������"������������������ � ��� ��� ����"�����;�����$��������""�������"����������������� ����"�����;�����$��������""�������"����������������� � � 47 80 ��� ����" ��� ��� �" �" �"�&�;����K��O� �&�;����K��O� �&�;����K��O�# �&�;����K��O� # # #�TT�;����K��O� �TT�;����K��O� �TT�;����K��O�8## �TT�;����K��O� 8##�( 8## 8## �( �( �(� � � � Outline 81 ��������'��$�A���+��������������&(* ��������'��$�A���+��������������&(* ��������'��$�A���+��������������&(*� ��������'��$�A���+��������������&(* � � � 82 0� 0� 0� 0��������"����������'�G������ �������"����������'�G������ �������"����������'�G������ �������"����������'�G������� � � � 83 84 '���� '���� '������'��$�7����������������&(� '���� ��'��$�7����������������&(������'��$������;���P$��% ��'��$�7����������������&(� ��'��$�7����������������&(� �����'��$������;���P$��% �����'��$������;���P$��%1 �����'��$������;���P$��% 1 1 1��:�������������� ��:�������������� ��:��������������� ��:�������������� � � � "��� �#U�� "��� �#U�� "��� �#U�� "��� �#U�� 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�������������������� � 0� 0� �������"����������'��$�7������������������� �������"����������'��$�7������������������� � � 91 92 '���� '���� '���� '������'��$�A���+��������������&(� ��'��$�A���+��������������&(� ��'��$�A���+��������������&(������'��$�$���������+������������������ ��'��$�A���+��������������&(� �����'��$�$���������+������������������� �����'��$�$���������+������������������ �����'��$�$���������+������������������ � � � 93 ) ) ) )� � � � 94 �������������O�&���� �������������O�&�����������C� �������������O�&���� �������������O�&���� �������C�= �������C� �������C� = =�(�Q� = �(�Q� �(�Q�M �(�Q� M M* M *������'��$������+������������������ * * ������'��$������+������������������ ������'��$������+������������������ ������'��$������+������������������� � � � 95 0� 0��������"����������'��$�A���+����������������� �������"����������'��$�A���+������������������ � 0� 0� �������"����������'��$�A���+����������������� �������"����������'��$�A���+����������������� � � �

  38. 48 15.6 Importing and Playing Sounds � #��������������� – #����������������������������� ���������������������� ���������������� – .��������������������������������������������������������� 6��3?�� 6��3?�� 6��3?�� 6��3?�� - ����������(��������������) � �����$��%�� �����$��%�� �����$��%�� �����$��%�� – ��� �����;����% �����;����% �������������$� �����$��%�� �����$��%�� ������ �����;����% �����;����% �����$��%�� �����$��%�� ������ – '�-���������������K������������������������� – 6��������� 6��3?�� 6��3?�� ��� �H?? �H?? ����������������������������� 6��3?�� 6��3?�� �H?? �H??

  39. 49 15.6 Importing and Playing Sounds � %��/�$��%�� %��/�$��%�� %��/�$��%�� %��/�$��%�� – �������� 6��3?�� 6��3?�� ������������������������������������� 6��3?�� 6��3?�� – '�-�����������������K���� 6��3?�� 6��3?�� ����������������� 6��3?�� 6��3?�� – E���������������������������������������� – ������������������������������������������������� - ��������������M�@����B����9���@��&B – '�����������������������������*�������������� - ��������������M�@��������������-��B����9���@���������������-��BK�9D� ��������������������������������-�����7����� – E������������������������������*�����7��������������� - ������������MMM� ������������������������������������7���������� �����K�������������������������� ���������������� ������� – ,�������������������������������� �������� - ������ �������������������������������������"����

  40. 50 15.6 Importing and Playing Sounds � ��$���/�$��%�� ��$���/�$��%�� ��$���/�$��%�� ��$���/�$��%�� – +��������������������������������������������������� – 2������������������������������������������������ – ��� �����������$��������������������������������������� ������������������������������������������-� – '�-����� 6��3?�� 6��3?�� �������������� 6��3?�� 6��3?�� � %���������������������������������� – +��������������&�������

  41. 51 Function prototype Description � 6��3?��������$��%��&���$�� ������������������������������������������������� ����������"�������(� ������������������������$������������������� �:�'� ��������(������� �H?? �������������������� ������������������������������������� � ����%��/�$��%��&���$��6��3?���$%�>� .������������������������������������������� ��������'��>�����%��>�����"��V>� �����6�������������6��������7�������$��� �����������%(� ��������������������������������� ���% �������8 ������ � '������4�$��$��%��&���$�� ��9�������������������������������%������������� ����6��3?���$%�>�����'��>�����%��>� �������������������������������������������� ��������"��V>��������%(� �����������������������������6����������������� �������������������������������������� � '����$��%�$��%��&���$�� :����������������������������������������� ����6��3?���$%�(� � '������$���/�$��%��&6��3?���$%�(� ��������������������������������������� �����������������;���������������������������������� ����������6��������������������������� � Fig. 15.8 | Important SAMPLE functions.

  42. 52 15.6 Importing and Playing Sounds � ��$�����$���� ��$�����$���� ��$�����$���� ��$�����$���� – .��������������������������������������������� – '�-������������������K� ������������������������� – E������ �������������������� ����������������������� ��������������������������������� - ���������������������(�������������) ��I���HD���D�2D ��I���HD���D�2D ��I���HD���D�2D ��I���HD���D�2D ���� ������HD���D�2D ������HD���D�2D ������HD���D�2D ������HD���D�2D – '�������������������������������������������������������L� ����������������� �H?? �H?? �H?? �H?? - %������������������� � �"� ������������������������� �������� � � ��"� �"� �"� ����������������

  43. ��������� �W!�"��� �#W��� ��������� �W!�"��� �#W�� � 1 ��������� �W!�"��� �#W�� ��������� �W!�"��� �#W�� � � 53 2 ���H����+����$�����"���$��� ���H����+����$�����"���$��� ���H����+����$�����"���$��� ���H����+����$�����"���$���� � � � Outline 3 ��������� ��������� ��������� �������������������� ����������� ����������� ������������ � � � 4 5 ���$/�;��������$����$�"�������;���P$�%�$$�;������������$��� ���$/�;��������$����$�"�������;���P$�%�$$�;������������$��� ���$/�;��������$����$�"�������;���P$�%�$$�;������������$��� ���$/�;��������$����$�"�������;���P$�%�$$�;������������$���� � � � ���"������-��E�IAD�# ���"���� ���"���� ���"���� ��-��E�IAD�# ��-��E�IAD�#� ��-��E�IAD�# � � � 6 "��� �#W�� "��� �#W�� "��� �#W�� "��� �#W�� 7 ���"����H3�E�IAD ���"���� ���"���� ���"���� H3�E�IAD H3�E�IAD� H3�E�IAD � �� � �� � � � � � ���"���� ���"���� ���"������-��?��D�= ���"���� ��-��?��D�= ��-��?��D�=� ��-��?��D�= � � � 8 �"����)�� 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*��������;���P$�K ;����K*� ;����K*� �������;���P$�K1 �������;���P$�K �������;���P$�K 1������������� 1 1 �������������� ������������� ������������� � � � 17 ���� ����;����/*� ;����/*��������;���P$�/ �������;���P$�/1 1������������� �������������� � ���� ���� ;����/*� ;����/*� �������;���P$�/ �������;���P$�/ 1 1 ������������� ������������� � � 18 ���� ���� �������������*� ���� ���������*� ���������*� ���������*��������;���P$������������� �������;���P$������������� �������;���P$������������� �������;���P$�������������� � � � 19 G�D��3��;���*� G�D��3��;���*����%����������;���P$�������;����%��� ���%����������;���P$�������;����%���� � G�D��3��;���*� G�D��3��;���*� ���%����������;���P$�������;����%��� ���%����������;���P$�������;����%��� � � 20 G�D��3��;�""��*� G�D��3��;�""��*� G�D��3��;�""��*����%��������������;�""����� G�D��3��;�""��*� ���%��������������;�""������ ���%��������������;�""����� ���%��������������;�""����� � � � 21 6��3?���;����* 6��3?���;����*� ����%����������$�����"������ ���%����������$�����"������� � 6��3?���;����* 6��3?���;����* � � ���%����������$�����"������ ���%����������$�����"������ � � 22 � boing ������������������������������ �������

  44. 23 ���� ���� ��������& ���� ����& ����& ����&� � � �'��� '��� '���� '��� � � �( ( ( (� � � � 54 24 ) )� ) ) � � � Outline 25 ��� ��� ������"��$�>�$����%��������������������%���$�������� ��� ���"��$�>�$����%��������������������%���$�������� ���"��$�>�$����%��������������������%���$�������� ���"��$�>�$����%��������������������%���$��������� � � � install_sound ����� 26 ���������������&(* ���������������&(*������������+������������ ������������+������������� � ���������������&(* ���������������&(* ������������+������������ ������������+������������ � � ������������������������ 27 �����$�����9�/;����&(*� �����$�����9�/;����&(*� �����$�����9�/;����&(*������$���������9�/;�����"���������������$���� �����$�����9�/;����&(*� �����$���������9�/;�����"���������������$���� �����$���������9�/;�����"���������������$���� �����$���������9�/;�����"���������������$����� � � � 28 ��� �����$�����$����&� ��$�����$����&���I���HD���D�2D ��I���HD���D�2D>� >�������H ������HD���D�2D D���D�2D>� >��H?? �H??�(* �(*� � ��� ��� ��$�����$����&� ��$�����$����&� ��I���HD���D�2D ��I���HD���D�2D >� >� ������H ������H D���D�2D D���D�2D >� >� �H?? �H?? �(* �(* � � "��� �#W�� "��� �#W�� "��� �#W�� "��� �#W�� 29 ���$�����������%��&� ���$�����������%��&� ���$�����������%��&��8 ���$�����������%��&� �8 �8�(* �8 �(* �(*����$���������������%�������8 �(* ����$���������������%�������8 ����$���������������%�������8 ����$���������������%�������81 1;����� 1 1 ;����� ;����� ;������ � � � 30 ���$����"K�����&� ���$����"K�����&�I�L��HD���D�2D I�L��HD���D�2D>� >�8M# 8M#>� >�MN# MN#>� >�# #>� >�# #�(* �(*����$������%���$�������� ����$������%���$��������� � ���$����"K�����&� ���$����"K�����&� I�L��HD���D�2D I�L��HD���D�2D >� >� 8M# 8M# >� >� MN# MN# >� >� # # >� >� # # �(* �(* ����$������%���$�������� ����$������%���$�������� � � �&����)�� 31 ���;����O������;����%&� ���;����O������;����%&� ���;����O������;����%&�,;����;�%, ���;����O������;����%&� ,;����;�%,>� ,;����;�%, ,;����;�%, >� >��H?? >� �H?? �H??�(* �H?? �(* �(* �(*�������������;����;����%��� �������������;����;����%���� �������������;����;����%��� �������������;����;����%��� � � � 32 ���;�""���O ���;�""���O��������;����%& ���;�""���O ���;�""���O ��������;����%&62E����- ��������;����%& ��������;����%& 62E����->� 62E����- 62E����- >� >�62E����A >� 62E����A(* 62E����A 62E����A (*����������;�""����� (* (* ����������;�""����� ����������;�""������ ����������;�""����� � � � 33 ��� ��� ���;�����O������$��%��&� ��� ;�����O������$��%��&� ;�����O������$��%��&� ;�����O������$��%��&�,;�����:�',� ,;�����:�',� ,;�����:�',�(* ,;�����:�',� (* (* (*� � �������������$�����"������ � ������������$�����"������� ������������$�����"������ ������������$�����"������ � � � load_sample ������ 34 ���;����K�O� ���;����K�O�62E����- ���;����K�O� ���;����K�O� 62E����- 62E����- 62E����-��� ��� ��� ���= =*� = = *� *������'������;������$���������K *� �����'������;������$���������K �����'������;������$���������K1 �����'������;������$���������K 1 1 1������������� �������������� ������������� ������������� � � � ���������������������� 35 ���;����/�O� ���;����/�O�62E����A 62E����A��� ���= =*� *������'������;������$���� �����'������;������$���������/ �����/1 1������������� �������������� � ���;����/�O� ���;����/�O� 62E����A 62E����A ��� ��� = = *� *� �����'������;������$���� �����'������;������$���� �����/ �����/ 1 1 ������������� ������������� � � 36 ���$����&�����&� ���$����&�����&� ���$����&�����&��H?? ���$����&�����&� �H??�(�(*� �H?? �H?? �(�(*� �(�(*� �(�(*����$���������������"�������������� ���$���������������"�������������� ���$���������������"��������������� ���$���������������"�������������� � � � 37 �������������O�����&(�Q� �������������O�����&(�Q� �������������O�����&(�Q�M �������������O�����&(�Q� M*� M M *���������������9������������������������������� *� *� ��������������9������������������������������� ��������������9�������������������������������� ��������������9������������������������������� � � � 38 ��� ��� ���:���� ��� :�����&�.9�/R :���� :���� �&�.9�/R �&�.9�/R@�5��62 �&�.9�/R @�5��62 @�5��62 @�5��62S�( S�(��������������$��%��9�/��$�%��$$��������� S�( S�( ��������������$��%��9�/��$�%��$$��������� ��������������$��%��9�/��$�%��$$��������� ��������������$��%��9�/��$�%��$$���������� � � � 39 ���) ���)� � ���) ���) � � 40 �� ��������'�G���&(*� �� �� ������'�G���&(*������'������;������ ������'�G���&(*� ������'�G���&(*� �����'������;������ �����'������;������� �����'������;������ � � � 41 ������ �����������:>�%��"�������;���;�""�������� �����:>�%��"�������;���;�""��������� � ������ ������ �����:>�%��"�������;���;�""�������� �����:>�%��"�������;���;�""�������� � � 42 ��������������������&�;�""��>���9����&� ��������������������&�;�""��>���9����&�= ��������������������&�;�""��>���9����&� ��������������������&�;�""��>���9����&� = >� = = >� >� >�= = = = >� >� >� >�= = �(�(* = = �(�(*� �(�(* �(�(* � � � 43 ������;���&�;���>�;�""��>� ������;���&�;���>�;�""��>�# #>� >�# #>�;����K>�;����/>�;��� >�;����K>�;����/>�;���1 1�:>�;��� �:>�;���1 1���(* ���(*� � ������;���&�;���>�;�""��>� ������;���&�;���>�;�""��>� # # >� >� # # >�;����K>�;����/>�;��� >�;����K>�;����/>�;��� 1 1 �:>�;��� �:>�;��� 1 1 ���(* ���(* � � 44 ������;���&�;�""��>�$�����>� ������;���&�;�""��>�$�����>�# ������;���&�;�""��>�$�����>� ������;���&�;�""��>�$�����>� #>� # # >� >� >�# #>� # # >�# >� >� # # #>� >� >� >�# # # #>�;�""�� >�;�""�� >�;�""��1 >�;�""�� 1 1�:>�;�""�� 1 �:>�;�""��1 �:>�;�""�� �:>�;�""�� 1 1���(*���� 1 ���(*���� ���(*����� ���(*���� � � � 45 ������������;����%&�;�""���(*�������������������������������������� ������������;����%&�;�""���(*��������������������������������������� ������������;����%&�;�""���(*�������������������������������������� ������������;����%&�;�""���(*�������������������������������������� � � � 46 ���0� ���0� ���0��������:��������%��� ���0� �������:��������%���� �������:��������%��� �������:��������%��� � � � �

  45. 47 �����$���/�;����%&�;����(*� �����$���/�;����%&�;����(*� �����$���/�;����%&�;����(*������$���/�����;����;����%��� �����$���/�;����%&�;����(*� �����$���/�����;����;����%��� �����$���/�����;����;����%��� �����$���/�����;����;����%���� � � � 55 48 �����$���/�;����%&�;�""���(*� �����$���/�;����%&�;�""���(*� �����$���/�;����%&�;�""���(*������$���/�����;�""���;����%��� �����$���/�;����%&�;�""���(*� �����$���/�����;�""���;����%��� �����$���/�����;�""���;����%��� �����$���/�����;�""���;����%���� � � � Outline 49 ��� ��� �����$���/�$��%��&�;�����(* ��� ��$���/�$��%��&�;�����(* ��$���/�$��%��&�;�����(* ��$���/�$��%��&�;�����(*� � � ������$���/�����;�����$�����"������ �����$���/�����;�����$�����"������ �����$���/�����;�����$�����"������ �����$���/�����;�����$�����"������� � � � 50 ��� ���������� �������# #* *� � ��� ��� ������� ������� # # * * � � :��������������������������� 51 0� 0��������"��������������� 0� 0� �������"��������������� �������"��������������� �������"���������������� � � � ������������������������������ 52 ������� �����������&(� ����&(�������P��"���������$.��� ������P��"���������$.���� � ������� ������� ����&(� ����&(� ������P��"���������$.��� ������P��"���������$.��� � � "��� �#W�� "��� �#W�� "��� �#W�� "��� �#W�� 53 54 '���� '������'�G���&(� '���� '���� ��'�G���&(������'�$�����;������ ��'�G���&(� ��'�G���&(� �����'�$�����;������ �����'�$�����;������ �����'�$�����;������� � � � �'����)�� 55 ) )� ) ) � � � 56 ��� ���$:����� ��� ��� $:�����&�����������(�) $:����� $:����� &�����������(�) &�����������(�) &�����������(�)� � � � 57 ������ ������ ��������$� ������ ��$�� ��$� ��$� ���-��E�IAD � � ��-��E�IAD ��-��E�IAD! ��-��E�IAD !� ! ! � � � 58 ���������CC;����K*� ���������CC;����K*� ���������CC;����K*������'������;������������������� ���������CC;����K*� �����'������;������������������� �����'������;�������������������� �����'������;������������������� � � � 59 ���������CC;����/*� ���������CC;����/*������'������;������:���� �����'������;������:����� � ���������CC;����/*� ���������CC;����/*� �����'������;������:���� �����'������;������:���� � � 60 ��������� ��������� ���������;���9 ��������� ;���9 ;���9 ;���9* *� * * � � � 61 ������ ������ ��������$�� ������ ��$�� ��$��H3�E�IAD ��$�� H3�E�IAD! H3�E�IAD H3�E�IAD ! !� ! � � � 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;����K*� 11 ;����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;����K*� 11 11 ;����K*� ;����K*� ;����K*������'������;�������������"���� �����'������;�������������"����� �����'������;�������������"���� �����'������;�������������"���� � � � 71 ��������� ��������� ���������11 ��������� 11 11;����/* 11 ;����/*������'������;�����%��� ;����/* ;����/* ������'������;�����%��� ������'������;�����%��� ������'������;�����%���� � � � 72 ��������� ���������;���9 ��������� ��������� ;���9 ;���9 ;���9* * * *� � � � 73 ���0� ���0� ���0��������$:������� ���0� �������$:������� �������$:�������� �������$:������� � � � 74 �

  46. 75 ��� ��� ��������9��$��������;�������$�P������""�$�������� ��� �����9��$��������;�������$�P������""�$�������� �����9��$��������;�������$�P������""�$�������� �����9��$��������;�������$�P������""�$��������� � � � 56 76 Outline 77 ��� �������"�����;�����$��������""�������%����;������������ ��� ��� ����"�����;�����$��������""�������%����;������������ ����"�����;�����$��������""�������%����;������������ ����"�����;�����$��������""�������%����;������������� � � � 78 ��� ����" �"�&�;����/��O� �&�;����/��O�<# <#�TT�;����/��O� �TT�;����/��O�MM# MM#�(� �(�� � ��� ��� �" �" �&�;����/��O� �&�;����/��O� <# <# �TT�;����/��O� �TT�;����/��O� MM# MM# �(� �(� � � 79 ��������'��$�7����������������&(* ��������'��$�7����������������&(*� ��������'��$�7����������������&(* ��������'��$�7����������������&(* � � � 80 "��� �#W�� "��� �#W�� "��� �#W�� "��� �#W�� 81 ��� �������"�����;�����$��������""�������"� ��� ��� ����"�����;�����$��������""�������"� ����"�����;�����$��������""�������"����������������� ����"�����;�����$��������""�������"� ���������������� ���������������� ����������������� � � � 82 ��� ����" �"�&�;����K��O� �&�;����K��O�# #�TT�;����K��O� �TT�;����K��O�8## 8##�( �(� � ��� ��� �" �" �&�;����K��O� �&�;����K��O� # # �TT�;����K��O� �TT�;����K��O� 8## 8## �( �( � � �#����)�� 83 ��������'��$�A���+��������������&(* ��������'��$�A���+��������������&(* ��������'��$�A���+��������������&(*� ��������'��$�A���+��������������&(* � � � 84 0� 0��������"����������'�G������ 0� 0� �������"����������'�G������� �������"����������'�G������ �������"����������'�G������ � � � 85 86 '���� '���� '������'��$�7����������������&(� '���� ��'��$�7����������������&(� ��'��$�7����������������&(� ��'��$�7����������������&(������'��$������;���P$��% �����'��$������;���P$��% �����'��$������;���P$��%1 �����'��$������;���P$��% 1��:�������������� 1 1 ��:��������������� ��:�������������� ��:�������������� � � � 87 ) )� � ) ) � � 88 ��� ����"� ��� ��� �"� �"� �"�&�&�����������Q &�&�����������Q� &�&�����������Q &�&�����������Q �= � � =�(�OO� = = �(�OO�# �(�OO� �(�OO� # #�(� # �(� �(� �(����,��:�,����������$������'������;��$��� ���,��:�,����������$������'������;��$��� ���,��:�,����������$������'������;��$���� ���,��:�,����������$������'������;��$��� � � � 89 ������CC���������*� ������CC���������*������9������;����$�������'�����%��� ������CC���������*� ������CC���������*� �����9������;����$�������'�����%���� �����9������;����$�������'�����%��� �����9������;����$�������'�����%��� � � � 90 �����$�� �����$�� �����$�����,�%,����������$������������;��$��� �����$�� ���,�%,����������$������������;��$��� ���,�%,����������$������������;��$��� ���,�%,����������$������������;��$���� � � � 91 ������ ������ ������11 ������ 11 11���������*� 11 ���������*������9������;����$�������'������:���� ���������*� ���������*� �����9������;����$�������'������:����� �����9������;����$�������'������:���� �����9������;����$�������'������:���� � � � 92 ��� ���%��/�$��%��&�;����>� ��� ��� %��/�$��%��&�;����>� %��/�$��%��&�;����>� %��/�$��%��&�;����>�= = = = >� >� >��=N >� �=N �=N �=N>� >� >��### >� �### �###>� �### >� >�# >� # # #�(* �(* �(* �(*� � ����%��/�,;����,�$������������ � ���%��/�,;����,�$������������ ���%��/�,;����,�$������������ ���%��/�,;����,�$������������� � � � 93 0� 0��������"����������'��$�7������������������� �������"����������'��$�7�������������������� � 0� 0� �������"����������'��$�7������������������� �������"����������'��$�7������������������� � � :����������������������������������������� �

  47. 94 57 95 '���� '���� '������'��$�A���+��������������&(� '���� ��'��$�A���+��������������&(� ��'��$�A���+��������������&(� ��'��$�A���+��������������&(������'��$�$���������+������������������ �����'��$�$���������+������������������ �����'��$�$���������+������������������ �����'��$�$���������+������������������� � � � Outline 96 ) ) )� ) � � � 97 �������������O�&�����������C� �������������O�&�����������C�= =�(�Q� �(�Q�M M* *������'��$������+������������������ ������'��$������+������������������� � �������������O�&�����������C� �������������O�&�����������C� = = �(�Q� �(�Q� M M * * ������'��$������+������������������ ������'��$������+������������������ � � 98 ��� ��� ���%��/�$��%��&�;����>� ��� %��/�$��%��&�;����>� %��/�$��%��&�;����>� %��/�$��%��&�;����>�= = >� = = >� >��=N >� �=N �=N �=N>� >� >� >��### �### �###>� �### >� >� >�# # # #�(* �(* �(* �(*� � ����%��/�,;����,�$������������ � ���%��/�,;����,�$������������ ���%��/�,;����,�$������������� ���%��/�,;����,�$������������ � � � 99 0� 0�� �������"����������'��$�A���+����������������� ������"����������'��$�A���+������������������ � 0� 0� � � ������"����������'��$�A���+����������������� ������"����������'��$�A���+����������������� � � "��� �#W�� "��� �#W�� "��� �#W�� "��� �#W�� �)����)�� :����������������������������������������� �

  48. 58 15.7 Keyboard Input � ���������#���� – E�����������������������������$�������������������������� ��������� ������������� � ��$�����9�/;���� ��$�����9�/;���� ��$�����9�/;���� ��$�����9�/;���� – ���� ������������������������������������-������������� – '�-��������������� – .���������������������-������������������������������� �������

  49. 59 15.7 Keyboard Input � 9�/ 9�/ ����� 9�/ 9�/ – ������������������������������������������������-���������� -������� – G����-����������������������&������������� – #����-�����������������������$������������������������ �������ML ����� ���$���� ����������"���� � ��������������������������� – ���������������������������������������������-�������� �����������������������&�������� 9�/ 9�/ ����� 9�/ 9�/ - '����������������������-������ @�5�� @�5�� @�5�� @�5�� - '�������������������������������� @�5�63�2� @�5�63�2� @�5�63�2� @�5�63�2� – E����&�����$�������������� 9�/R@�5�63�2� S �������M�������� 9�/R@�5�63�2�S 9�/R@�5�63�2� 9�/R@�5�63�2� S S �����������������������������$��������"������������� �" ������������������������������-����-��������������������� – �" �" �"

  50. ��������� ��#!�"��� ��#��� ��������� ��#!�"��� ��#�� � 1 ��������� ��#!�"��� ��#�� ��������� ��#!�"��� ��#�� � � 60 2 ����������%�����$�����9�/;�������%������ ����������%�����$�����9�/;�������%������ ����������%�����$�����9�/;�������%������ ����������%�����$�����9�/;�������%������� � � � Outline 3 ��������� ��������� ��������� �������������������� ����������� ����������� ������������ � � � 4 5 ���$/�;��������$����$�"�������;���P$�%�$$�;������������$��� ���$/�;��������$����$�"�������;���P$�%�$$�;������������$��� ���$/�;��������$����$�"�������;���P$�%�$$�;������������$��� ���$/�;��������$����$�"�������;���P$�%�$$�;������������$���� � � � ���"������-��E�IAD�# ���"���� ���"���� ���"���� ��-��E�IAD�# ��-��E�IAD�#� ��-��E�IAD�# � � � 6 "��� ��#�� "��� ��#�� "��� ��#�� "��� ��#�� 7 ���"����H3�E�IAD ���"���� ���"���� ���"���� H3�E�IAD� H3�E�IAD H3�E�IAD �� � � � � �� � � � ���"������-��?��D�= ���"���� ���"���� ���"���� ��-��?��D�= ��-��?��D�=� ��-��?��D�= � � � 8 �"����/�� 9 ���"����H3�? ���"���� ���"���� ���"���� H3�?��D�< H3�? H3�? ��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*��������;���P$�K �������;���P$�K1 1������������� �������������� � ���� ���� ;����K*� ;����K*� �������;���P$�K �������;���P$�K 1 1 ������������� ������������� � � 18 ���� ����;����/*� ���� ���� ;����/*� ;����/*��������;���P$�/ ;����/*� �������;���P$�/1 �������;���P$�/ �������;���P$�/ 1 1������������� 1 ������������� �������������� ������������� � � � 19 ���� ����;��?�/* ;��?�/*� ����/ ���/1 1������������"�������"��%�������� ������������"�������"��%��������� � ���� ���� ;��?�/* ;��?�/* � � ���/ ���/ 1 1 ������������"�������"��%�������� ������������"�������"��%�������� � � 20 ���� ����;��E�/* ���� ���� ;��E�/*� ;��E�/* ;��E�/* � � ����/ ���/1 ���/ ���/ 1������������"�����������%�������� 1 1 ������������"�����������%��������� ������������"�����������%�������� ������������"�����������%�������� � � � 21 ���� �������������*� ���������*��������;���P$������������� �������;���P$�������������� � ���� ���� ���������*� ���������*� �������;���P$������������� �������;���P$������������� � � 22 G�D��3��;���*� G�D��3��;���*� G�D��3��;���*����%����������;���P$�������;����%��� G�D��3��;���*� ���%����������;���P$�������;����%��� ���%����������;���P$�������;����%��� ���%����������;���P$�������;����%���� � � � 23 G�D��3��;��* G�D��3��;��* G�D��3��;��*� G�D��3��;��* ����%����������%�����P$�������;����%��� � � ���%����������%�����P$�������;����%��� ���%����������%�����P$�������;����%���� ���%����������%�����P$�������;����%��� � � � 24 G�D��3��;�""��*� G�D��3��;�""��*����%��������������;�""����� G�D��3��;�""��*� G�D��3��;�""��*� ���%��������������;�""����� ���%��������������;�""������ ���%��������������;�""����� � � � 25 6��3?���;����*� 6��3?���;����*����%����������$�����"������ 6��3?���;����*� 6��3?���;����*� ���%����������$�����"������ ���%����������$�����"������� ���%����������$�����"������ � � � 2��������������������������������.��������6���� 26 �������������������������������������������� �

  51. 27 ���� ���� ��������& ���� ����& ����& ����&� � � �'��� '���� '��� '��� � � �( ( ( (� � � � 61 28 ) ) )� ) � � � Outline 29 ��� ��� ������"��$�>�$����%��������������������%���$�������� ��� ���"��$�>�$����%��������������������%���$�������� ���"��$�>�$����%��������������������%���$�������� ���"��$�>�$����%��������������������%���$��������� � � � 30 ���������������&(* ���������������&(*������������+������������ ������������+������������� � ���������������&(* ���������������&(* ������������+������������ ������������+������������ � � 31 �����$�����9�/;����&(*� �����$�����9�/;����&(*� �����$�����9�/;����&(*������$���������9�/;�����"���������������$���� �����$�����9�/;����&(*� �����$���������9�/;�����"���������������$���� �����$���������9�/;�����"���������������$���� �����$���������9�/;�����"���������������$����� � � � 32 �����$�����$����&� �����$�����$����&���I���HD���D�2D ��I���HD���D�2D>� >�������H ������HD���D�2D D���D�2D>� >��H?? �H??�(* �(*� � �����$�����$����&� �����$�����$����&� ��I���HD���D�2D ��I���HD���D�2D >� >� ������H ������H D���D�2D D���D�2D >� >� �H?? �H?? �(* �(* � � "��� ��#�� "��� ��#�� "��� ��#�� "��� ��#�� 33 ���$�����������%��&� ���$�����������%��&� ���$�����������%��&��8 ���$�����������%��&� �8 �8�(* �8 �(* �(*����$���������������%�������8 �(* ����$���������������%�������8 ����$���������������%�������8 ����$���������������%�������81 1 1;����� 1 ;������ ;����� ;����� � � � 34 ���$����"K�����&� ���$����"K�����&�I�L��HD���D�2D I�L��HD���D�2D>� >�8M# 8M#>� >�MN# MN#>� >�# #>� >�# #�(* �(*����$������%���$�������� ����$������%���$��������� � ���$����"K�����&� ���$����"K�����&� I�L��HD���D�2D I�L��HD���D�2D >� >� 8M# 8M# >� >� MN# MN# >� >� # # >� >� # # �(* �(* ����$������%���$�������� ����$������%���$�������� � � �&����/�� 35 ���;����O������;����%&� ���;����O������;����%&�,;����;�%, ���;����O������;����%&� ���;����O������;����%&� ,;����;�%, ,;����;�%, ,;����;�%,>� >��H?? >� >� �H?? �H??�(* �H?? �(*�������������;����;����%��� �(* �(* �������������;����;����%��� �������������;����;����%��� �������������;����;����%���� � � � 36 ��� ��� ���;���O��� ��� ;���O��� ;���O��� ;���O������;����%&� ���;����%&� ���;����%&�,;���;�%, ���;����%&� ,;���;�%, ,;���;�%,>� ,;���;�%, >� >� >��H?? �H??(* �H?? �H?? (*� (* (* � �������������;���;����%��� � ������������;���;����%���� ������������;���;����%��� ������������;���;����%��� � � � $���������%����������������� 37 ���;�""���O��������;����%& ���;�""���O��������;����%& ���;�""���O��������;����%&62E����- ���;�""���O��������;����%& 62E����- 62E����->� 62E����- >�62E����A >� >� 62E����A 62E����A(* 62E����A (*����������;�""����� (* (* ����������;�""����� ����������;�""������ ����������;�""����� � � � 38 ���;�����O������$��%��&� ���;�����O������$��%��&� ���;�����O������$��%��&�,;�����:�',� ���;�����O������$��%��&� ,;�����:�',� ,;�����:�',�(*� ,;�����:�',� (*� (*� (*�������������$�����"������ ������������$�����"������ ������������$�����"������ ������������$�����"������� � � � 39 ���;����K�O� ���;����K�O�62E����- 62E����-��� ���= =*� *������'������;������$��������� �����'������;������$���������K K1 1������������� �������������� � ���;����K�O� ���;����K�O� 62E����- 62E����- ��� ��� = = *� *� �����'������;������$��������� �����'������;������$��������� K K 1 1 ������������� ������������� � � 40 ���;����/�O� ���;����/�O� ���;����/�O�62E����A ���;����/�O� 62E����A��� 62E����A 62E����A ��� ��� ���= = = =*� *������'������;������$���������/ *� *� �����'������;������$���������/ �����'������;������$���������/ �����'������;������$���������/1 1������������� 1 1 ������������� �������������� ������������� � � � 41 ��� ���;��?�/�O� ��� ��� ;��?�/�O� ;��?�/�O�62E����A ;��?�/�O� 62E����A 62E����A 62E����A��� ���= ��� ��� =* = = *� * * ������'����"��%��������$���������/ � � �����'����"��%��������$���������/1 �����'����"��%��������$���������/ �����'����"��%��������$���������/ 1 1 1������������� ������������� �������������� ������������� � � � 42 ��� ��� ���;��E�/�O� ��� ;��E�/�O� ;��E�/�O� ;��E�/�O�62E����A 62E����A��� 62E����A 62E����A ��� ��� ���= =* = = * *� * ������'��������%��������$���������/ � � �����'��������%��������$���������/ �����'��������%��������$���������/1 �����'��������%��������$���������/ 1 1������������� 1 �������������� ������������� ������������� � � � 43 ���$����&�����&� ���$����&�����&� ���$����&�����&��H?? ���$����&�����&� �H??�(�(*� �H?? �H?? �(�(*� �(�(*����$���������������"�������������� �(�(*� ���$���������������"�������������� ���$���������������"��������������� ���$���������������"�������������� � � � 44 �������������O�����&(�Q� �������������O�����&(�Q� �������������O�����&(�Q�M �������������O�����&(�Q� M*� M M *���������������9������������������������������� *� *� ��������������9������������������������������� ��������������9�������������������������������� ��������������9������������������������������� � � � 45 � $�������������������������� ��� �������������������������

  52. 46 ��� ��� ���:���� ��� :���� :���� :�����&�.9�/R �&�.9�/R �&�.9�/R �&�.9�/R@�5��62 @�5��62S�(� @�5��62 @�5��62 S�(� S�(� S�(���������������$��%��9�/��$�%��$$��������� ��������������$��%��9�/��$�%��$$��������� ��������������$��%��9�/��$�%��$$��������� ��������������$��%��9�/��$�%��$$���������� � � � 62 47 ���) ���) ���)� ���) � � � Outline 48 ��������'�G���&(*� ��������'�G���&(*� ��������'�G���&(*������'������;������ ��������'�G���&(*� �����'������;������ �����'������;������ �����'������;������� � � � respondToKeyboard ��������� 49 ������ ��������$%���D�@�/;����&(* ��$%���D�@�/;����&(*� ������$%�������9�/;�������%����� �����$%�������9�/;�������%������ � ������ ������ ��$%���D�@�/;����&(* ��$%���D�@�/;����&(* � � �����$%�������9�/;�������%����� �����$%�������9�/;�������%����� � � ������������������ while ���� 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��������:������� ���0� ���0� �������:������� �������:������� �������:�������� � � � 58 59 �����$���/�;����%&�;����(*� �����$���/�;����%&�;����(*������$���/�����;����;����%��� �����$���/�;����%&�;����(*� �����$���/�;����%&�;����(*� �����$���/�����;����;����%���� �����$���/�����;����;����%��� �����$���/�����;����;����%��� � � � 60 ��� �����$���/�;���� ��� ��� ��$���/�;���� ��$���/�;����%&�;���(* ��$���/�;���� %&�;���(* %&�;���(* %&�;���(*� � ������$���/�����;���;����%��� � �����$���/�����;���;����%��� �����$���/�����;���;����%��� �����$���/�����;���;����%���� � � � 61 �����$���/�;����%&�;�""���(*� �����$���/�;����%&�;�""���(*� �����$���/�;����%&�;�""���(*������$���/�����;�""���;����%��� �����$���/�;����%&�;�""���(*� �����$���/�����;�""���;����%��� �����$���/�����;�""���;����%��� �����$���/�����;�""���;����%���� � � � 62 �����$���/�$��%��&�;�����(*� �����$���/�$��%��&�;�����(*������$���/�����;�����$�����"������ �����$���/�����;�����$�����"������� � �����$���/�$��%��&�;�����(*� �����$���/�$��%��&�;�����(*� �����$���/�����;�����$�����"������ �����$���/�����;�����$�����"������ � � 63 ��� ��� ���������� ��� �������# ������� ������� # # #* * *� * � � � 64 0� 0��������"��������������� �������"���������������� � 0� 0� �������"��������������� �������"��������������� � � 65 �����������&(� �����������&(� �����������&(�������P��"����� �����������&(� ������P��"���������$.��� ������P��"����� ������P��"����� ����$.��� ����$.��� ����$.���� � � � 66 67 '���� '���� '������'�G���&(� '���� ��'�G���&(������'�$�����;������ ��'�G���&(� ��'�G���&(� �����'�$�����;������� �����'�$�����;������ �����'�$�����;������ � � � �

  53. 68 ) )� � ) ) � � 63 69 ��� ���$:����� $:�����&�����������(�) &�����������(�)� � ��� ��� $:����� $:����� &�����������(�) &�����������(�) � � Outline 70 ������ ������ ������ ��������$� ��$� ��$� ��$�� � � ���-��E�IAD ��-��E�IAD ��-��E�IAD ��-��E�IAD! ! !� ! � � � 71 ���������CC;����K*� ���������CC;����K*� ���������CC;����K*� ���������CC;����K*������'������;������������������� �����'������;������������������� �����'������;������������������� �����'������;�������������������� � � � 72 ���������CC;����/*� ���������CC;����/*������'������;������:���� ���������CC;����/*� ���������CC;����/*� �����'������;������:���� �����'������;������:���� �����'������;������:����� � � � 73 ��������� ��������� ��������� ���������;���9 ;���9 ;���9 ;���9* * *� * � � � "��� ��#�� "��� ��#�� "��� ��#�� "��� ��#�� 74 ������ ��������$�� ������ ������ ��$�� ��$�� ��$��H3�E�IAD H3�E�IAD H3�E�IAD H3�E�IAD! !� ! ! � � � 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;����K*� 11 ;����K*� ;����K*������'������;�������������"���� ;����K*� �����'������;�������������"���� �����'������;�������������"����� �����'������;�������������"���� � � � 84 ��������� ��������� ��������� ���������11 11 11 11;����/* ;����/*������'������;�����%��� ;����/* ;����/* ������'������;�����%���� ������'������;�����%��� ������'������;�����%��� � � � 85 ��������� ���������;���9 ��������� ��������� ;���9 ;���9* ;���9 * *� * � � � 86 ���0� ���0��������$:������� �������$:�������� � ���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�;����/��O�MM# MM#�(� MM# MM# �(� �(�� �(� � � � 92 ��������'��$�7����������������&(* ��������'��$�7����������������&(*� ��������'��$�7����������������&(* ��������'��$�7����������������&(* � � � 93 94 ��� �������"�����;�����$��������""�������"����������������� ��� ��� ����"�����;�����$��������""�������"����������������� ����"�����;�����$��������""�������"������������������ ����"�����;�����$��������""�������"����������������� � � � 95 ��� ����" �"�&�;����K��O� �&�;����K��O�# #�TT�;����K��O� �TT�;����K��O�8## 8##�( �(� � ��� ��� �" �" �&�;����K��O� �&�;����K��O� # # �TT�;����K��O� �TT�;����K��O� 8## 8## �( �( � � 96 ������ ������ ������ ��������'��$�A���+����� ��'��$�A���+����� ��'��$�A���+����� ��'��$�A���+��������������&(* ���������&(*� ���������&(* ���������&(* � � � 97 0� 0��������"����������'�G������ 0� 0� �������"����������'�G������ �������"����������'�G������ �������"����������'�G������� � � � �

  54. 98 64 99 '��� '������$%���D�@�/;����&(� '��� '��� ���$%���D�@�/;����&(� ���$%���D�@�/;����&(� ���$%���D�@�/;����&(������$%���$����9�/;�������%����� �����$%���$����9�/;�������%����� �����$%���$����9�/;�������%����� �����$%���$����9�/;�������%����������������������� ������������������ ������������������� ������������������ � � � Outline 100 ) ) )�������������������������������������������������������������������������� ) �������������������������������������������������������������������������� �������������������������������������������������������������������������� ��������������������������������������������������������������������������� � � � ����" ��� �"�&�9�/R �&�9�/R@�5�� @�5��S�(� S�(�����"����$�;�����%��$$�������� ����"����$�;�����%��$$�������������������������������� ������������������������� respondToKeyboard ���������������� � 101 ��� ��� �" �" �&�9�/R �&�9�/R @�5�� @�5�� S�(� S�(� ����"����$�;�����%��$$�������� ����"����$�;�����%��$$�������� ������������������������ ������������������������ � � 102 ������;��?�/� ������ ������ ������ ;��?�/�1 ;��?�/� ;��?�/� 1 1 1O� O� O� O�< < < <*� *� *� *����������'��������"��%�������%��� ���������'��������"��%�������%��� ���������'��������"��%�������%��� ���������'��������"��%�������%�������������������������� ������������������������ ����������������������� ����������������������� � � � ��� ���������������������������������� ����" ��� �"�&�9�/R �&�9�/R@�5�X @�5�XS�(� S�(�����"�X��$�;�����%��$$�������� ����"�X��$�;�����%��$$�������������������������������� ������������������������� � 103 ��� ��� �" �" �&�9�/R �&�9�/R @�5�X @�5�X S�(� S�(� ����"�X��$�;�����%��$$�������� ����"�X��$�;�����%��$$�������� ������������������������ ������������������������ � � "��� ��#�� "��� ��#�� "��� ��#�� "��� ��#�� ���������������������������� 104 ������;��?�/�CO� ������ ������ ������ ;��?�/�CO�< ;��?�/�CO� ;��?�/�CO� < <*� < *����������'��������"��%��������:���� *� *� ���������'��������"��%��������:���� ���������'��������"��%��������:���� ���������'��������"��%��������:������������������������� ��������������������� ���������������������� ��������������������� � � � 105 �)����/�� 106 ��� ����" ��� ��� �"�&�9�/R �" �" �&�9�/R@�5�H3 �&�9�/R �&�9�/R @�5�H3 @�5�H3 @�5�H3S�(� S�(� S�(�����"������%�����:�9�/��$�;�����%��$$�������� S�(� ����"������%�����:�9�/��$�;�����%��$$�������� ����"������%�����:�9�/��$�;�����%��$$���������������� ����"������%�����:�9�/��$�;�����%��$$�������� ��������� �������� �������� � � � 107 ������ ������;��E�/� ������ ������ ;��E�/� ;��E�/�1 ;��E�/� 1 1 1O� O� O� O�< <*� < < *����������'������������%�������%��� *� *� ���������'������������%�������%��� ���������'������������%�������%��� ���������'������������%�������%������������������������� ���������������������� ���������������������� ����������������������� � � � 108 ����" ��� ��� ��� �" �" �"�&�9�/R �&�9�/R@�5���- �&�9�/R �&�9�/R @�5���- @�5���-� @�5���- �S�(� � � S�(� S�(� S�(�����"�������:������:�9�/��$�;�����%��$$�������� ����"�������:������:�9�/��$�;�����%��$$�������� ����"�������:������:�9�/��$�;�����%��$$�������� ����"�������:������:�9�/��$�;�����%��$$������������ ���� ���� ����� � � � 109 ������;��E�/�CO� ������ ������ ������ ;��E�/�CO� ;��E�/�CO�< ;��E�/�CO� <*� < < *� *� *����������'������������%��������:���� ���������'������������%��������:������������������������ ���������'������������%��������:���� ���������'������������%��������:���� ��������������������� �������������������� �������������������� � � � if ��������������� key ��������� 110 ������������������������������� 111 ��� ��������9��$��������%�����$�� ��� ��� �����9��$��������%�����$�� �����9��$��������%�����$�� �����9��$��������%�����$����P������""$�������� ��P������""$���������������������������������� ��P������""$�������� ��P������""$�������� �������������������������� ��������������������������� �������������������������� � � � 112 ��� ����"� ��� ��� �"�&�;��?�/��� �"� �"� &�;��?�/���<# &�;��?�/��� &�;��?�/��� <#�(� <# <# �(�����"���"��%�������$��������""�������%��� �(� �(� ����"���"��%�������$��������""�������%��� ����"���"��%�������$��������""�������%��������������� ����"���"��%�������$��������""�������%��� ������������ ������������� ������������ � � � 113 ������;��?�/�O� ������ ������ ������ ;��?�/�O�<# ;��?�/�O� ;��?�/�O� <#* <# <# *��������������������������������������������������������� * * ��������������������������������������������������������� ��������������������������������������������������������� ���������������������������������������������������������� � � � �����$� ��� ��$�� ��"� �"�&�;��?�/��� &�;��?�/���<N# <N#�(� �(�����"���"�� ����"���"��%�������$��������""�����;�������� %�������$��������""�����;����������� ���� � 114 ��� ��� ��$� ��$� � � �"� �"� &�;��?�/��� &�;��?�/��� <N# <N# �(� �(� ����"���"�� ����"���"�� %�������$��������""�����;�������� %�������$��������""�����;�������� ��� ��� � � 115 ������ ������;��?�/�O� ������ ������ ;��?�/�O� ;��?�/�O�<N# ;��?�/�O� <N# <N# <N#* *�������������������������������������������������������� * * �������������������������������������������������������� �������������������������������������������������������� ��������������������������������������������������������� � � � ����"� ��� �"�&�;��E�/��� &�;��E�/���<# <#�(� �(�����"�������%�������$��������""�������%��� ����"�������%�������$��������""�������%�������������� ������������ � 116 ��� ��� �"� �"� &�;��E�/��� &�;��E�/��� <# <# �(� �(� ����"�������%�������$��������""�������%��� ����"�������%�������$��������""�������%��� ����������� ����������� � � 117 ������ ������;��E�/�O� ������ ������ ;��E�/�O�<# ;��E�/�O� ;��E�/�O� <#* <# <# * *������������������������������� * ��������������������������������������������������������� ������������������������������� ������������������������������� ��������������������������� �������������������������� �������������������������� � � � �����$���"� ��� ��$���"�&�;��E�/��� &�;��E�/���<N# <N#�(� �(�����"�������%�������$��������""�����;�������� ����"�������%�������$��������""�����;���������� ��� � 118 ��� ��� ��$���"� ��$���"� &�;��E�/��� &�;��E�/��� <N# <N# �(� �(� ����"�������%�������$��������""�����;�������� ����"�������%�������$��������""�����;�������� �� �� � � 119 ������ ������;��E�/�O� ������ ������ ;��E�/�O� ;��E�/�O�<N# ;��E�/�O� <N# <N# <N#* * * *�������������������������������������������������������� ��������������������������������������������������������� �������������������������������������������������������� �������������������������������������������������������� � � � 120 0� 0��������"����������$%���D�@�/;������� 0� 0� �������"����������$%���D�@�/;��������������������������� �������"����������$%���D�@�/;������� �������"����������$%���D�@�/;������� �������������������� ������������������������������������� �������������������� ������������������ ����������������� ����������������� � � � 121 �

  55. 122 '���� '���� '������'��$�7����������������&(� '���� ��'��$�7����������������&(� ��'��$�7����������������&(� ��'��$�7����������������&(������'��$������;���P$��% �����'��$������;���P$��% �����'��$������;���P$��% �����'��$������;���P$��%1 1 1��:�������������� 1 ��:�������������� ��:�������������� ��:��������������� � � � 65 123 ) ) )� ) � � � Outline 124 ��� ����"� ��� ��� �"� �"�&�&�����������Q� �"� &�&�����������Q� &�&�����������Q�= &�&�����������Q� = =�(�OO� = �(�OO� �(�OO� �(�OO�# # # #�(� �(� �(����,��:�,����������$������'������;��$��� �(� ���,��:�,����������$������'������;��$��� ���,��:�,����������$������'������;��$���� ���,��:�,����������$������'������;��$��� � � � ������CC���������*������9������;����$�������'�����%��� ������CC���������*� �����9������;����$�������'�����%���� � 125 ������CC���������*� ������CC���������*� �����9������;����$�������'�����%��� �����9������;����$�������'�����%��� � � 126 �����$�� �����$�����,�%,���� �����$�� �����$�� ���,�%,���� ���,�%,���� ���,�%,����������$������������;��$��� ������$������������;��$��� ������$������������;��$��� ������$������������;��$���� � � � ������11 ������ 11���������*� ���������*������9������;����$�������'������:���� �����9������;����$�������'������:����� � 127 ������ ������ 11 11 ���������*� ���������*� �����9������;����$�������'������:���� �����9������;����$�������'������:���� � � "��� ��#�� "��� ��#�� "��� ��#�� "��� ��#�� 128 ���%��/�$��%��&�;����>� ���%��/�$��%��&�;����>�= ���%��/�$��%��&�;����>� ���%��/�$��%��&�;����>� = = = >� >� >� >��=N �=N �=N>� �=N >� >� >��### �###>� �### �### >� >�# >� # #�(*� # �(*� �(*� �(*����%��/�,;����,�$������������ ���%��/�,;����,�$������������ ���%��/�,;����,�$������������� ���%��/�,;����,�$������������ � � � 129 0� 0� 0��������"����������'��$�7������������������� 0� �������"����������'��$�7������������������� �������"����������'��$�7������������������� �������"����������'��$�7�������������������� � � � �5����/�� 130 131 '���� '���� '������'��$�A���+�� '���� ��'��$�A���+�� ��'��$�A���+�� ��'��$�A���+��������������&(� ������������&(������'��$�$���������+������������������ ������������&(� ������������&(� �����'��$�$���������+������������������ �����'��$�$���������+������������������ �����'��$�$���������+������������������� � � � ) )� � 132 ) ) � � 133 �������������O�&�����������C� �������������O�&�����������C�= �������������O�&�����������C� �������������O�&�����������C� = = =�(�Q� �(�Q� �(�Q� �(�Q�M M* M M * *������'��$������+������������������ * ������'��$������+������������������� ������'��$������+������������������ ������'��$������+������������������ � � � ���%��/�$��%��&�;���� ���%��/�$��%��&� ;����>� >�= = >� >��=N �=N>� >��### �###>� >�# #�(*� �(*����%��/�,;����,�$������������ ���%��/�,;����,�$������������� � 134 ���%��/�$��%��&� ���%��/�$��%��&� ;���� ;���� >� >� = = >� >� �=N �=N >� >� �### �### >� >� # # �(*� �(*� ���%��/�,;����,�$������������ ���%��/�,;����,�$������������ � � 135 0� 0��������"����������'��$�A 0� 0� �������"����������'��$�A �������"����������'��$�A���+����������������� �������"����������'��$�A ���+������������������ ���+����������������� ���+����������������� � � � �

  56. 66 Outline "��� ��#�� "��� ��#�� "��� ��#�� "��� ��#�� �/����/�� � � � � �

  57. 67 15.8 Fonts and Displaying Text � +����������'�&� – #�����������$��������������������������������������������� ��������������������� �� � E���� – ����������������������&���������������$��������������������� ��� ����������������&��������������������� – ��� �����������������������$������������������� ���D� ���D� ���D� ���D� ��������������������������������������� � "��� "��� ����������������� "��� "��� – '��������������������� "��� "��� ����������������������*�� "��� "��� ������������K���������������������������� ���D� ���D� �������� ���D� ���D�

  58. 68 15.8 Fonts and Displaying Text � �����"��� �����"��� �����"��� �����"��� – ,���������������������������� – '�-���� �����������K������������������������� - ��� �����������$���������������������������������� �H?? �H?? �H?? �H?? – 6��������� ���D� ���D� ��� �H?? �H?? ���������������������������� ���D� ���D� �H?? �H?? � ��$���/�"��� ��$���/�"��� ��$���/�"��� ��$���/�"��� – +������������������������������������������������� – '�-����� ���D� ���D� �������������� ���D� ���D� – 6�������������������������������������������������������

  59. 69 15.8 Fonts and Displaying Text � +����������'�&� – %��������������������������$������������������ ��K�%����"��K ��������������������������&��������� ��K�%����"��K ��K�%����"��K ��K�%����"��K ������ � ��K�%����"��K ��K�%����"��K ��K�%����"��K ��K�%����"��K – +���������������������������������������������������� – '�-���������������������������K�� G�D��3� G�D��3� $��� ���D� ���D� $� G�D��3� G�D��3� ���D� ���D� �������������$���������������������������� – E�������������������������������������� �����������&�� ������������� � – �������������������������������������� �����������&��������� ������ �

  60. 70 15.8 Fonts and Displaying Text � ��K�%����"��K ��K�%����"��K ��K�%����"��K ��K�%����"��K – '�������������������������������������� � " ���� � " ��������������� �����������&�������������� – E�����������&���������������������������������������� ���-�����������������������&��������������� - <��� ��9���� ��9���� ���������������������������������������� ��9���� ��9���� - <�������������� 1 � ������������������������������ 1 1 1� � � – ��������������������������������������������������� - '���������������������������������������$��������������� ���������� ������������������� - #��������������������������� �����������$��������������������� ����������� ����������������������������������������

  61. 71 Function prototype Description � '������K�%����"��K&G�D��3��;�%>� ��������������������������������������������� �������$�����D��">�����K>�����/>�� "�� �������������������������������������� ;�% � �������������>�����;�2����>�� ������������������������������$����������������� �������$��������"��>����(� ��������������������������������6������������8 9���������� � '������K�%����"���������K&� 2��������������������� ��K�%����"��K 6����� ����G�D��3��;�%>����$�����D��">� ������������������������89�������������������������� ��������K>�����/>����������>� ������������� ��������;�2����>����$�� ������ � � � ��"��>� � � � � ��� ���� ��� ��� � � ����(� � � � � '������K�%����"��������K&� 2��������������������� ��K�%����"��K 6����� ����G�D��3��;�%>����$�����D��">� �����������������������89�������������������������� ��������K>�����/>����������>� ������������� ��������;�2����>����$�� � ������ � � � ��"��>� � � � ��� ���� ��� ��� ����(� � � � � � � ������K��������&���$�����D��">� (���������������������������������������������� �������$��������$�����(� �����������������������������������������!������ ������������������������������������� � ������K��������&���$�����D��">� (����������������������������������������������� �������$��������$�����(� �����������������������������������������!������ ������������������������������������� � Fig. 15.11 | Functions that are useful for drawing text onto a bitmap.

  62. ��������� ��=!�"��� ��=��� ��������� ��=!�"��� ��=�� � 1 ��������� ��=!�"��� ��=�� ��������� ��=!�"��� ��=�� � � 72 2 �����$%��/������K���������$��������� �����$%��/������K���������$��������� �����$%��/������K���������$��������� �����$%��/������K���������$���������� � � � Outline 3 ��������� ��������� ��������� �������������������� ����������� ����������� ������������ � � � 4 5 ���$/�;��������$����$�"�������;���P$�%�$$�;������������$��� ���$/�;��������$����$�"�������;���P$�%�$$�;������������$��� ���$/�;��������$����$�"�������;���P$�%�$$�;������������$��� ���$/�;��������$����$�"�������;���P$�%�$$�;������������$���� � � � ���"������-��E�IAD�# ���"���� ���"���� ���"���� ��-��E�IAD�# ��-��E�IAD�#� ��-��E�IAD�# � � � 6 "��� ��=�� "��� ��=�� "��� ��=�� "��� ��=�� 7 ���"����H3�E�IAD ���"���� ���"���� ���"���� H3�E�IAD H3�E�IAD� H3�E�IAD �� � � � �� � � � � ���"���� ���"���� ���"������-��?��D�= ���"���� ��-��?��D�= ��-��?��D�=� ��-��?��D�= � � � 8 �"����5�� 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*��������;���P$�K �������;���P$�K1 1������������� �������������� � ���� ���� ;����K*� ;����K*� �������;���P$�K �������;���P$�K 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 ������������"�����������%��������� ������������"�����������%�������� ������������"�����������%�������� � � � 2������������������������������.���� 21 ���� ����$����?* $����?*� ����$������"�������"��%��/����� ���$������"�������"��%��/������ � ���� ���� $����?* $����?* � � ���$������"�������"��%��/����� ���$������"�������"��%��/����� � � ����6������������������ ��������� 22 ��� ���� ��� ��� � �$����E* � $����E*� $����E* $����E* ����$������"�����������%��/����� � � ���$������"�����������%��/����� ���$������"�����������%��/����� ���$������"�����������%��/������ � � � 23 ���� ����� ���� ���� ���������*� � � ��������*� ��������*��������;���P$������������� ��������*� �������;���P$�������������� �������;���P$������������� �������;���P$������������� � � � ����������������������%������� 24 G�D��3��;���*� G�D��3��;���*����%����������;���P$�������;����%��� G�D��3��;���*� G�D��3��;���*� ���%����������;���P$�������;����%���� ���%����������;���P$�������;����%��� ���%����������;���P$�������;����%��� � � � 25 G�D��3��;��*� G�D��3��;��*����%����������%�����P$�������;����%��� G�D��3��;��*� G�D��3��;��*� ���%����������%�����P$�������;����%���� ���%����������%�����P$�������;����%��� ���%����������%�����P$�������;����%��� � � � 26 G�D��3��;�""��*� G�D��3��;�""��*� G�D��3��;�""��*� G�D��3��;�""��*����%��������������;�""����� ���%��������������;�""����� ���%��������������;�""������ ���%��������������;�""����� � � � 27 6��3?���;����*� 6��3?���;����*� 6��3?���;����*� 6��3?���;����*����%����������$�����"������ ���%����������$�����"������ ���%����������$�����"������ ���%����������$�����"������� � � � 28 ���D ���D��%�������* ��%�������*� ����%����������"����"������ ���%����������"����"������� � ���D ���D ��%�������* ��%�������* � � ���%����������"����"������ ���%����������"����"������ � � 29 FONT* �������������������������� � ��������������������������

  63. 30 ���� ���� ��������& ���� ����& ����& ����&� � � �'��� '���� '��� '��� � � �( ( ( (� � � � 73 31 ) ) )� ) � � � Outline 32 ��� ��� ������"��$�>�$����%��������������������%���$�������� ��� ���"��$�>�$����%��������������������%���$�������� ���"��$�>�$����%��������������������%���$�������� ���"��$�>�$����%��������������������%���$��������� � � � 33 ���������������&(* ���������������&(*������������+������������ ������������+������������� � ���������������&(* ���������������&(* ������������+������������ ������������+������������ � � 34 �����$�����9�/;����&(*� �����$�����9�/;����&(*� �����$�����9�/;����&(*������$���������9�/;�����"���������������$���� �����$�����9�/;����&(*� �����$���������9�/;�����"���������������$���� �����$���������9�/;�����"���������������$���� �����$���������9�/;�����"���������������$����� � � � 35 �����$�����$����&� �����$�����$����&���I���HD���D�2D ��I���HD���D�2D>� >�������H ������HD���D�2D D���D�2D>� >��H?? �H??�(* �(*� � �����$�����$����&� �����$�����$����&� ��I���HD���D�2D ��I���HD���D�2D >� >� ������H ������H D���D�2D D���D�2D >� >� �H?? �H?? �(* �(* � � "��� ��=�� "��� ��=�� "��� ��=�� "��� ��=�� 36 ���$�����������%��&� ���$�����������%��&��8 ���$�����������%��&� ���$�����������%��&� �8 �8�(* �8 �(* �(*����$���������������%�������8 �(* ����$���������������%�������81 ����$���������������%�������8 ����$���������������%�������8 1;����� 1 1 ;����� ;����� ;������ � � � 37 ���$����"K�����&� ���$����"K�����&�I�L��HD���D�2D I�L��HD���D�2D>� >�8M# 8M#>� >�MN# MN#>� >�# #>� >�# #�(* �(*����$������%���$�������� ����$������%���$��������� � ���$����"K�����&� ���$����"K�����&� I�L��HD���D�2D I�L��HD���D�2D >� >� 8M# 8M# >� >� MN# MN# >� >� # # >� >� # # �(* �(* ����$������%���$�������� ����$������%���$�������� � � �&����5�� 38 ���;����O������;����%&� ���;����O������;����%&�,;����;�%, ���;����O������;����%&� ���;����O������;����%&� ,;����;�%, ,;����;�%, ,;����;�%,>� >� >��H?? >� �H?? �H?? �H??�(* �(*�������������;����;����%��� �(* �(* �������������;����;����%��� �������������;����;����%��� �������������;����;����%���� � � � 39 ���;���O��� ���;���O��� ���;���O������;����%&� ���;���O��� ���;����%&� ���;����%&�,;���;�%, ���;����%&� ,;���;�%,>� ,;���;�%, ,;���;�%, >��H?? >� >� �H??(*� �H?? �H?? (*�������������;���;����%��� (*� (*� ������������;���;����%��� ������������;���;����%���� ������������;���;����%��� � � � load_font ��������������� 40 ���;�""���O��������;����%& ���;�""���O��������;����%&62E����- ���;�""���O��������;����%& ���;�""���O��������;����%& 62E����- 62E����- 62E����->� >�62E����A >� >� 62E����A 62E����A(* 62E����A (* (* (*����������;�""����� ����������;�""����� ����������;�""������ ����������;�""����� � � � ��������������������� 41 ���;�����O������$��%��&� ���;�����O������$��%��&� ���;�����O������$��%��&�,;�����:�',� ���;�����O������$��%��&� ,;�����:�',�(*� ,;�����:�',� ,;�����:�',� (*�������������$�����"������ (*� (*� ������������$�����"������� ������������$�����"������ ������������$�����"������ � � � 42 ��� ���%��������O������"���&� %��������O������"���&�,%���"����%�K,>��H?? ,%���"����%�K,>��H??>� >��H?? �H??�(* �(*� �������������"������ ������������"������� � ��� ��� %��������O������"���&� %��������O������"���&� ,%���"����%�K,>��H?? ,%���"����%�K,>��H?? >� >� �H?? �H?? �(* �(* � � ������������"������ ������������"������ � � 43 ���;����K�O�62E����-��� ���;����K�O�62E����-��� ���;����K�O�62E����-���= ���;����K�O�62E����-��� = = =*� *� *� *������'������;������$���������K �����'������;������$���������K1 �����'������;������$���������K �����'������;������$���������K 1 1 1������������� �������������� ������������� ������������� � � � 44 ���;����/�O�62E����A��� ���;����/�O�62E����A��� ���;����/�O�62E����A���= ���;����/�O�62E����A��� =*� = = *� *� *������'������;������$���������/ �����'������;������$���������/ �����'������;������$���������/ �����'������;������$���������/1 1������������� 1 1 �������������� ������������� ������������� � � � 45 ���;��?�/�O�62E����A��� ���;��?�/�O�62E����A���= ���;��?�/�O�62E����A��� ���;��?�/�O�62E����A��� =*� = = *� *������'����"��%��������$���������/ *� �����'����"��%��������$���������/ �����'����"��%��������$���������/1 �����'����"��%��������$���������/ 1 1 1������������� �������������� ������������� ������������� � � � 46 ���;��E�/�O�62E����A��� ���;��E�/�O�62E����A���= =*� *������'��������%��������$���������/ �����'��������%��������$���������/1 1������������� �������������� � ���;��E�/�O�62E����A��� ���;��E�/�O�62E����A��� = = *� *� �����'��������%��������$���������/ �����'��������%��������$���������/ 1 1 ������������� ������������� � � 47 ��� ��� ���$����?�O� ��� $����?�O�# $����?�O� $����?�O� # #* # *� * * � ����$�����"��%��/��P$�$��������#��� � ���$�����"��%��/��P$�$��������#���� ���$�����"��%��/��P$�$��������#��� ���$�����"��%��/��P$�$��������#��� � � � 48 ��� ���$����E�O� $����E�O�# #* *� ����$���������%��/��P$�$��������#��� ���$���������%��/��P$�$��������#���� � ��� ��� $����E�O� $����E�O� # # * * � � ���$���������%��/��P$�$��������#��� ���$���������%��/��P$�$��������#��� � � 49 ���$����&�����&� ���$����&�����&� ���$����&�����&��H?? ���$����&�����&� �H?? �H?? �H??�(�(*� �(�(*� �(�(*� �(�(*����$���������������"�������������� ���$���������������"��������������� ���$���������������"�������������� ���$���������������"�������������� � � � 50 �������������O�����&(�Q� �������������O�����&(�Q�M M*� *���������������9������������������������������� ��������������9�������������������������������� � �������������O�����&(�Q� �������������O�����&(�Q� M M *� *� ��������������9������������������������������� ��������������9������������������������������� � � 51 �

  64. 52 ��� ��� ���:���� ��� :���� :���� :�����&�.9�/R �&�.9�/R �&�.9�/R �&�.9�/R@�5��62 @�5��62S�(� @�5��62 @�5��62 S�(� S�(� S�(���������������$��%��9�/��$�%��$$��������� ��������������$��%��9�/��$�%��$$��������� ��������������$��%��9�/��$�%��$$��������� ��������������$��%��9�/��$�%��$$���������� � � � 74 53 ���) ���) ���)� ���) � � � Outline 54 ��������'�G���&(*� ��������'�G���&(*� ��������'�G���&(*������'������;������ ��������'�G���&(*� �����'������;������ �����'������;������ �����'������;������� � � � 55 ��������$%���D�@�/;����&(*� ��������$%���D�@�/;����&(*������$%�������9�/;�������%����� �����$%�������9�/;�������%������ � ��������$%���D�@�/;����&(*� ��������$%���D�@�/;����&(*� �����$%�������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���(*�� ���(*��� ���(*�� ���(*�� � � � �'����5�� 60 ������;���&�;��>�;�""��>� ������;���&�;��>�;�""��>� ������;���&�;��>�;�""��>�# ������;���&�;��>�;�""��>� # # #>� >� >� >�# # #>� # >�8=# >� >� 8=# 8=#>�;��E�/>�;�� 8=# >�;��E�/>�;�� >�;��E�/>�;��1 >�;��E�/>�;�� 1�:>�;�� 1 1 �:>�;��1 �:>�;�� �:>�;�� 1���(* 1 1 ���(*� ���(* ���(* � � � 61 ������ ������ ������������:���K�����������;�""����� ������ ������:���K�����������;�""������ ������:���K�����������;�""����� ������:���K�����������;�""����� � � � 62 ������ ��������K�%����"��K&�;�""��>�%�������>� ��K�%����"��K&�;�""��>�%�������>�U U >� >�# #>���9����&� >���9����&�# #>� >�# #>� >�# #�(> �(>� �� � ������ ������ ��K�%����"��K&�;�""��>�%�������>� ��K�%����"��K&�;�""��>�%�������>� U U >� >� # # >���9����&� >���9����&� # # >� >� # # >� >� # # �(> �(> � � � � textprintf_ex ��������� 63 ��������������������� ��������������������� ���������������������1 ��������������������� 1 1� 1 �>� � � >�,?�"��3��/���6����!�Q�, >� >� ,?�"��3��/���6����!�Q�, ,?�"��3��/���6����!�Q�,>�$����?�(* ,?�"��3��/���6����!�Q�, >�$����?�(*������� >�$����?�(* >�$����?�(* ������� �������� ������� � � � ��������������������������� 64 ������ ��������K�%����"��K&�;�""��>�%�������>� ��K�%����"��K&�;�""��>�%�������>�M## M##>� >�# #>���9����&� >���9����&�# #>� >�# #>� >�# #�(> �(>� � ������ ������ ��K�%����"��K&�;�""��>�%�������>� ��K�%����"��K&�;�""��>�%�������>� M## M## >� >� # # >���9����&� >���9����&� # # >� >� # # >� >� # # �(> �(> � � 65 ��������������������� ���������������������1 ��������������������� ��������������������� 1 1 1� �>� � � >�,E�����3��/���6����!�Q�, >� >� ,E�����3��/���6����!�Q�, ,E�����3��/���6����!�Q�,>�$����E�(* ,E�����3��/���6����!�Q�, >�$����E�(*������ >�$����E�(* >�$����E�(* ������ ������ ������� � � � 66 ������;���&�;�""��>�$�����>� ������;���&�;�""��>�$�����>�# #>� >�# #>� >�# #>� >�# #>�;�""�� >�;�""��1 1�:>�;�""�� �:>�;�""��1 1���(*���� ���(*����� � ������;���&�;�""��>�$�����>� ������;���&�;�""��>�$�����>� # # >� >� # # >� >� # # >� >� # # >�;�""�� >�;�""�� 1 1 �:>�;�""�� �:>�;�""�� 1 1 ���(*���� ���(*���� � � 67 ������������;����%&�;�""���(*�������������������������������������� ������������;����%&�;�""���(*�������������������������������������� ������������;����%&�;�""���(*��������������������������������������� ������������;����%&�;�""���(*�������������������������������������� � � � 68 ���0� ���0��������:������� �������:�������� � ���0� ���0� �������:������� �������:������� � � 69 70 ��� ��� �����$���/�;����%&�;����(*� ��� ��$���/�;����%&�;����(*� ��$���/�;����%&�;����(*� ��$���/�;����%&�;����(*������$���/�����;����;����%��� �����$���/�����;����;����%��� �����$���/�����;����;����%���� �����$���/�����;����;����%��� � � � 71 �����$���/�;����%&�;���(*� �����$���/�;����%&�;���(*� �����$���/�;����%&�;���(*������$���/�����;���;����%��� �����$���/�;����%&�;���(*� �����$���/�����;���;����%���� �����$���/�����;���;����%��� �����$���/�����;���;����%��� � � � 72 �����$���/�;����%&�;�""���(*� �����$���/�;����%&�;�""���(*������$���/�����;�""���;����%��� �����$���/�;����%&�;�""���(*� �����$���/�;����%&�;�""���(*� �����$���/�����;�""���;����%���� �����$���/�����;�""���;����%��� �����$���/�����;�""���;����%��� � � � 73 �����$���/�$��%��&�;�����(*� �����$���/�$��%��&�;�����(*������$���/�����;�����$�����"������ �����$���/�$��%��&�;�����(*� �����$���/�$��%��&�;�����(*� �����$���/�����;�����$�����"������ �����$���/�����;�����$�����"������� �����$���/�����;�����$�����"������ � � � 74 ��� ��� �����$���/�"���&�%��������(* ��� ��$���/�"���&�%��������(* ��$���/�"���&�%��������(* ��$���/�"���&�%��������(*� � � ������$���/�����"������ �����$���/�����"������ �����$���/�����"������ �����$���/�����"������� � � � 75 ��� ���������� �������# #* *� � ��� ��� ������� ������� # # * * � � 76 0� 0��������"��������������� 0� 0� �������"��������������� �������"��������������� �������"���������������� � � � 77 �����������&(� �����������&(�������P��"���������$.��� ������P��"���������$.���� � �����������&(� �����������&(� ������P��"���������$.��� ������P��"���������$.��� � � 78 �

  65. 79 '���� '������'�G���&(� ��'�G���&(������'�$�����;������ �����'�$�����;������� � '���� '���� ��'�G���&(� ��'�G���&(� �����'�$�����;������ �����'�$�����;������ � � 75 80 ) ) ) )� � � � Outline 81 ��� ��� ��� ���$:����� $:����� $:����� $:�����&�����������(�) &�����������(�) &�����������(�) &�����������(�)� � � � 82 ������ ������ ������ ��������$� ��$�� ��$� ��$� � � ���-��E�IAD ��-��E�IAD ��-��E�IAD ��-��E�IAD! ! ! !� � � � 83 ���������CC;����K*� ���������CC;����K*� ���������CC;����K*������'������;������������������� ���������CC;����K*� �����'������;�������������������� �����'������;������������������� �����'������;������������������� � � � 84 ���������CC;����/*� ���������CC;����/*������'������;������:���� ���������CC;����/*� ���������CC;����/*� �����'������;������:���� �����'������;������:����� �����'������;������:���� � � � "��� ��=�� "��� ��=�� "��� ��=�� "��� ��=�� 85 ��������� ���������;���9 ��������� ��������� ;���9 ;���9* ;���9 * * *� � � � 86 ������ ��������$�� ������ ������ ��$��H3�E�I ��$�� ��$�� H3�E�IAD H3�E�I H3�E�I AD AD AD! !� ! ! � � � �#����5�� 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;����K*� 11 ;����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;����K*� ;����K*������'������;�������������"���� �����'������;�������������"����� � ��������� ��������� 11 11 ;����K*� ;����K*� �����'������;�������������"���� �����'������;�������������"���� � � 96 ��������� ��������� ��������� ���������11 11 11 11;����/* ;����/* ;����/*������'������;�����%��� ;����/* ������'������;�����%��� ������'������;�����%���� ������'������;�����%��� � � � 97 ��������� ���������;���9 ;���9* *� � ��������� ��������� ;���9 ;���9 * * � � 98 ���0� ���0��������$:������� ���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�;����/��O�MM# MM# MM# MM#�(� �(� �(� �(�� � � � ��������'��$�7����������������&(*� ��������'��$�7����������������&(* ��������'��$�7����������������&(* ��������'��$�7����������������&(* � � � 104 �

  66. 105 76 106 ��� ��� ��� �������"�����;�����$��������""�������"����������������� ����"�����;�����$��������""�������"����������������� ����"�����;�����$��������""�������"����������������� ����"�����;�����$��������""�������"������������������ � � � Outline 107 ��� ��� ��� ����" �" �" �"�&�;����K��O� �&�;����K��O� �&�;����K��O�# �&�;����K��O� # # #�TT�;����K��O� �TT�;����K��O�8## �TT�;����K��O� �TT�;����K��O� 8## 8## 8##�( �( �( �(� � � � 108 ��������'��$�A���+��������������&(*� ��������'��$�A���+��������������&(* ��������'��$�A���+��������������&(* ��������'��$�A���+��������������&(* � � � 109 0� 0� 0��������"����������'�G������ 0� �������"����������'�G������ �������"����������'�G������� �������"����������'�G������ � � � 110 "��� ��=�� "��� ��=�� "��� ��=�� "��� ��=�� 111 '��� '������$%���D�@�/;����&(� '��� '��� ���$%���D�@�/;����&(������$%���$����9�/;�������%����������������������� ���$%���D�@�/;����&(� ���$%���D�@�/;����&(� �����$%���$����9�/;�������%����������������������� �����$%���$����9�/;�������%����������������������� �����$%���$����9�/;�������%������������������������ � � � )�������������������������������������������������������������������������� )�������������������������������������������������������������������������� )��������������������������������������������������������������������������� )�������������������������������������������������������������������������� � � � 112 �)����5�� 113 ����" ��� ��� ��� �"�&�9�/R �" �" �&�9�/R �&�9�/R@�5�� �&�9�/R @�5��S�(� @�5�� @�5�� S�(� S�(� S�(�����"����$�;�����%��$$�������������������������������� ����"����$�;�����%��$$��������������������������������� ����"����$�;�����%��$$�������������������������������� ����"����$�;�����%��$$�������������������������������� � � � ������;��?�/�1 ������;��?�/� 1O� O�< <*� *����������'��������"��%�������%�������������������������� ���������'��������"��%�������%��������������������������� � 114 ������;��?�/� ������;��?�/� 1 1 O� O� < < *� *� ���������'��������"��%�������%�������������������������� ���������'��������"��%�������%�������������������������� � � 115 ����" ��� ��� ��� �" �" �"�&�9�/R �&�9�/R �&�9�/R@�5�X �&�9�/R @�5�XS�(� @�5�X @�5�X S�(� S�(� S�(�����"�X��$�;�����%��$$�������������������������������� ����"�X��$�;�����%��$$��������������������������������� ����"�X��$�;�����%��$$�������������������������������� ����"�X��$�;�����%��$$�������������������������������� � � � ������;��?�/�CO� ������;��?�/�CO�< <*� *����������'��������"��%��������:������������������������� ���������'��������"��%��������:�������������������������� � 116 ������;��?�/�CO� ������;��?�/�CO� < < *� *� ���������'��������"��%��������:������������������������� ���������'��������"��%��������:������������������������� � � 117 118 ��� ��� ��� ����" �"�&�9�/R �" �" �&�9�/R �&�9�/R@�5�H3 �&�9�/R @�5�H3 @�5�H3 @�5�H3S�(� S�(� S�(� S�(�����"������%�����:�9�/��$�;�����%��$$���������������� ����"������%�����:�9�/��$�;�����%��$$���������������� ����"������%�����:�9�/��$�;�����%��$$���������������� ����"������%�����:�9�/��$�;�����%��$$����������������� � � � ������;��E�/�1 ������;��E�/� ������;��E�/� ������;��E�/� 1O� 1 1 O� O� O�< <*� < < *� *����������'������������%�������%������������������������� *� ���������'������������%�������%������������������������� ���������'������������%�������%�������������������������� ���������'������������%�������%������������������������� � � � 119 120 ��� ����" ��� ��� �"�&�9�/R �" �" �&�9�/R �&�9�/R@�5� �&�9�/R @�5���-� @�5� @�5� ��-� ��-�S�(� ��-� S�(� S�(� S�(�����"�������:������:�9�/��$�;�����%��$$������������ ����"�������:������:�9�/��$�;�����%��$$������������ ����"�������:������:�9�/��$�;�����%��$$������������� ����"�������:������:�9�/��$�;�����%��$$������������ � � � ������;��E�/�CO� ������;��E�/�CO�< <*� *����������'������������%��������:������������������������ ���������'������������%��������:������������������������� � 121 ������;��E�/�CO� ������;��E�/�CO� < < *� *� ���������'������������%��������:������������������������ ���������'������������%��������:������������������������ � � 122 ��� ��������9��$��������%����� �����9��$��������%�����$����P������""$���������������������������������� $����P������""$����������������������������������� � 123 ��� ��� �����9��$��������%����� �����9��$��������%����� $����P������""$���������������������������������� $����P������""$���������������������������������� � � 124 ��� ����"� ��� ��� �"� �"�&�;��?�/��� �"� &�;��?�/���<# &�;��?�/��� &�;��?�/��� <# <# <#�(� �(� �(�����"���"��%�������$��������""�������%��������������� �(� ����"���"��%�������$��������""�������%���������������� ����"���"��%�������$��������""�������%��������������� ����"���"��%�������$��������""�������%��������������� � � � ������;��?�/�O� ������;��?�/�O�<# <#*��������������������������������������������������������� *���������������������������������������������������������� � 125 ������;��?�/�O� ������;��?�/�O� <# <# *��������������������������������������������������������� *��������������������������������������������������������� � � 126 ��� ��� ��� �����$���"� ��$���"�&�;��?�/��� ��$���"� ��$���"� &�;��?�/��� &�;��?�/��� &�;��?�/���<N# <N# <N# <N#�(� �(� �(� �(�����"��� ����"���"��%�������$��������""�����;����������� ����"��� ����"��� "��%�������$��������""�����;����������� "��%�������$��������""�����;������������ "��%�������$��������""�����;����������� � � � 127 ������;��?�/�O�<N# ������;��?�/�O� ������;��?�/�O� ������;��?�/�O� <N# <N# <N#*�������������������������������������������������������� *�������������������������������������������������������� *�������������������������������������������������������� *��������������������������������������������������������� � � � 128 ��� ��� ����"� ��� �"� �"�&�;��E�/��� �"� &�;��E�/��� &�;��E�/��� &�;��E�/���<# <#�(� <# <# �(�����"�������%�������$��������""�������%�������������� �(� �(� ����"�������%�������$��������""�������%��������������� ����"�������%�������$��������""�������%�������������� ����"�������%�������$��������""�������%�������������� � � � 129 ������;��E�/�O� ������;��E�/�O� ������;��E�/�O� ������;��E�/�O�<# <# <# <#*���������������������������� *���������������������������� *���������������������������� *��������������������������������������������������������� ����������������������������� ������������������������������ ����������������������������� � � � ��� ��� ��� �����$���"� ��$���"�&�;��E�/��� ��$���"� ��$���"� &�;��E�/���<N# &�;��E�/��� &�;��E�/��� <N# <N# <N#�(� �(� �(� �(�����"�������%�������$��������""�����;���������� ����"�������%�������$��������""�����;����������� ����"�������%�������$��������""�����;���������� ����"�������%�������$��������""�����;���������� � � � 130 131 ������;��E�/�O�<N# ������;��E�/�O� ������;��E�/�O� ������;��E�/�O� <N#*�������������������������������������������������������� <N# <N# *�������������������������������������������������������� *��������������������������������������������������������� *�������������������������������������������������������� � � � 0� 0��������"����������$%���D�@�/;������������������������ �������"����������$%���D�@�/;�������������������������������������������� ��������������������� � 132 0� 0� �������"����������$%���D�@�/;������������������������ �������"����������$%���D�@�/;������������������������ �������������������� �������������������� � � 133 �

  67. '���� '������'��$�7����������������&(� ��'��$�7����������������&(������'��$������;���P$��% �����'��$������;���P$��%1 1��:�������������� ��:��������������� � 134 '���� '���� ��'��$�7����������������&(� ��'��$�7����������������&(� �����'��$������;���P$��% �����'��$������;���P$��% 1 1 ��:�������������� ��:�������������� � � 77 135 ) ) )� ) � � � Outline 136 ����"� ��� ��� ��� �"� �"�&�&�����������Q� �"� &�&�����������Q� &�&�����������Q� &�&�����������Q�= =�(�OO� = = �(�OO� �(�OO�# �(�OO� #�(� # # �(� �(����,��:�,����������$������'������;��$��� �(� ���,��:�,����������$������'������;��$��� ���,��:�,����������$������'������;��$���� ���,��:�,����������$������'������;��$��� � � � 137 ������CC���������*� ������CC���������*� ������CC���������*� ������CC���������*������9������;����$�������'�����%��� �����9������;����$�������'�����%���� �����9������;����$�������'�����%��� �����9������;����$�������'�����%��� � � � 138 �����$�� �����$�� �����$�� �����$�����,�%,���� ���,�%,���� ���,�%,����������$������������;��$��� ���,�%,���� ������$������������;��$��� ������$������������;��$���� ������$������������;��$��� � � � ������ ������ ������ ������11 11 11 11���������*� ���������*� ���������*������9������;����$�������'������:���� ���������*� �����9������;����$�������'������:���� �����9������;����$�������'������:����� �����9������;����$�������'������:���� � � � 139 "��� ��=�� "��� ��=�� "��� ��=�� "��� ��=�� 140 ���%��/�$��%��&�;����>�= ���%��/�$��%��&�;����>� ���%��/�$��%��&�;����>� ���%��/�$��%��&�;����>� = = >� = >� >� >��=N �=N �=N �=N>� >� >��### >� �###>� �### �### >� >� >�# # # #�(*� �(*� �(*����%��/�,;����,�$������������ �(*� ���%��/�,;����,�$������������� ���%��/�,;����,�$������������ ���%��/�,;����,�$������������ � � � 0� 0��������"����������'��$�7������������������� 0� 0� �������"����������'��$�7������������������� �������"����������'��$�7�������������������� �������"����������'��$�7������������������� � � � 141 �5����5�� 142 '���� '������'��$�A���+�� ��'��$�A���+��������������&(� ������������&(������'��$�$���������+������������������ �����'��$�$���������+������������������� � 143 '���� '���� ��'��$�A���+�� ��'��$�A���+�� ������������&(� ������������&(� �����'��$�$���������+������������������ �����'��$�$���������+������������������ � � 144 ) ) )� ) � � � �������������O�&�����������C� �������������O�&�����������C�= =�(�Q� �(�Q�M M* *������'��$������+������������������ ������'��$������+������������������� � 145 �������������O�&�����������C� �������������O�&�����������C� = = �(�Q� �(�Q� M M * * ������'��$������+������������������ ������'��$������+������������������ � � 146 ���%��/�$��%��&�;����>� ���%��/�$��%��&�;����>� ���%��/�$��%��&�;����>� ���%��/�$��%��&�;����>�= = = >� = >��=N >� >� �=N>� �=N �=N >� >��### >� �###>� �### �### >� >�# >� # # #�(*� �(*� �(*� �(*����%��/�,;����,�$������������ ���%��/�,;����,�$������������ ���%��/�,;����,�$������������� ���%��/�,;����,�$������������ � � � 0� 0��������"����������'��$�A 0� 0� �������"����������'��$�A �������"����������'��$�A �������"����������'��$�A���+����������������� ���+����������������� ���+����������������� ���+������������������ � � � 147 �

  68. 78 15.9 Implementing the Game of Pong � <����������#����� – '���������� ��������� ���������������������������������� ������������������������������� - .�-����������������������������������� - ����������������������� ������������������������������� � .�-����������������������������������� – #�����������������������$��������������������������������� – 2���������-���������������������������������������������� ������ – ������ ��-�� ��������������������������������������$� �� �������� �" �" �������������������������������������������� �" �"

  69. 79 15.9 Implementing the Game of Pong � ������������������� – #�����������������������$������������������������ �������� �����������������������$���������������������� – 2�������������*�� ���� ���� �������������������������������� ���� ���� � ���� ���� �������� ���� ���� – +�� ���������������������� – '�-�����&����������K�� G�D��3� G�D��3� ����������������� G�D��3� G�D��3� – E���������������������������������������� ������������������������ ��� � – ��������������������������������������� � " ���� � "��������������� ���������� �������������������� – E�������������������������������������� � " ���� � "��������������� ���������� ������������������ – ��&������������������������������*�������K���� ��9���� ��9���� ��9���� ��9����

  70. ��������� ��<!�"��� ��<��� ��������� ��<!�"��� ��<�� � 1 ��������� ��<!�"��� ��<�� ��������� ��<!�"��� ��<�� � � 80 2 �������$������%�����3������������ �������$������%�����3������������ �������$������%�����3������������ �������$������%�����3������������� � � � Outline 3 ��������� ��������� �������������������� ��������� ����������� ����������� ������������ � � � 4 5 ���$/�;��������$����$�"�������;���P$�%�$$�;������������$��� ���$/�;��������$����$�"�������;���P$�%�$$�;������������$��� ���$/�;��������$����$�"�������;���P$�%�$$�;������������$��� ���$/�;��������$����$�"�������;���P$�%�$$�;������������$���� � � � ���"���� ���"������-��E�IAD�# ���"���� ���"���� ��-��E�IAD�# ��-��E�IAD�#� ��-��E�IAD�# � � � 6 "��� ��<�� "��� ��<�� "��� ��<�� "��� ��<�� 7 ���"����H3�E�IAD ���"���� ���"���� ���"���� H3�E�IAD H3�E�IAD� H3�E�IAD � �� � � � �� � � � ���"���� ���"���� ���"���� ���"������-��?��D�= ��-��?��D�=� ��-��?��D�= ��-��?��D�= � � � 8 �"����4�� 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*��������;���P$�K �������;���P$�K1 1������������� �������������� � ���� ���� ;����K*� ;����K*� �������;���P$�K �������;���P$�K 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 G�D��3��;���*� G�D��3��;���*� G�D��3��;���*� G�D��3��;���*����%����������;���P$�������;����%��� ���%����������;���P$�������;����%��� ���%����������;���P$�������;����%��� ���%����������;���P$�������;����%���� � � � 25 G�D��3��;��*� G�D��3��;��*� G�D��3��;��*� G�D��3��;��*����%����������%�����P$�������;����%��� ���%����������%�����P$�������;����%��� ���%����������%�����P$�������;����%���� ���%����������%�����P$�������;����%��� � � � 26 G�D��3��;�""��*� G�D��3��;�""��*� G�D��3��;�""��*� G�D��3��;�""��*����%��������������;�""����� ���%��������������;�""����� ���%��������������;�""������ ���%��������������;�""����� � � � 27 6��3?���;����*� 6��3?���;����*� 6��3?���;����*� 6��3?���;����*����%����������$�����"������ ���%����������$�����"������ ���%����������$�����"������ ���%����������$�����"������� � � � 28 ���D��% ���D��%�������*� �������*����%����������"����"������ ���%����������"����"������� � ���D��% ���D��% �������*� �������*� ���%����������"����"������ ���%����������"����"������ � � 29 �

  71. 30 ���� ���� ��������& ���� ����& ����& ����&� � � �'��� '��� '��� '���� �( � � ( ( (� � � � 81 31 ) ) )� ) � � � Outline 32 ��� ��� ������"��$�>�$����%��������������������%���$�������� ��� ���"��$�>�$����%��������������������%���$�������� ���"��$�>�$����%��������������������%���$��������� ���"��$�>�$����%��������������������%���$�������� � � � 33 ���������������&(* ���������������&(*������������+������������ ������������+������������� � ���������������&(* ���������������&(* ������������+������������ ������������+������������ � � 34 �����$�����9�/;����&(*� �����$�����9�/;����&(*� �����$�����9�/;����&(*������$���������9�/;�����"���������������$���� �����$�����9�/;����&(*� �����$���������9�/;�����"���������������$����� �����$���������9�/;�����"���������������$���� �����$���������9�/;�����"���������������$���� � � � 35 �����$�����$����&� �����$�����$����&���I���HD���D�2D ��I���HD���D�2D>� >�������H ������HD���D�2D D���D�2D>� >��H?? �H??�(* �(*� � �����$�����$����&� �����$�����$����&� ��I���HD���D�2D ��I���HD���D�2D >� >� ������H ������H D���D�2D D���D�2D >� >� �H?? �H?? �(* �(* � � "��� ��<�� "��� ��<�� "��� ��<�� "��� ��<�� 36 ���$�����������%��&� ���$�����������%��&� ���$�����������%��&��8 ���$�����������%��&� �8 �8�(* �8 �(* �(*����$���������������%�������8 �(* ����$���������������%�������8 ����$���������������%�������8 ����$���������������%�������81 1 1;����� 1 ;����� ;������ ;����� � � � 37 ���$����"K�����&� ���$����"K�����&�I�L��HD���D�2D I�L��HD���D�2D>� >�8M# 8M#>� >�MN# MN#>� >�# #>� >�# #�(* �(*����$������%���$�������� ����$������%���$��������� � ���$����"K�����&� ���$����"K�����&� I�L��HD���D�2D I�L��HD���D�2D >� >� 8M# 8M# >� >� MN# MN# >� >� # # >� >� # # �(* �(* ����$������%���$�������� ����$������%���$�������� � � �&����4�� 38 ���;����O������;����%&� ���;����O������;����%&�,;����;�%, ���;����O������;����%&� ���;����O������;����%&� ,;����;�%,>� ,;����;�%, ,;����;�%, >��H?? >� >� �H??�(* �H?? �H?? �(* �(* �(*�������������;����;����%��� �������������;����;����%��� �������������;����;����%��� �������������;����;����%���� � � � 39 ���;���O��� ���;���O��� ���;���O������;����%&� ���;���O��� ���;����%&� ���;����%&� ���;����%&�,;���;�%, ,;���;�%, ,;���;�%,>� ,;���;�%, >� >� >��H?? �H??(*� �H?? �H?? (*� (*� (*�������������;���;����%��� ������������;���;����%��� ������������;���;����%��� ������������;���;����%���� � � � 40 ���;�""���O��������;����%& ���;�""���O��������;����%& ���;�""���O��������;����%&62E����- ���;�""���O��������;����%& 62E����- 62E����- 62E����->� >� >� >�62E����A 62E����A 62E����A 62E����A(* (* (* (*����������;�""����� ����������;�""����� ����������;�""������ ����������;�""����� � � � 41 ���;�����O������$��%��&� ���;�����O������$��%��&� ���;�����O������$��%��&�,;�����:�',� ���;�����O������$��%��&� ,;�����:�',� ,;�����:�',�(*� ,;�����:�',� (*�������������$�����"������ (*� (*� ������������$�����"������� ������������$�����"������ ������������$�����"������ � � � 42 ���%��������O������"���&� ���%��������O������"���&�,%���"����%�K,>��H?? ,%���"����%�K,>��H??>� >��H?? �H??�(*� �(*�������������"������ ������������"������� � ���%��������O������"���&� ���%��������O������"���&� ,%���"����%�K,>��H?? ,%���"����%�K,>��H?? >� >� �H?? �H?? �(*� �(*� ������������"������ ������������"������ � � 43 ���;����K�O� ���;����K�O�62E����- ���;����K�O� ���;����K�O� 62E����- 62E����-��� 62E����- ��� ��� ���= = = =*� *������'��;������$���������K *� *� �����'��;������$���������K1 �����'��;������$���������K �����'��;������$���������K 1 1 1������������� ������������� �������������� ������������� � � � 44 ���;����/�O� ���;����/�O� ���;����/�O�62E����A ���;����/�O� 62E����A 62E����A��� 62E����A ��� ��� ���= = =*� = *� *� *������'��;������$���������/ �����'��;������$���������/ �����'��;������$���������/1 �����'��;������$���������/ 1������������� 1 1 �������������� ������������� ������������� � � � 45 ���;��?�/�O� ���;��?�/�O�62E����A ���;��?�/�O� ���;��?�/�O� 62E����A 62E����A��� 62E����A ��� ��� ���= = = =*� *� *������'����"��%��������$���������/ *� �����'����"��%��������$���������/1 �����'����"��%��������$���������/ �����'����"��%��������$���������/ 1 1������������� 1 ������������� ������������� �������������� � � � 46 ���;��E� ���;��E�/�O� /�O�62E����A 62E����A��� ���= =*� *������'��������%��������$���������/ �����'��������%��������$���������/1 1������������� �������������� � ���;��E� ���;��E� /�O� /�O� 62E����A 62E����A ��� ��� = = *� *� �����'��������%��������$���������/ �����'��������%��������$���������/ 1 1 ������������� ������������� � � 47 ���$����?�O� ���$����?�O� ���$����?�O�# ���$����?�O� # # #*� *����$�����"��%��/��P$�$��������#��� *� *� ���$�����"��%��/��P$�$��������#��� ���$�����"��%��/��P$�$��������#���� ���$�����"��%��/��P$�$��������#��� � � � 48 ���$����E�O� ���$����E�O�# #*� *����$���������%��/��P$�$��������#��� ���$���������%��/��P$�$��������#���� � ���$����E�O� ���$����E�O� # # *� *� ���$���������%��/��P$�$��������#��� ���$���������%��/��P$�$��������#��� � � 49 ���$����&�����&� ���$����&�����&� ���$����&�����&��H?? ���$����&�����&� �H?? �H?? �H??�(�(*� �(�(*� �(�(*� �(�(*����$���������������"�������������� ���$���������������"�������������� ���$���������������"�������������� ���$���������������"��������������� � � � 50 ������� �������������O�����&(�Q� ������O�����&(�Q�M M*� *���������������9������������������������������� ��������������9�������������������������������� � ������� ������� ������O�����&(�Q� ������O�����&(�Q� M M *� *� ��������������9������������������������������� ��������������9������������������������������� � � 51 �

  72. 52 ��� ��� ���:���� ��� :���� :���� :�����&�.9�/R �&�.9�/R �&�.9�/R �&�.9�/R@�5��62 @�5��62 @�5��62 @�5��62S�(� S�(���������������$��%��9�/��$�%��$$��������� S�(� S�(� ��������������$��%��9�/��$�%��$$��������� ��������������$��%��9�/��$�%��$$��������� ��������������$��%��9�/��$�%��$$���������� � � � 82 53 ���) ���) ���)� ���) � � � Outline 54 ��������'�G���&(*� ��������'�G���&(*� ��������'�G���&(*������'������;������ ��������'�G���&(*� �����'������;������ �����'������;������ �����'������;������� � � � 55 ��������$%���D�@�/;����&(*� ��������$%���D�@�/;����&(*������$%�������9�/;�������%����� �����$%�������9�/;�������%������ � ��������$%���D�@�/;����&(*� ��������$%���D�@�/;����&(*� �����$%�������9�/;�������%����� �����$%�������9�/;�������%����� � � 56 ������ ������ �����������:>�%��"�������;���;�""�������� ������ �����:>�%��"�������;���;�""�������� �����:>�%��"�������;���;�""��������� �����:>�%��"�������;���;�""�������� � � � 57 �������������� ��������������������&�;�""��>���9����&� ������&�;�""��>���9����&�= = >� >�= = >� >�= = �(�(* �(�(*� � �������������� �������������� ������&�;�""��>���9����&� ������&�;�""��>���9����&� = = >� >� = = >� >� = = �(�(* �(�(* � � "��� ��<�� "��� ��<�� "��� ��<�� "��� ��<�� 58 ������;���&�;���>�;�""��>� ������;���&�;���>�;�""��>� ������;���&�;���>�;�""��>�# ������;���&�;���>�;�""��>� # # #>� >� >� >�# # # #>�;����K>�;����/>�;��� >�;����K>�;����/>�;���1 >�;����K>�;����/>�;��� >�;����K>�;����/>�;��� 1�:>�;��� 1 1 �:>�;��� �:>�;��� �:>�;���1 1���(* 1 1 ���(* ���(*� ���(* � � � 59 ������;���&�;��>�;�""��>� ������;���&�;��>�;�""��>�# ������;���&�;��>�;�""��>� ������;���&�;��>�;�""��>� # # #>� >� >� >�# # # #>� >�# >� >� # # #>�;��?�/>�;�� >�;��?�/>�;�� >�;��?�/>�;�� >�;��?�/>�;��1 1 1 1�:>�;�� �:>�;�� �:>�;��1 �:>�;�� 1 1 1���(*�� ���(*�� ���(*��� ���(*�� � � � �'����4�� 60 ������;���&�;��>�;�""��>� ������;���&�;��>�;�""��>� ������;���&�;��>�;�""��>�# ������;���&�;��>�;�""��>� # # #>� >� >� >�# #>� # # >�8=# >� >� 8=# 8=#>�;��E�/>�;�� 8=# >�;��E�/>�;�� >�;��E�/>�;�� >�;��E�/>�;��1 1 1�:>�;�� 1 �:>�;�� �:>�;�� �:>�;��1 1 1���(* 1 ���(* ���(* ���(*� � � � line ����������������� 61 ����������&�;�""��>� ����������&�;�""��>�# ����������&�;�""��>� ����������&�;�""��>� # # #>� >� >� >�<# <# <# <#>� >�8M# >� >� 8M#>� 8M# 8M# >� >� >�<# <# <#>���9����&� <# >���9����&�# >���9����&� >���9����&� # #>� # >� >�# >� # # #>� >�# >� >� # # #�(�(* �(�(*� �(�(* �(�(* � � � 62 ������ ������������:���K�����������;�""����� ������:���K�����������;�""������ � ������ ������ ������:���K�����������;�""����� ������:���K�����������;�""����� � � �������������������� 63 ��������K�%����"��K&�;�""��>�%�������>� ��������K�%����"��K&�;�""��>�%�������>� ��������K�%����"��K&�;�""��>�%�������>�U ��������K�%����"��K&�;�""��>�%�������>� U U U >� >� >�# >� # #>���9����&� # >���9����&� >���9����&� >���9����&�# #>� # # >� >� >�# # # #>� >�# >� >� #�(> # # �(>� �(> �(> � � � 64 ��������������������� ���������������������1 1� �>� >�,?�"��3��/���6����!�Q�, ,?�"��3��/���6����!�Q�,>�$����?�(*������������� >�$����?�(*�������������� � ��������������������� ��������������������� 1 1 � � >� >� ,?�"��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� �>� >�,E�����3��/���6����!�Q�, ,E�����3��/���6����!�Q�,>�$����E�(*������������ >�$����E�(*������������� � ��������������������� ��������������������� 1 1 � � >� >� ,E�����3��/���6����!�Q�, ,E�����3��/���6����!�Q�, >�$����E�(*������������ >�$����E�(*������������ � � 67 ������;���&�;�""��>�$�����>� ������;���&�;�""��>�$�����>� ������;���&�;�""��>�$�����>�# ������;���&�;�""��>�$�����>� #>� # # >� >� >�# # # #>� >� >�# >� #>� # # >� >�# >� # # #>�;�""�� >�;�""�� >�;�""��1 >�;�""�� 1�:>�;�""�� 1 1 �:>�;�""�� �:>�;�""�� �:>�;�""��1 1 1���(*���� 1 ���(*���� ���(*����� ���(*���� � � � 68 ������������;����%&�;�""���(*����� ������������;����%&�;�""���(*�������������������������������������� ���������������������������������� � ������������;����%&�;�""���(*����� ������������;����%&�;�""���(*����� ��������������������������������� ��������������������������������� � � 69 ���0� ���0� ���0��������:������� ���0� �������:������� �������:�������� �������:������� � � � 70 71 �����$���/�;����%&�;����(*� �����$���/�;����%&�;����(*� �����$���/�;����%&�;����(*������$���/�����;����;����%��� �����$���/�;����%&�;����(*� �����$���/�����;����;����%��� �����$���/�����;����;����%��� �����$���/�����;����;����%���� � � � 72 �����$���/�;����%&�;���(*� �����$���/�;����%&�;���(*������$���/�����;���;����%��� �����$���/�;����%&�;���(*� �����$���/�;����%&�;���(*� �����$���/�����;���;����%��� �����$���/�����;���;����%��� �����$���/�����;���;����%���� � � � 73 �����$���/�;����%&�;�""���(*� �����$���/�;����%&�;�""���(*������$���/�����;�""���;����%��� �����$���/�;����%&�;�""���(*� �����$���/�;����%&�;�""���(*� �����$���/�����;�""���;����%��� �����$���/�����;�""���;����%���� �����$���/�����;�""���;����%��� � � � 74 �����$���/�$��%��&�;�����(*� �����$���/�$��%��&�;�����(*� �����$���/�$��%��&�;�����(*������$���/�����;�����$�����"������ �����$���/�$��%��&�;�����(*� �����$���/�����;�����$�����"������� �����$���/�����;�����$�����"������ �����$���/�����;�����$�����"������ � � � 75 �����$���/�"���&�%��������(*� �����$���/�"���&�%��������(*� �����$���/�"���&�%��������(*������$���/�����"������ �����$���/�"���&�%��������(*� �����$���/�����"������� �����$���/�����"������ �����$���/�����"������ � � � 76 ��� ��� ���������� ��� �������# ������� ������� #* # # * * *� � � � 77 0� 0��������"��������������� �������"���������������� � 0� 0� �������"��������������� �������"��������������� � � 78 �����������&(� �����������&(� �����������&(�������P��"���������$.��� �����������&(� ������P��"���������$.���� ������P��"���������$.��� ������P��"���������$.��� � � � 79 �

  73. 80 '���� '���� '������'�G���&(� '���� ��'�G���&(� ��'�G���&(� ��'�G���&(������'�$�����;������ �����'�$�����;������� �����'�$�����;������ �����'�$�����;������ � � � 83 81 ) ) )� ) � � � Outline 82 ��� ��� ���$:����� ��� $:����� $:����� $:�����&�����������(�) &�����������(�) &�����������(�) &�����������(�)� � � � 83 ������ ��������$� ��$�� ���-��E�IAD ��-��E�IAD! !� � ������ ������ ��$� ��$� � � ��-��E�IAD ��-��E�IAD ! ! � � 84 ���������CC;����K*� ���������CC;����K*� ���������CC;����K*������'������;������������������� ���������CC;����K*� �����'������;������������������� �����'������;������������������� �����'������;�������������������� � � � 85 ���������CC;����/*� ���������CC;����/*������'������;������:���� �����'������;������:����� � ���������CC;����/*� ���������CC;����/*� �����'������;������:���� �����'������;������:���� � � "��� ��<�� "��� ��<�� "��� ��<�� "��� ��<�� 86 ��������� ���������;���9 ��������� ��������� ;���9 ;���9* ;���9 * * *� � � � 87 ������ ������ ��������$�� ������ ��$��H3�E�I ��$�� ��$�� H3�E�IAD H3�E�I H3�E�I AD! AD AD ! !� ! � � � �#����4�� 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;����K*� ;����K*������'������;�������������"���� �����'������;�������������"����� � ��������� ��������� 11 11 ;����K*� ;����K*� �����'������;�������������"���� �����'������;�������������"���� � � 93 ���������CC;����/*� ���������CC;����/*� ���������CC;����/*������'������;������: ���������CC;����/*� �����'������;������:���� �����'������;������: �����'������;������: ���� ����� ���� � � � 94 ��������� ��������� ���������;���9 ��������� ;���9 ;���9* ;���9 *� * * � � � 95 ������ ������ ��������$�� ������ ��$�� ��$��H3�?��D ��$�� H3�?��D H3�?��D H3�?��D! !� ! ! � � � 96 ��������� ���������11 11;����K*� ;����K*������'������;�������������"���� �����'������;�������������"����� � ��������� ��������� 11 11 ;����K*� ;����K*� �����'������;�������������"���� �����'������;�������������"���� � � 97 ��������� ��������� ���������11 ��������� 11;����/* 11 11 ;����/* ;����/*������'������;�����%��� ;����/* ������'������;�����%��� ������'������;�����%���� ������'������;�����%��� � � � 98 ��������� ���������;���9 ;���9* *� � ��������� ��������� ;���9 ;���9 * * � � 99 ���0� ���0��������$:������� ���0� ���0� �������$:������� �������$:�������� �������$:������� � � � 100 101 �������"�����;�����$��������""�������%��� ��� ��� ��� ����"�����;�����$��������""�������%��� ����"�����;�����$��������""�������%����;������������ ����"�����;�����$��������""�������%��� �;������������ �;������������ �;������������� � � � 102 ��� ����" ��� ��� �" �" �"�&�;����/��O� �&�;����/��O� �&�;����/��O�<# �&�;����/��O� <# <# <#�TT�;����/��O� �TT�;����/��O� �TT�;����/��O�MM# �TT�;����/��O� MM# MM# MM#�(� �(� �(� �(�� � � � 103 ��������'��$�7����������������&(*� ��������'��$�7����������������&(*������9������������������:�/��� ��������'��$�7����������������&(*� ��������'��$�7����������������&(*� �����9������������������:�/��� �����9������������������:�/��� �����9������������������:�/���� � � � 104 �

  74. ��� �������"�����;�����$�����������"�������"��%������������ ����"�����;�����$�����������"�������"��%������������������������������� �������������������� � 105 ��� ��� ����"�����;�����$�����������"�������"��%������������ ����"�����;�����$�����������"�������"��%������������ ������������������� ������������������� � � 84 106 ����" ��� ��� ��� �" �" �"�&;����K��� �&;����K��� �&;����K���=# �&;����K��� =#�YY�&����������OO� =# =# �YY�&����������OO� �YY�&����������OO���-��?��D �YY�&����������OO� ��-��?��D ��-��?��D ��-��?��D�TT�����������OO� �TT�����������OO� �TT�����������OO� �TT�����������OO�H3�?��D H3�?��D H3�?��D H3�?��D(( ((��� (( (( ��� ���� ��� � � � Outline 107 ��� ��� ��� ���) ) ) )���������������������������������������������������������������������� ���������������������������������������������������������������������� ���������������������������������������������������������������������� ����������������������������������������������������������������������� � � � 108 �������� ������ ������ ������ �� ����$�������"��%�������������:�/Z��� �� ��$�������"��%�������������:�/Z����������������������������������� ��$�������"��%�������������:�/Z��� ��$�������"��%�������������:�/Z��� �������������������������������� �������������������������������� ��������������������������������� � � � 109 ������ ������ ������ �������"� �"�&�;����/���&�;��?�/� �"� �"� &�;����/���&�;��?�/� &�;����/���&�;��?�/�1 &�;����/���&�;��?�/� 1 1 1� � �<W � <W <W <W�(�YY�;����/���&�;��?�/�C� �(�YY�;����/���&�;��?�/�C� �(�YY�;����/���&�;��?�/�C�WW �(�YY�;����/���&�;��?�/�C� WW WW�(�( WW �(�( �(�(��������� �(�( ��������� ���������� ��������� � � � ��������� �����������'��$�A���+��������������&(* ��������� ��������� ��'��$�A���+��������������&(* ��'��$�A���+��������������&(* ��'��$�A���+��������������&(*������������������������������������ ������������������������������������ ������������������������������������� ������������������������������������ � � � 110 "��� ��<�� "��� ��<�� "��� ��<�� "��� ��<�� 111 ������ ������ ��������$���"� ������ ��$���"� ��$���"� ��$���"�&�;���� &�;����K��O� &�;���� &�;���� K��O� K��O� K��O�1 1 1 1=# =# =#�(�)� =# �(�)�����"�����;�������$��""�����$�������� �(�)� �(�)� ����"�����;�������$��""�����$����������� ����"�����;�������$��""�����$�������� ����"�����;�������$��""�����$�������� ���� ��� ��� � � � ��������� ���������CC$����E*� ��������� ��������� CC$����E*� CC$����E*� CC$����E*������'��������%��/�����%������� �����'��������%��/�����%������� �����'��������%��/�����%������������������������������� �����'��������%��/�����%������� ������������������������ ������������������������ ������������������������� � � � 112 �)����4�� 113 ��������� ��������� ��������� ���������;����K�O� ;����K�O� ;����K�O� ;����K�O�62E����- 62E����- 62E����- 62E����-��� ��� ��� ���= = = =*� *����%���������;����������������� *� *� ���%���������;����������������� ���%���������;���������������������������� ���%���������;����������������� ������������ ����������� ����������� � � � ��������� ���������;����/�O� ;����/�O�62E����A 62E����A��� ���= =*� *��� ���������������"�����$��������� �������������"�����$�������������������� ������������ � 114 ��������� ��������� ;����/�O� ;����/�O� 62E����A 62E����A ��� ��� = = *� *� �� �� �������������"�����$��������� �������������"�����$��������� ����������� ����������� � � 115 ��������� ��������� ��������� �������������������O�����&(�Q� ����������O�����&(�Q� ����������O�����&(�Q�M ����������O�����&(�Q� M*� M M *������'������;������������������������� *� *� �����'������;������������������������� �����'������;���������������������������� �����'������;������������������������� ���� ��� ��� � � � ������ ������0� 0����������$���� ���������$�������������������������������������������������������� ����������������������������������������������������� � 116 ������ ������ 0� 0� ���������$���� ���������$���� ���������������������������������������������������� ���������������������������������������������������� � � 117 ��� ��� ��� ���0� 0� 0� 0���������"��� ��������"��������������������������������� ��������"��� ��������"��� ������������������������������ ������������������������������ ��������������������������������������������������������� ��������������������������� ��������������������������� ���������������������������� � � � 118 119 ����"�����;�����$�����������"�����������%������������ ����"�����;�����$�����������"�����������%������������ ����"�����;�����$�����������"�����������%������������ ����"�����;�����$�����������"�����������%������������������������������ ������������������ ������������������ ������������������� 120 ��� ����" ��� ��� �" �"�&;����K��� �" �&;����K��� �&;����K��� N# �&;����K��� N#�YY�&����������OO� N# N# �YY�&����������OO� �YY�&����������OO���-��E�IAD �YY�&����������OO� ��-��E�IAD�TT����������� ��-��E�IAD ��-��E�IAD �TT�����������OO� �TT����������� �TT����������� OO� OO� OO�H3�E�IAD H3�E�IAD H3�E�IAD H3�E�IAD(( ((� (( (( � � � ��� ���) )���������������������������������������������������������������������� ����������������������������������������������������������������������� � 121 ��� ��� ) ) ���������������������������������������������������������������������� ���������������������������������������������������������������������� � � 122 ������ ������ ������ ����������$�����������%�������������:�/Z��� ����$�����������%�������������:�/Z��� ����$�����������%�������������:�/Z��� ����$�����������%�������������:�/Z���������������������������������� �������������������������������� ������������������������������� ������������������������������� � � � �������"� ������ �"�&�;����/���&�;��E�/� &�;����/���&�;��E�/�1 1� �<W <W�(�YY�;����/���&�;��E�/�C� �(�YY�;����/���&�;��E�/�C�WW WW�(�( �(�(��������� ���������� � 123 ������ ������ �"� �"� &�;����/���&�;��E�/� &�;����/���&�;��E�/� 1 1 � � <W <W �(�YY�;����/���&�;��E�/�C� �(�YY�;����/���&�;��E�/�C� WW WW �(�( �(�( ��������� ��������� � � 124 ��������� ��������� �����������'��$�A���+��������������&(* ��������� ��'��$�A���+��������������&(*������������������������������������ ��'��$�A���+��������������&(* ��'��$�A���+��������������&(* ������������������������������������� ������������������������������������ ������������������������������������ � � � ������ ��������$���"� ��$���"�&�;����K &�;����K� ��O� �O�8=# 8=#�( �(� �)� )�����"�����;�������$��""�����$�������� ����"�����;�������$��""�����$����������� ���� � 125 ������ ������ ��$���"� ��$���"� &�;����K &�;����K � � �O� �O� 8=# 8=# �( �( � � )� )� ����"�����;�������$��""�����$�������� ����"�����;�������$��""�����$�������� ��� ��� � � 126 ���������CC$����?*� ��������� ��������� ��������� CC$����?*� CC$����?*� CC$����?*������'����"��%��/�����%������� �����'����"��%��/�����%������������������������������ �����'����"��%��/�����%������� �����'����"��%��/�����%������� ������������������������� ����������������������� ����������������������� �� ��� �� � � � 127 ������ ��������� ������ ������ ���;����K�O� ��� ��� ;����K�O� ;����K�O� ;����K�O�62E����- 62E����- 62E����- 62E����-��� ���= ��� ��� = = =*� *� *����%���������;����������������� *� ���%���������;����������������� ���%���������;���������������������������� ���%���������;����������������� ������������ ����������� ����������� � � � 128 ��������� ��������� ��������� ���������;����/�O� ;����/�O� ;����/�O� ;����/�O�62E����A 62E����A 62E����A 62E����A��� ��� ��� ���= =*� = = *����������������"�����$��������� *� *� ���������������"�����$��������� ���������������"�����$�������������������� ���������������"�����$��������� ����������� ����������� ������������ � � � 129 ��������� ��������� ��������� �������������������O�����&(�Q� ����������O�����&(�Q�M ����������O�����&(�Q� ����������O�����&(�Q� M*� M M *� *������'������;������������������������� *� �����'������;������������������������� �����'������;������������������������� �����'������;���������������������������� ��� ���� ��� � � � ������ ������ ������ ������0� 0� 0� 0����������$� ���������$� ���������$���� ���������$� ��� ������������������������������������������������������� ��� ���������������������������������������������������� ���������������������������������������������������� ����������������������������������������������������� � � � 130 131 ��� ���0� ��� ��� 0���������"��� 0� 0� ��������"��� ��������"������������������������������������������������������������ ��������"��� ���������������������������������������������������������� ��������������������������������������������������������� ��������������������������������������������������������� � � � 0� 0��������"����������'�G������ �������"����������'�G������� � 132 0� 0� �������"����������'�G������ �������"����������'�G������ � � � ;���������������� ������������������������������6��������������������������� ����������������������;�������6�����������������=�������6������������������� ���������������������������������������������������������������������������

  75. 133 85 134 '��� '��� '������$%���D�@�/;����&(� '��� ���$%���D�@�/;����&(������$%���$����9�/;�������%����������������������� ���$%���D�@�/;����&(� ���$%���D�@�/;����&(� �����$%���$����9�/;�������%����������������������� �����$%���$����9�/;�������%����������������������� �����$%���$����9�/;�������%������������������������ � � � Outline 135 )�������������������������������������������������������������������������� )�������������������������������������������������������������������������� )�������������������������������������������������������������������������� )��������������������������������������������������������������������������� � � � 136 ��� ��� ��� ����" �" �"�&�9�/R �" �&�9�/R �&�9�/R@�5�� �&�9�/R @�5�� @�5�� @�5��S�(� S�(�����"����$�;�����%��$$�������������������������������� S�(� S�(� ����"����$�;�����%��$$�������������������������������� ����"����$�;�����%��$$��������������������������������� ����"����$�;�����%��$$�������������������������������� � � � 137 ������;��?�/�1 ������;��?�/� ������;��?�/� ������;��?�/� 1 1O� 1 O� O� O�< < <*� < *� *� *����������'��������"��%�������%�������������������������� ���������'��������"��%�������%�������������������������� ���������'��������"��%�������%��������������������������� ���������'��������"��%�������%�������������������������� � � � ��� ��� ��� ����" �" �" �"�&�9�/R �&�9�/R@�5�X �&�9�/R �&�9�/R @�5�X @�5�X @�5�XS�(� S�(� S�(� S�(�����"�X��$�;�����%��$$�������������������������������� ����"�X��$�;�����%��$$��������������������������������� ����"�X��$�;�����%��$$�������������������������������� ����"�X��$�;�����%��$$�������������������������������� � � � 138 "��� ��<�� "��� ��<�� "��� ��<�� "��� ��<�� 139 ������;��?�/�CO� ������;��?�/�CO� ������;��?�/�CO� ������;��?�/�CO�< <*� < < *����������'��������"��%��������:������������������������� *� *� ���������'��������"��%��������:������������������������� ���������'��������"��%��������:�������������������������� ���������'��������"��%��������:������������������������� � � � 140 �5����4�� 141 ����" ��� ��� ��� �" �"�&�9�/R �" �&�9�/R �&�9�/R@�5�H3 �&�9�/R @�5�H3 @�5�H3S�(� @�5�H3 S�(� S�(� S�(�����"������%�����:�9�/��$�;�����%��$$���������������� ����"������%�����:�9�/��$�;�����%��$$���������������� ����"������%�����:�9�/��$�;�����%��$$���������������� ����"������%�����:�9�/��$�;�����%��$$����������������� � � � ������;��E�/� ������;��E�/�1 1O� O�< <*� *����������'������������%�������%������������������������� ���������'������������%�������%�������������������������� � 142 ������;��E�/� ������;��E�/� 1 1 O� O� < < *� *� ���������'������������%�������%������������������������� ���������'������������%�������%������������������������� � � 143 ��� ��� ��� ����" �" �" �"�&�9�/R �&�9�/R �&�9�/R@�5�� �&�9�/R @�5���-� @�5�� @�5�� �-� �-�S�(� �-� S�(� S�(� S�(�����"�������:������:�9�/��$�;�����%��$$������������ ����"�������:������:�9�/��$�;�����%��$$������������ ����"�������:������:�9�/��$�;�����%��$$������������� ����"�������:������:�9�/��$�;�����%��$$������������ � � � ������;��E�/�CO� ������;��E�/�CO�< <*� *����������'������������%��������:������������������������ ���������'������������%��������:������������������������� � 144 ������;��E�/�CO� ������;��E�/�CO� < < *� *� ���������'������������%��������:������������������������ ���������'������������%��������:������������������������ � � 145 146 ��� ��� ��� ��������9��$��������%�����$ �����9��$��������%�����$ �����9��$��������%�����$ �����9��$��������%�����$����P������""$���������������������������������� ����P������""$���������������������������������� ����P������""$����������������������������������� ����P������""$���������������������������������� � � � ��� ��� ��� ����"� �"�&�;��?�/��� �"� �"� &�;��?�/���<# &�;��?�/��� &�;��?�/��� <# <#�(� <# �(� �(�����"���"��%�������$��������""�������%��������������� �(� ����"���"��%�������$��������""�������%��������������� ����"���"��%�������$��������""�������%��������������� ����"���"��%�������$��������""�������%���������������� � � � 147 148 ������;��?�/�O� ������;��?�/�O� ������;��?�/�O� ������;��?�/�O�<# <# <#*��������������������������������������������������������� <# *��������������������������������������������������������� *���������������������������������������������������������� *��������������������������������������������������������� � � � ��� �����$���"� ��$���"�&�;��?�/��� &�;��?�/���<N# <N#�(� �(�����"���" ����"���"��%�������$��������""�����;����������� ��%�������$��������""�����;������������ � 149 ��� ��� ��$���"� ��$���"� &�;��?�/��� &�;��?�/��� <N# <N# �(� �(� ����"���" ����"���" ��%�������$��������""�����;����������� ��%�������$��������""�����;����������� � � 150 ������;��?�/�O� ������;��?�/�O� ������;��?�/�O�<N# ������;��?�/�O� <N# <N# <N#*�������������������������������������������������������� *�������������������������������������������������������� *�������������������������������������������������������� *��������������������������������������������������������� � � � ��� ����"� �"�&�;��E�/��� &�;��E�/���<# <#�(� �(�����"�������%�������$��������""�������%�������������� ����"�������%�������$��������""�������%��������������� � 151 ��� ��� �"� �"� &�;��E�/��� &�;��E�/��� <# <# �(� �(� ����"�������%�������$��������""�������%�������������� ����"�������%�������$��������""�������%�������������� � � 152 ������;��E�/�O� ������;��E�/�O� ������;��E�/�O�<# ������;��E�/�O� <# <# <#*����������������������������� *��������������������������������������������������������� *����������������������������� *����������������������������� ���������������������������� ����������������������������� ���������������������������� � � � �����$���"� ��� ��$���"�&�;��E�/��� &�;��E�/���<N# <N#�(� �(�����"�������%�������$��������""�����;���������� ����"�������%�������$��������""�����;����������� � 153 ��� ��� ��$���"� ��$���"� &�;��E�/��� &�;��E�/��� <N# <N# �(� �(� ����"�������%�������$��������""�����;���������� ����"�������%�������$��������""�����;���������� � � 154 ������;��E�/�O� ������;��E�/�O�<N# ������;��E�/�O� ������;��E�/�O� <N# <N# <N#*�������������������������������������������������������� *�������������������������������������������������������� *��������������������������������������������������������� *�������������������������������������������������������� � � � 155 0� 0� 0��������"����������$%���D�@�/;������������������������� 0� �������"����������$%���D�@�/;������������������������� �������"����������$%���D�@�/;�������������������������������������������� �������"����������$%���D�@�/;������������������������� ������������������� �������������������� ������������������� � � � 156 �

  76. '���� '������'��$�7����������������&(� ��'��$�7����������������&(������'��$������;���P$��% �����'��$������;���P$��%1 1��:�������������� ��:��������������� � 157 '���� '���� ��'��$�7����������������&(� ��'��$�7����������������&(� �����'��$������;���P$��% �����'��$������;���P$��% 1 1 ��:�������������� ��:�������������� � � 86 158 ) ) )� ) � � � Outline 159 ����"� ��� ��� ��� �"� �"�&�&�����������Q� �"� &�&�����������Q� &�&�����������Q� &�&�����������Q�= = =�(�OO� = �(�OO� �(�OO� �(�OO�# # # #�(� �(� �(����,��:�,����������$������'������;��$��� �(� ���,��:�,����������$������'������;��$��� ���,��:�,����������$������'������;��$��� ���,��:�,����������$������'������;��$���� � � � 160 ������CC���������*� ������CC���������*� ������CC���������*� ������CC���������*������9������;����$�������'�����%��� �����9������;����$�������'�����%��� �����9������;����$�������'�����%���� �����9������;����$�������'�����%��� � � � 161 �����$�� �����$�� �����$�����,�%,���� �����$�� ���,�%,���� ���,�%,����������$������������;��$��� ���,�%,���� ������$������������;��$��� ������$������������;��$���� ������$������������;��$��� � � � ������ ������ ������11 ������ 11 11 11���������*� ���������*� ���������*������9������;����$�������'������:���� ���������*� �����9������;����$�������'������:���� �����9������;����$�������'������:����� �����9������;����$�������'������:���� � � � 162 "��� ��<�� "��� ��<�� "��� ��<�� "��� ��<�� 163 ���%��/�$��%��&�;����>� ���%��/�$��%��&�;����>� ���%��/�$��%��&�;����>� ���%��/�$��%��&�;����>�= = = = >� >� >� >��=N �=N>� �=N �=N >� >� >��### �### �### �###>� >� >� >�# # #�(*� # �(*����%��/�,;����,�$������������ �(*� �(*� ���%��/�,;����,�$������������ ���%��/�,;����,�$������������ ���%��/�,;����,�$������������� � � � 0� 0� 0��������"����������'��$�7������������������� 0� �������"����������'��$�7������������������� �������"����������'��$�7�������������������� �������"����������'��$�7������������������� � � � 164 �/����4�� 165 '���� '������'��$�A���+��������������&(� ��'��$�A���+��������������&(������'��$�$���������+������������������ �����'��$�$���������+������������������� � 166 '���� '���� ��'��$�A���+��������������&(� ��'��$�A���+��������������&(� �����'��$�$���������+������������������ �����'��$�$���������+������������������ � � 167 ) )� ) ) � � � �������������O�&�����������C�= �������������O�&�����������C� =�(�Q� �(�Q�M M* *������'��$������+������������������ ������'��$������+������������������� � 168 �������������O�&�����������C� �������������O�&�����������C� = = �(�Q� �(�Q� M M * * ������'��$������+������������������ ������'��$������+������������������ � � 169 ���%��/�$��%��&�;����>� ���%��/�$��%��&�;����>�= ���%��/�$��%��&�;����>� ���%��/�$��%��&�;����>� = = = >� >��=N >� >� �=N>� �=N �=N >��### >� >� �### �###>� �### >� >� >�# # # #�(*� �(*����%��/�,;����,�$������������ �(*� �(*� ���%��/�,;����,�$������������ ���%��/�,;����,�$������������ ���%��/�,;����,�$������������� � � � 170 0� 0��������"����������'��$�A���+����������������� 0� 0� �������"����������'��$�A���+����������������� �������"����������'��$�A���+������������������ �������"����������'��$�A���+����������������� � � � �

  77. 87 Outline "��� ��<�� "��� ��<�� "��� ��<�� "��� ��<�� �3����4�� � � � � �

  78. 88 Outline "��� ��<�� "��� ��<�� "��� ��<�� "��� ��<�� �4����4�� � � � � �

  79. 89 15.10 Timers in Allegro � '����� – #�����������������������$������������������������������� � 7���-���������������� - %�����������������������������������������7���-��������� �������� – �������*������������� ����������������� ��������������� ��������������������������� �7���-���������������� � ��$���������� ��$���������� ��$���������� ��$���������� – .������������������������������������������� – '�-��������������� – ���������������������������� ����'������� ����'������� ��������$� ����'������� ����'������� ����� ��������������������������������������

  80. 90 15.10 Timers in Allegro � ��$�������� ��$�������� ��$�������� ��$�������� – #����������������������������������������������������������� ��������� – '�-���� �����������K��������������������������������� – E������������������������������������������������� – ���������������������������������������@���������������B���� ���������������������������������� – ������������������������;����������������������� – 6�������M���������������������������������������$���������" ��������������������������������

  81. 91 15.10 Timers in Allegro � '����������������������� – <���-���������$�������$����������$�������������������������� ��������� – %���������������������������� ������������������-������ – ������������������������������������������������������ � ����'����� ����'����� ����'����� ����'����� – 6��������������������������������������� ��$�������� ��$�������� ��$�������� ��$�������� – '�-���������������K������������������������������������ ����������

  82. 92 15.10 Timers in Allegro � %���������� – ������������������������������������������������������������ ������������������������ '������� '������� 7�������� '������� '������� - ?�������������� ������������������������$���������������� ������������������������������������������������������� �����$������������������������������������������������ ��� �������������������������*�������������� – %������������������+%�����.���%������������ $����� ��������������������������������������������������������� (���-��) ������������������ ��-���������� - A������������������������������� - +�������������������������������� ������

  83. ��������� ��M!�"��� ��M��� ��������� ��M!�"��� ��M�� � 1 ��������� ��M!�"��� ��M�� ��������� ��M!�"��� ��M�� � � 93 2 ���������������$��������3������������ ���������������$��������3������������ ���������������$��������3������������ ���������������$��������3������������� � � � Outline 3 ��������� ��������� �������������������� ��������� ����������� ����������� ������������ � � � 4 5 ���$/�;��������$����$�"�������;���P$�%�$$�;������������$��� ���$/�;��������$����$�"�������;���P$�%�$$�;������������$��� ���$/�;��������$����$�"�������;���P$�%�$$�;������������$��� ���$/�;��������$����$�"�������;���P$�%�$$�;������������$���� � � � ���"���� ���"���� ���"���� ���"������-��E�IAD�# ��-��E�IAD�# ��-��E�IAD�#� ��-��E�IAD�# � � � 6 "��� ��M�� "��� ��M�� "��� ��M�� "��� ��M�� 7 ���"���� ���"���� ���"���� ���"����H3�E�IAD H3�E�IAD H3�E�IAD� H3�E�IAD �� � � � �� � � � � ���"������-��?��D�= ���"���� ���"���� ���"���� ��-��?��D�= ��-��?��D�=� ��-��?��D�= � � � 8 �"����/�� 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*��������;���P$�K �������;���P$�K1 1������������� �������������� � '������� '������� ����� ����� ;����K*� ;����K*� �������;���P$�K �������;���P$�K 1 1 ������������� ������������� � � 18 '������� '������� '������� '������������ �����;����/*� ����� ����� ;����/*��������;���P$�/ ;����/*� ;����/*� �������;���P$�/1 �������;���P$�/ �������;���P$�/ 1 1 1������������� ������������� �������������� ������������� � � � >���������������������������������� 19 '������� '������������ �����;��?�/*� ;��?�/*����/ ���/1 1������������"�������"��%�������� ������������"�������"��%��������� � '������� '������� ����� ����� ;��?�/*� ;��?�/*� ���/ ���/ 1 1 ������������"�������"��%�������� ������������"�������"��%�������� � � ���������������������������� ��� 20 '������� '������� '������������ '������� ����� �����;��E�/*� ����� ;��E�/*����/ ;��E�/*� ;��E�/*� ���/ ���/1 ���/ 1������������"�����������%�������� 1 1 ������������"�����������%��������� ������������"�����������%�������� ������������"�����������%�������� � � � ���� volatile 7�������� 21 '������� '������������ �����$����?*� $����?*����$������"�������"��%��/����� ���$������"�������"��%��/������ � '������� '������� ����� ����� $����?*� $����?*� ���$������"�������"��%��/����� ���$������"�������"��%��/����� � � 22 '������� '����������� '������� '������� ���� ����� ���� �$����E*� � � $����E*����$������"�����������%��/����� $����E*� $����E*� ���$������"�����������%��/����� ���$������"�����������%��/������ ���$������"�����������%��/����� � � � 23 '������� '������� '������������ '������� ��������������*� ����� ����� ���������*��������;���P$������������� ���������*� ���������*� �������;���P$������������� �������;���P$�������������� �������;���P$������������� � � � 24 G�D��3��;���*� G�D��3��;���*� G�D��3��;���*� G�D��3��;���*����%����������;���P$�������;����%��� ���%����������;���P$�������;����%���� ���%����������;���P$�������;����%��� ���%����������;���P$�������;����%��� � � � 25 G�D��3��;��*� G�D��3��;��*� G�D��3��;��*� G�D��3��;��*����%����������%�����P$�������;����%��� ���%����������%�����P$�������;����%��� ���%����������%�����P$�������;����%���� ���%����������%�����P$�������;����%��� � � � 26 G�D��3��;�""��*� G�D��3��;�""��*� G�D��3��;�""��*� G�D��3��;�""��*����%��������������;�" ���%��������������;�" ���%��������������;�""����� ���%��������������;�" "������ "����� "����� � � � 27 6��3?���;����*� 6��3?���;����*����%����������$�����"������ 6��3?���;����*� 6��3?���;����*� ���%����������$�����"������� ���%����������$�����"������ ���%����������$�����"������ � � � 28 ���D��%�������*� ���D��%�������*����%����������"����"������ ���%����������"����"������� � ���D��%�������*� ���D��%�������*� ���%����������"����"������ ���%����������"����"������ � � 29 �

  84. 30 ���� ���� ��������& ���� ����& ����& ����&� � � �'��� '��� '��� '���� �( � � ( ( (� � � � 94 31 ) ) )� ) � � � Outline 32 ��� ��� ������"��$�>�$����%��������������������%���$�������� ��� ���"��$�>�$����%��������������������%���$�������� ���"��$�>�$����%��������������������%���$�������� ���"��$�>�$����%��������������������%���$��������� � � � 33 ���������������&(* ���������������&(*������������+������������ ������������+������������� � ���������������&(* ���������������&(* ������������+������������ ������������+������������ � � 34 �����$�����9�/;����&(*� �����$�����9�/;����&(*� �����$�����9�/;����&(*������$���������9�/;�����"���������������$���� �����$�����9�/;����&(*� �����$���������9�/;�����"���������������$����� �����$���������9�/;�����"���������������$���� �����$���������9�/;�����"���������������$���� � � � 35 �����$�����$����&� �����$�����$����&���I���HD���D�2D ��I���HD���D�2D>� >�������H ������HD���D�2D D���D�2D>� >��H?? �H??�(* �(*� � �����$�����$����&� �����$�����$����&� ��I���HD���D�2D ��I���HD���D�2D >� >� ������H ������H D���D�2D D���D�2D >� >� �H?? �H?? �(* �(* � � "��� ��M�� "��� ��M�� "��� ��M�� "��� ��M�� 36 ��� �����$����������&(* ��� ��� ��$����������&(* ��$����������&(* ��$����������&(*� � � ������$������������������������� �����$�������������������������� �����$������������������������� �����$������������������������� � � � 37 ���$�����������%��&� ���$�����������%��&� ���$�����������%��&��8 ���$�����������%��&� �8 �8�(* �8 �(* �(*����$���������������%�������8 �(* ����$���������������%�������8 ����$���������������%�������8 ����$���������������%�������81 1 1;����� 1 ;����� ;������ ;����� � � � �&����/�� 38 ���$����"K�����&� ���$����"K�����&�I�L��HD���D�2D ���$����"K�����&� ���$����"K�����&� I�L��HD���D�2D>� I�L��HD���D�2D I�L��HD���D�2D >� >� >�8M# 8M# 8M#>� 8M# >�MN# >� >� MN# MN#>� MN# >� >� >�# #>� # # >� >� >�# # #�(* # �(* �(*����$������%���$�������� �(* ����$������%���$�������� ����$������%���$�������� ����$������%���$��������� � � � 39 ���;����O������;����%&� ���;����O������;����%&�,;���� ���;����O������;����%&� ���;����O������;����%&� ,;���� ,;����;�%, ,;���� ;�%, ;�%, ;�%,>� >� >��H?? >� �H?? �H?? �H??�(* �(*�������������;����;����%��� �(* �(* �������������;����;����%��� �������������;����;����%��� �������������;����;����%���� � � � install_timer ��������� 40 ���;���O������;����%&� ���;���O������;����%&�,;���;�%, ,;���;�%,>� >��H?? �H??(*� (*�������������;���;����%��� ������������;���;����%���� � ���;���O������;����%&� ���;���O������;����%&� ,;���;�%, ,;���;�%, >� >� �H?? �H?? (*� (*� ������������;���;����%��� ������������;���;����%��� � � ���������������������� 41 ���;�""���O��������;����%& ���;�""���O��������;����%&62E����- ���;�""���O��������;����%& ���;�""���O��������;����%& 62E����- 62E����- 62E����->� >� >� >�62E����A 62E����A 62E����A 62E����A(* (* (*����������;�""����� (* ����������;�""������ ����������;�""����� ����������;�""����� � � � ������������������ 42 ���;�����O������$��%��&� ���;�����O������$��%��&�,;�����:�',� ,;�����:�',�(*� (*�������������$�����"������ ������������$�����"������� � ���;�����O������$��%��&� ���;�����O������$��%��&� ,;�����:�',� ,;�����:�',� (*� (*� ������������$�����"������ ������������$�����"������ � � 43 ���%��������O������"���&� ���%��������O������"���&�,%���"����%�K,>��H?? ���%��������O������"���&� ���%��������O������"���&� ,%���"����%�K,>��H?? ,%���"����%�K,>��H?? ,%���"����%�K,>��H??>� >��H?? >� >� �H??�(*� �H?? �H?? �(*� �(*� �(*�������������"������ ������������"������ ������������"������� ������������"������ � � � 44 ���;����K�O� ���;����K�O�62E����- 62E����-��� ���= =*� *������'��;������$���������K �����'��;������$���������K1 1������������� �������������� � ���;����K�O� ���;����K�O� 62E����- 62E����- ��� ��� = = *� *� �����'��;������$���������K �����'��;������$���������K 1 1 ������������� ������������� � � 45 ���;����/�O� ���;����/�O�62E����A ���;����/�O� ���;����/�O� 62E����A 62E����A 62E����A��� ��� ��� ���= = = =*� *������'��;������$���������/ *� *� �����'��;������$���������/1 �����'��;������$���������/ �����'��;������$���������/ 1������������� 1 1 ������������� �������������� ������������� � � � 46 ���;��?�/�O� ���;��?�/�O�62E����A 62E����A��� ���= =*� *����� �����'����"��%��������$���������/ �'����"��%��������$���������/1 1������������� �������������� � ���;��?�/�O� ���;��?�/�O� 62E����A 62E����A ��� ��� = = *� *� ���� ���� �'����"��%��������$���������/ �'����"��%��������$���������/ 1 1 ������������� ������������� � � 47 ���;��E�/�O� ���;��E�/�O� ���;��E�/�O�62E����A ���;��E�/�O� 62E����A��� 62E����A 62E����A ���= ��� ��� =*� = = *� *������'��������%��������$���������/ *� �����'��������%��������$���������/ �����'��������%��������$���������/1 �����'��������%��������$���������/ 1������������� 1 1 ������������� �������������� ������������� � � � 48 ���$����?�O� ���$����?�O� ���$����?�O�# ���$����?�O� #*� # # *� *� *����$�����"��%��/��P$�$��������#��� ���$�����"��%��/��P$�$��������#��� ���$�����"��%��/��P$�$��������#��� ���$�����"��%��/��P$�$��������#���� � � � moveBall ����������������� 49 ���$����E�O� ���$����E�O�# ���$����E�O� ���$����E�O� # # #*� *� *� *����$���������%��/��P$�$��������#��� ���$���������%��/��P$�$��������#���� ���$���������%��/��P$�$��������#��� ���$���������%��/��P$�$��������#��� � � � �������� ����)������������� 50 ���$����&�����&� ���$����&�����&� ���$����&�����&��H?? ���$����&�����&� �H?? �H?? �H??�(�(*� �(�(*� �(�(*����$���������������"�������������� �(�(*� ���$���������������"��������������� ���$���������������"�������������� ���$���������������"�������������� � � � 51 �������������O�����&(�Q� �������������O�����&(�Q�M �������������O�����&(�Q� �������������O�����&(�Q� 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 � respondToKeyboard �������������� ����������� ����"*�������������

  85. 57 ��� ��� ���:���� ��� :���� :���� :�����&�.9�/R �&�.9�/R �&�.9�/R �&�.9�/R@�5��62 @�5��62 @�5��62 @�5��62S�(� S�(���������������$��%��9�/��$�%��$$��������� S�(� S�(� ��������������$��%��9�/��$�%��$$��������� ��������������$��%��9�/��$�%��$$��������� ��������������$��%��9�/��$�%��$$���������� � � � 95 58 ���) ���) ���)� ���) � � � Outline 59 ������ ������ �����������:>�%��"�������;���;�""�������� ������ �����:>�%��"�������;���;�""��������� �����:>�%��"�������;���;�""�������� �����:>�%��"�������;���;�""�������� � � � 60 ��������������������&�;�""��>�&� ��������������������&�;�""��>�&�= = >� >�= = >� >�= = �(�(* �(�(*� � ��������������������&�;�""��>�&� ��������������������&�;�""��>�&� = = >� >� = = >� >� = = �(�(* �(�(* � � 61 ������;���&�;���>�;�""��>� ������;���&�;���>�;�""��>� ������;���&�;���>�;�""��>�# ������;���&�;���>�;�""��>� # #>� # >� >� >�# # # #>�;����K>�;����/>�;��� >�;����K>�;����/>�;��� >�;����K>�;����/>�;��� >�;����K>�;����/>�;���1 1 1 1�:>�;��� �:>�;��� �:>�;��� �:>�;���1 1 1��� 1 ��� ���(* ��� (* (* (*� � � � 62 ������;���&�;��>�;�""��>� ������;���&�;��>�;�""��>�# #>� >�# #>� >�# #>�;��?�/>�;�� >�;��?�/>�;��1 1�:>�;�� �:>�;��1 1���(*�� ���(*��� � ������;���&�;��>�;�""��>� ������;���&�;��>�;�""��>� # # >� >� # # >� >� # # >�;��?�/>�;�� >�;��?�/>�;�� 1 1 �:>�;�� �:>�;�� 1 1 ���(*�� ���(*�� � � "��� ��M�� "��� ��M�� "��� ��M�� "��� ��M�� 63 ������;���&�;��>�;�""��>� ������;���&�;��>�;�""��>�# ������;���&�;��>�;�""��>� ������;���&�;��>�;�""��>� #>� # # >�# >� >� # # #>� >�8=# >� >� 8=#>�;��E�/>�;�� 8=# 8=# >�;��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� �>� >�,?�"��3��/���6����!�Q�, ,?�"��3��/���6����!�Q�,>�$����?�(*������������� >�$����?�(*�������������� � ��������������������� ��������������������� 1 1 � � >� >� ,?�"��3��/���6����!�Q�, ,?�"��3��/���6����!�Q�, >�$����?�(*������������� >�$����?�(*������������� � � 68 ��������K�%����"��K&�;�""��>�%�������>� ��������K�%����"��K&�;�""��>�%�������>�M## ��������K�%����"��K&�;�""��>�%�������>� ��������K�%����"��K&�;�""��>�%�������>� M## M## M##>� >� >� >�# #>���9����&� # # >���9����&� >���9����&� >���9����&�# # # #>� >�# >� >� # #>� # >� >�# >� # #�(> # �(> �(>� �(> � � � 69 ��������������������� ���������������������1 1� �>� >�,E�����3��/���6��� ,E�����3��/���6����!�Q�, �!�Q�,>�$����E�(*������������ >�$����E�(*������������� � ��������������������� ��������������������� 1 1 � � >� >� ,E�����3��/���6��� ,E�����3��/���6��� �!�Q�, �!�Q�, >�$����E�(*������������ >�$����E�(*������������ � � 70 ������;���&�;�""��>�$�����>� ������;���&�;�""��>�$�����>� ������;���&�;�""��>�$�����>�# ������;���&�;�""��>�$�����>� # #>� # >�# >� >� # # #>� >�# >� >� # # #>� >� >� >�# # # #>�;�""�� >�;�""�� >�;�""��1 >�;�""�� 1�:>�;�""�� 1 1 �:>�;�""��1 �:>�;�""�� �:>�;�""�� 1���(*���� 1 1 ���(*����� ���(*���� ���(*���� � � � 71 ������������;����%&�;�""���(*�������������������������������������� ������������;����%&�;�""���(*��������������������������������������� � ������������;����%&�;�""���(*�������������������������������������� ������������;����%&�;�""���(*�������������������������������������� � � remove_int ������������� ��� 72 ���0� ���0� ���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 ��� ��� ���������� ��� ������� ������� �������#* #* #*� #* � � � <���������������������� moveBall ���� respondToKeyboard 82 0� 0��������"��������������� �������"���������������� � 0� 0� �������"��������������� �������"��������������� � � �� ����������� ������������ while ����?��������������� 83 �����������&(� �����������&(� �����������&(�������P��"���������$.�� �����������&(� ������P��"���������$.�� ������P��"���������$.�� ������P��"���������$.��� � � �� � � � 84 ����������������������������������� ��� ���� while ���� �

  86. 85 '���� '���� '������'�G���&(� '���� ��'�G���&(� ��'�G���&(� ��'�G���&(������'�$�����;������ �����'�$�����;������� �����'�$�����;������ �����'�$�����;������ � � � 96 86 ) ) )� ) � � � Outline 87 ��� ��� ���$:����� ��� $:����� $:����� $:�����&�����������(�) &�����������(�) &�����������(�) &�����������(�)� � � � 88 ������ ��������$� ��$�� ���-��E�IAD ��-��E�IAD! !� � ������ ������ ��$� ��$� � � ��-��E�IAD ��-��E�IAD ! ! � � 89 ���������CC;����K*� ���������CC;����K*� ���������CC;����K*������'������;������������������� ���������CC;����K*� �����'������;������������������� �����'������;������������������� �����'������;�������������������� � � � 90 ���������CC;����/*� ���������CC;����/*������'������;������:���� �����'������;������:����� � ���������CC;����/*� ���������CC;����/*� �����'������;������:���� �����'������;������:���� � � "��� ��M�� "��� ��M�� "��� ��M�� "��� ��M�� 91 ��������� ���������;���9 ��������� ��������� ;���9 ;���9* ;���9 * * *� � � � 92 ������ ������ ��������$�� ������ ��$��H3�E�I ��$�� ��$�� H3�E�IAD H3�E�I H3�E�I 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;����K*� ;����K*������'������;�������������"���� �����'������;�������������"����� � ��������� ��������� 11 11 ;����K*� ;����K*� �����'������;�������������"���� �����'������;�������������"���� � � 98 ���������CC;����/*� ���������CC;����/*� ���������CC;����/*������'������;������: ���������CC;����/*� �����'������;������: �����'������;������:���� �����'������;������: ����� ���� ���� � � � 99 ��������� ���������;���9 ;���9* *� � ��������� ��������� ;���9 ;���9 * * � � 100 ������ ��������$�� ������ ������ ��$��H3�?��D ��$�� ��$�� H3�?��D! H3�?��D H3�?��D ! !� ! � � � ���������11 ��������� 11;����K*� ;����K*������'������;�������������"���� �����'������;�������������"����� � 101 ��������� ��������� 11 11 ;����K*� ;����K*� �����'������;�������������"���� �����'������;�������������"���� � � 102 ���������11 ��������� ��������� ��������� 11 11;����/* 11 ;����/* ;����/* ;����/*������'������;�����%��� ������'������;�����%��� ������'������;�����%��� ������'������;�����%���� � � � 103 ��������� ���������;���9 ��������� ��������� ;���9* ;���9 ;���9 *� * * � � � 104 ���0��������$:������� ���0� ���0� ���0� �������$:������� �������$:�������� �������$:������� � � � 105 106 ��� �������"�����;�����$��������""������ ��� ��� ����"�����;�����$��������""������ ����"�����;�����$��������""�������%����;������������ ����"�����;�����$��������""������ �%����;������������� �%����;������������ �%����;������������ � � � 107 ����" ��� ��� ��� �"�&�;����/��O� �" �" �&�;����/��O� �&�;����/��O�<# �&�;����/��O� <# <# <#�TT�;����/��O� �TT�;����/��O� �TT�;����/��O� �TT�;����/��O�MM# MM# MM# MM#�(� �(� �(�� �(� � � � ��������'��$�7����������������&(*������9������������������:�/��� ��������'��$�7����������������&(*� �����9������������������:�/���� � 108 ��������'��$�7����������������&(*� ��������'��$�7����������������&(*� �����9������������������:�/��� �����9������������������:�/��� � � 109 �������"�����;�����$�����������"�������"��%������������������������������� ��� ����"�����;�����$�����������"�������"��%�������������������������������� � 110 ��� ��� ����"�����;�����$�����������"�������"��%������������������������������� ����"�����;�����$�����������"�������"��%������������������������������� � � 111 ����" ��� ��� ��� �" �"�&;����K��� �" �&;����K��� �&;����K���=# �&;����K��� =# =# =#�YY�&� �YY�&� �YY�&� �YY�&����������OO� ���������OO� ���������OO� ���������OO���-��?��D ��-��?��D ��-��?��D�TT�����������OO� ��-��?��D �TT�����������OO� �TT�����������OO�H3�?��D �TT�����������OO� H3�?��D H3�?��D((��� H3�?��D ((��� ((��� ((���� � � � �

  87. 112 ���)���������������������������������������������������������������������� ���)����������������������������������������������������������������������� ���)���������������������������������������������������������������������� ���)���������������������������������������������������������������������� � � � 97 113 ����������$�������"��%�������������:�/Z����������������������������������� ������ ������ ������ ����$�������"��%�������������:�/Z����������������������������������� ����$�������"��%�������������:�/Z������������������������������������ ����$�������"��%�������������:�/Z����������������������������������� � � � Outline 114 ������ �������"� ������ ������ �"� �"�&�;����/���&�;��?�/� �"� &�;����/���&�;��?�/� &�;����/���&�;��?�/� &�;����/���&�;��?�/�1 1 1 1� � � �<W <W <W <W�(�YY�;����/���&�;��?�/�C� �(�YY�;����/���&�;��?�/�C� �(�YY�;����/���&�;��?�/�C�WW �(�YY�;����/���&�;��?�/�C� WW WW WW�(�(��������� �(�(��������� �(�(��������� �(�(���������� � � � �����������'��$�A���+��������������&(*������������������������������������ �������� ���'��$�A���+��������������&(*������������������������������������� � 115 �������� �������� ���'��$�A���+��������������&(*������������������������������������ ���'��$�A���+��������������&(*������������������������������������ � � 116 ��������$���"� ������ ������ ������ ��$���"� ��$���"�&�;����K��O� ��$���"� &�;����K��O� &�;����K��O� &�;����K��O�1 1 1 1=# =# =# =#�(�)� �(�)� �(�)�����"�����;�������$��""�����$����������� �(�)� ����"�����;�������$��""�����$����������� ����"�����;�������$��""�����$����������� ����"�����;�������$��""�����$������������ � � � ���������CC$����E*������'��������%��/�����%������� ���������CC$����E*� �����'��������%��/�����%������������������������������� ������������������������� � 117 ���������CC$����E*� ���������CC$����E*� �����'��������%��/�����%������� �����'��������%��/�����%������� ������������������������ ������������������������ � � "��� ��M�� "��� ��M�� "��� ��M�� "��� ��M�� 118 ���������;����K�O�62E ���������;����K�O� ���������;����K�O� ���������;����K�O� 62E 62E����- 62E ����- ����- ����-��� ��� ��� ���= = = =*� *����%���������;���������������������������� *� *� ���%���������;���������������������������� ���%���������;���������������������������� ���%���������;����������������������������� � � � 119 ���������;����/�O� ���������;����/�O�62E����A ���������;����/�O� ���������;����/�O� 62E����A 62E����A 62E����A��� ��� ��� ���= = =*� = *����������������"�����$�������������������� *� *� ���������������"�����$�������������������� ���������������"�����$�������������������� ���������������"�����$��������������������� � � � �)����/�� 120 �������������������O�����&(�Q�M �������������������O�����&(�Q� �������������������O�����&(�Q� �������������������O�����&(�Q� M*� M M *� *� *������'������;���������������������������� �����'������;����������������������������� �����'������;���������������������������� �����'������;���������������������������� � � � 121 ������0����������$���������������� ������0� ������0� ������0� ���������$���������������� ���������$�������������������������������������������������������� ���������$���������������� ���������������������������������������� ���������������������������������������� ����������������������������������������� � � � 122 ���0���������"������������������������������������������������������������ ���0� ���0� ���0� ��������"������������������������������������������������������������ ��������"������������������������������������������������������������� ��������"������������������������������������������������������������ � � � 123 �������"�����;�����$�����������"�����������%��� ��� ����"�����;�����$�����������"�����������%������������������������������ ���������������������������� � 124 ��� ��� ����"�����;�����$�����������"�����������%��� ����"�����;�����$�����������"�����������%��� ��������������������������� ��������������������������� � � 125 ��� ����" ��� ��� �" �" �"�&;����K��� �&;����K��� N# �&;����K��� �&;����K��� N# N#�YY�&����������OO� N# �YY�&����������OO� �YY�&����������OO� �YY�&����������OO���-��E�IAD ��-��E�IAD ��-��E�IAD�TT�����������OO� ��-��E�IAD �TT�����������OO� �TT�����������OO� �TT�����������OO�H3�E�IAD H3�E�IAD H3�E�IAD(( H3�E�IAD (( (( ((� � � � 126 ���)����������������������������������������������������������������������� ���)���������������������������������������������������������������������� ���)���������������������������������������������������������������������� ���)���������������������������������������������������������������������� � � � 127 ������ ����������$�����������%�������������:�/Z�������������������� ������ ������ ����$�����������%�������������:�/Z�������������������� ����$�����������%�������������:�/Z���������������������������������� ����$�����������%�������������:�/Z�������������������� �������������� �������������� ��������������� � � � �������"� ������ �"�&�;����/���&�;��E�/� &�;����/���&�;��E�/�1 1� �<W <W�(�YY�;����/���&�;��E�/�C� �(�YY�;����/���&�;��E�/�C�WW WW�(�(��������� �(�(���������� � 128 ������ ������ �"� �"� &�;����/���&�;��E�/� &�;����/���&�;��E�/� 1 1 � � <W <W �(�YY�;����/���&�;��E�/�C� �(�YY�;����/���&�;��E�/�C� WW WW �(�(��������� �(�(��������� � � 129 �����������'��$�A���+��������������&(*������������������������������������ �����������'��$�A���+��������������&(*������������������������������������� �����������'��$�A���+��������������&(*������������������������������������ �����������'��$�A���+��������������&(*������������������������������������ � � � ��������$���"� ������ ��$���"�&�;����K &�;����K� ��O� �O�8=# 8=#�( �(� �)� )�����"�����;�������$��""�����$���������� ����"�����;�������$��""�����$����������� �� � 130 ������ ������ ��$���"� ��$���"� &�;����K &�;����K � � �O� �O� 8=# 8=# �( �( � � )� )� ����"�����;�������$��""�����$���������� ����"�����;�������$��""�����$���������� � � � � 131 ���������CC$����?*� ���������CC$����?*������'����"��%��/�����%������������������������������ ���������CC$����?*� ���������CC$����?*� �����'����"��%��/�����%������������������������������ �����'����"��%��/�����%������������������������������ �����'����"��%��/�����%�������������������������������� �� �� ��� � � � 132 ���������;����K�O� ���������;����K�O�62E����- ���������;����K�O� ���������;����K�O� 62E����-��� 62E����- 62E����- ���= ��� ��� =*� = = *����%���������;���������������������������� *� *� ���%���������;���������������������������� ���%���������;���������������������������� ���%���������;����������������������������� � � � 133 ���������;����/�O�62E����A ���������;����/�O� ���������;����/�O� ���������;����/�O� 62E����A 62E����A 62E����A��� ��� ��� ���= = = =*� *� *����������������"�����$�������������������� *� ���������������"�����$�������������������� ���������������"�����$��������������������� ���������������"�����$�������������������� � � � 134 ����� �������������������O�����&(�Q� ����� ����� ��������������O�����&(�Q� ��������������O�����&(�Q� ��������������O�����&(�Q�M M M M*� *� *������'������;���������������������������� *� �����'������;���������������������������� �����'������;����������������������������� �����'������;���������������������������� � � � 135 ������0� ������0����������$�������������������������������������������������������� ������0� ������0� ���������$�������������������������������������������������������� ���������$�������������������������������������������������������� ���������$��������������������������������������������������������� � � � 136 ���0���������"������������������������������������������������������������ ���0� ���0� ���0� ��������"������������������������������������������������������������ ��������"������������������������������������������������������������ ��������"������������������������������������������������������������� � � � 137 0� 0� 0��������"������� 0� �������"������� �������"������� �������"����������'�G������ ���'�G������� ���'�G������ ���'�G������ � � � 138 '��� '������$%���D�@�/;����&(� ���$%���D�@�/;����&(������$%���$����9�/;�������%����������������������� �����$%���$����9�/;�������%������������������������ � 139 '��� '��� ���$%���D�@�/;����&(� ���$%���D�@�/;����&(� �����$%���$����9�/;�������%����������������������� �����$%���$����9�/;�������%����������������������� � � �

  88. 140 )�������������������������������������������������������������������������� )�������������������������������������������������������������������������� )��������������������������������������������������������������������������� )�������������������������������������������������������������������������� � � � 98 141 ��� ����" ��� ��� �"�&�9�/R �" �" �&�9�/R �&�9�/R �&�9�/R@�5�� @�5�� @�5�� @�5��S�(� S�(�����"����$�;�����%��$$�������������������������������� S�(� S�(� ����"����$�;�����%��$$�������������������������������� ����"����$�;�����%��$$�������������������������������� ����"����$�;�����%��$$��������������������������������� � � � Outline 142 ������;��?�/� ������;��?�/�1 ������;��?�/� ������;��?�/� 1 1 1O� O� O� O�< < < <*� *����������'��������"��%�������%�������������������������� *� *� ���������'��������"��%�������%�������������������������� ���������'��������"��%�������%�������������������������� ���������'��������"��%�������%��������������������������� � � � ���� ��� �" "�&�9�/R �&�9�/R@�5�X @�5�XS�(� S�(�����"�X��$�;�����%��$$�������������������������������� ����"�X��$�;�����%��$$��������������������������������� � 143 ��� ��� � � " " �&�9�/R �&�9�/R @�5�X @�5�X S�(� S�(� ����"�X��$�;�����%��$$�������������������������������� ����"�X��$�;�����%��$$�������������������������������� � � 144 ������;��?�/�CO� ������;��?�/�CO�< ������;��?�/�CO� ������;��?�/�CO� < < <*� *� *� *����������'��������"��%��������:������������������������� ���������'��������"��%��������:������������������������� ���������'��������"��%��������:�������������������������� ���������'��������"��%��������:������������������������� � � � 145 "��� ��M�� "��� ��M�� "��� ��M�� "��� ��M�� 146 ��� ����" ��� ��� �" �" �"�&�9�/R �&�9�/R �&�9�/R �&�9�/R@� @�5�H3 @� @� 5�H3 5�H3 5�H3S�(� S�(� S�(� S�(�����"������%�����:�9�/��$�;�����%��$$���������������� ����"������%�����:�9�/��$�;�����%��$$���������������� ����"������%�����:�9�/��$�;�����%��$$����������������� ����"������%�����:�9�/��$�;�����%��$$���������������� � � � 147 ������;��E�/�1 ������;��E�/� ������;��E�/� ������;��E�/� 1 1 1O� O� O� O�< <*� < < *� *����������'������������%�������%������������������������� *� ���������'������������%�������%������������������������� ���������'������������%�������%������������������������� ���������'������������%�������%�������������������������� � � � �5����/�� 148 ����" ��� ��� ��� �"�&�9�/R �" �" �&�9�/R �&�9�/R �&�9�/R@�5���-� @�5���-�S�(� @�5���-� @�5���-� 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� <# <# <#*��������������������������������������������������������� *��������������������������������������������������������� *��������������������������������������������������������� *���������������������������������������������������������� � � � �����$���"� ��� ��$���"�&�;��?�/��� &�;��?�/���<N# <N#�(� �(�����"���"��%�������$��������""�����;����������� ����"���"��%�������$��������""�����;������������ � 154 ��� ��� ��$���"� ��$���"� &�;��?�/��� &�;��?�/��� <N# <N# �(� �(� ����"���"��%�������$��������""�����;����������� ����"���"��%�������$��������""�����;����������� � � 155 ������;��?�/�O� ������;��?�/�O�<N# ������;��?�/�O� ������;��?�/�O� <N# <N# <N#*������������������������� *�������������������������������������������������������� *������������������������� *������������������������� ������������������������������� ������������������������������� �������������������������������� � � � ����"� ��� �"�&�;��E�/��� &�;��E�/���<# <#�(� �(�����"�������%�������$��������""�������%�������������� ����"�������%�������$��������""�������%��������������� � 156 ��� ��� �"� �"� &�;��E�/��� &�;��E�/��� <# <# �(� �(� ����"�������%�������$��������""�������%�������������� ����"�������%�������$��������""�������%�������������� � � 157 ������;��E�/�O� ������;��E�/�O�<# ������;��E�/�O� ������;��E�/�O� <#*��������������������������������������������������������� <# <# *��������������������������������������������������������� *��������������������������������������������������������� *���������������������������������������������������������� � � � �����$���"� ��� ��$���"�&�;��E�/��� &�;��E�/���<N# <N#�(� �(�����"�������%�������$����� ����"�������%�������$��������""�����;���������� ���""�����;����������� � 158 ��� ��� ��$���"� ��$���"� &�;��E�/��� &�;��E�/��� <N# <N# �(� �(� ����"�������%�������$����� ����"�������%�������$����� ���""�����;���������� ���""�����;���������� � � 159 ������;��E�/�O�<N# ������;��E�/�O� ������;��E�/�O� ������;��E�/�O� <N#*�������������������������������������������������������� <N# <N# *�������������������������������������������������������� *�������������������������������������������������������� *��������������������������������������������������������� � � � 160 0� 0��������"����������$%���D�@�/;�������������������������������������������� 0� 0� �������"����������$%���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�# # # #�(� �(����,��:�,����������$������'������;��$��� �(� �(� ���,��:�,����������$������'������;��$��� ���,��:�,����������$������'������;��$���� ���,��:�,����������$������'������;��$��� � � � ������CC���������*������9������;����$�������'�����%��� ������CC���������*� �����9������;����$�������'�����%���� � 165 ������CC���������*� ������CC���������*� �����9������;����$�������'�����%��� �����9������;����$�������'�����%��� � � 166 �����$�����,�%,����������$������������;��$��� �����$�� �����$�� �����$�� ���,�%,����������$������������;��$���� ���,�%,����������$������������;��$��� ���,�%,����������$������������;��$��� � � � ������11 ������ 11���������*� ���������*������9��� �����9������;����$�������'������:���� ���;����$�������'������:����� � 167 ������ ������ 11 11 ���������*� ���������*� �����9��� �����9��� ���;����$�������'������:���� ���;����$�������'������:���� � � 168 ���%��/�$��%��&�;����>� ���%��/�$��%��&�;����>�= ���%��/�$��%��&�;����>� ���%��/�$��%��&�;����>� = = = >� >� >� >��=N �=N �=N>� �=N >� >� >��### �###>� �### �### >� >� >�# # # #�(*� �(*� �(*� �(*����%��/�,;����,�$������������ ���%��/�,;����,�$������������ ���%��/�,;����,�$������������ ���%��/�,;����,�$������������� � � � 169 0� 0� 0��������"����������'��$�7������������������� 0� �������"����������'��$�7�������������������� �������"����������'��$�7������������������� �������"����������'��$�7������������������� � � � �

  89. 170 99 171 '���� '���� '������'��$�A���+��������������&(� '���� ��'��$�A���+��������������&(� ��'��$�A���+��������������&(� ��'��$�A���+��������������&(������'��$�$���������+������������������ �����'��$�$���������+������������������ �����'��$�$���������+������������������ �����'��$�$���������+������������������� � � � Outline 172 ) ) )� ) � � � �������������O�&�����������C�= �������������O�&�����������C� =�(�Q� �(�Q�M M* *������'��$������+������������������ ������'��$������+������������������� � 173 �������������O�&�����������C� �������������O�&�����������C� = = �(�Q� �(�Q� M M * * ������'��$������+������������������ ������'��$������+������������������ � � 174 ���%��/�$��%��&�;����>�= ���%��/�$��%��&�;����>� ���%��/�$��%��&�;����>� ���%��/�$��%��&�;����>� = = = >� >� >� >��=N �=N �=N �=N>� >� >� >��### �###>� �### �### >� >� >�# # # #�(*� �(*� �(*� �(*����%��/�,;����,�$������������ ���%��/�,;����,�$������������ ���%��/�,;����,�$������������� ���%��/�,;����,�$������������ � � � 0� 0��������"����������'��$�A���+����������������� �������"����������'��$�A���+������������������ � 175 0� 0� �������"����������'��$�A���+����������������� �������"����������'��$�A���+����������������� � � "��� ��M�� "��� ��M�� "��� ��M�� "��� ��M�� �/����/�� �

  90. 100 15.11 The Grabber and Allegro Datafiles � +�������� – G������&������������������������������������������������� �������������������������������������*����� - ������� ��������������������������������&������������$����� ��������������������� �������������������� – ����������������� ��-��������������������&����������������� ��������������������� – ���������������������������������������� ���������������� �������������������������&������������

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend