6.2. O LOOP DO JOGO

 

Nosso jogo precisará de um loop para mantê-lo em processamento. Nas aplicações feitas com a ClanLib, o loop do jogo necessita de três chamadas de funções:

 

·      CL_Display::flip(): essa função é responsável por atualizar a tela;

 

·      CL_System::sleep(10): apesar de não ser obrigatória, essa chamada é importante para que, em ambientes multitarefas, o controle da CPU seja devolvido ao sistema operacional e outros programas sejam também executados;

 

·      CL_System::keep_alive(): essa chamada permite que a ClanLib seja atualizada e execute tarefas como gerenciar mensagens, processar as entradas, etc.

 

Dessa forma, o loop do jogo terá o código a seguir:

 

1     While(!CL_Keyboard::get_keycode(CL_KEY_ESCAPE)){

2           // Exibição de Gráficos

3           CL_Display::flip();

4           CL_System::sleep(10);

5           CL_System::keep_alive();}

 

A função get_keycode (linha 1), da classe CL_Keyboard, que será detalhada na Seção 6.4, foi utilizada para tornar possível a saída do loop. Assim, o código verifica se a tecla ESCAPE foi pressionada e sai do loop. Na ClanLib, a constante CL_KEY_ESCAPE  representa a tecla ESCAPE.

O comentário //Exibição de Gráficos (linha 2) deverá ser substituído pelo código na próxima seção.