Conheça a iniciativa da Biblioteca dos Desenvolvedores  
Índice da Biblioteca  
Área dos Usuários  
Fórum de Discussão  
Forúm
 
 

17 - Criando Funções

Nós iremos falar agora, cada vez mais assuntos abordando programação de jogos diretamente.
É importante conhecer o básico sobre programação, lendo os capitulos anteriores para não se perder durante os estudos.

Entender e resolver os exercícios ajuda a compreender como programar melhor um jogo.

Todo jogo clássico possui comandos básicos.
Por exemplo, no Super Mario podemos fazer o Mario sair pulando. Sempre que o botão de pulo é precionado, ele vai pular.

Para fazer o Mario pular, os programadores programaram uma sequência de códigos.

Geralmente essa sequencia de códigos é conhecida como uma função.

DICAS IMPORTANTES...

- Uma função é um conjunto de código separado do programa principal, que executa varias operações especiais no programa.

- Esse conjunto de código pode ser chamado pelo programa principal infinitamente

Desta forma, não perdemos tempo escrevendo como o Mario pula mais de uma vez em um mesmo programa, o que ajuda na produtividade ao se contruir um jogo.

Definição de Funções

Cada programa em C++ apresenta uma função denominada main, que é a função principal, dentro dela podemos chamar várias outras funções.. e agora veremos como
criar nossas proprias funções.

Para criar uma função em C++ devemos seguir os seguintes padrões:

1º tipo de valor de retorno ( lembrando que uma função pode retornar algo )
2º nome da função
3º lista de argumentos
4º declaração de comandos

ou

tipo de valor de retorno nome da função (lista de argumentos)
{
   declaração
}

Como C++ é uma lingaguem muito rica, alguns parametros foram adotados para que o programa fique mais rápido.
Uma delas é o Prototipo da função.

VOCÊ PRECISA SABER...

Toda função de biblioteca padrão possui um prototipo de função, e assim sendo, para seguir uma boa engenharia de softwere, seria interessante que cada função nossa também tive-se seu prototipo.

Toda função é composta por um prototipo e seu retorno .. ( não é obrigatorio o uso de prototipo )

 

Vamos declarar uma função que vai somar 2 valores

int soma( int, int) ; // prototipo da função... diz ao compilador que a função soma vai retornar um int e receber dois argumentos int

int soma( int valor1, int valor2)
{
   return valor1 + valor2
}

Quando quisermos que uma função não retorne nada ou não receba nada, usamos o tipo Void.

void mensagem ( void ) // prototipo de mensagem, nao retorna nada, nao recebe nada

void mensagem ( void )
{
   cout << "MENSAGEM";
}

De início parece chato ficar escrevendo o prototipo. Mas o prototipo de função é um dos recursos mais importantes de C++. Um prototipo diz ao compilador o nome da função, o tipo dos dados retornados, o número de parametros que a função espera receceber e a ordem na qual estas serão recebidas.

Com o prototipo a função é avaliada
. E com ele podemos escrever a função aonde quisermos, pois ela sempre tem que estar criada antes de ser usada. Veremos mais tarde exemplos que serão obrigatorios o uso de prototipos, por isso espero que você se acostume a usa-los.

Exemplo com ajuda de Prototipo:


CÓDIGO...

// Programa com funções e seus prototipos

#include <iostream>
using std::cout;
using std::cin;
using std::endl;

#include <cmath>

int quadrado (int); // prototipo da funcao quadrado
int cubo (int);
// prototipo da funcao cubo
void msg (void);


int main()
{
   int numero = 2;
   double num = -2.5;

   cout << "O quadrado de "
          << numero
          << " e "
          << quadrado(numero)
          << endl;

cout << "O cubo de "
       << numero
       << " e "
       << cubo(numero)
       << endl;

    // outras funcoes padroes

   cout << fabs(num) << endl;

   cout << pow( numero, 4) << endl;

   cout << sqrt( numero ) << endl; // raiz quadrada

   msg();

   cin;

   return 0;
}

// com prototipos podemos iniciar as funções depois

int quadrado ( int valor )
{
   valor *= valor;

   return valor;
}

int cubo ( int valor )
{
   valor *= valor * valor;

   return valor;
}

void msg ()
{
   cout << "VOID não retorna"
   << endl;

}


FIM DE CÓDIGO...

 

Funções em C++ é um assunto bastante complexo, C++ possui várias formas e maneiras de se trabalhar com funções criadas pelo usuário, o que faz dessa linguagem muito potênte. De início vamos ver algumas funções das bibliotecas padrões.

Funções da biblioteca <cmath>

cos (x) coseno de x
exp(x) função exponencial
fabs(x) valor absoluto ( tira o - )
fmod (x, y ) mode de numero ponto flutuante x/y
log ( x ) logaritmo natural de x
pow( x, y ) x elevado a potência de y
sin ( x ) seno de x
sqrt( x) raix quadrada
tan(x) tangente de x

Contribuidor
Adriano Waltrick
11/06/2007


 

« Anterior

 

Próximo »

 
 

01/06/2007 (C) Copyright. Todos os Direitos Reservados. Leia a política de privacidade do portal.
É proibida a cópia de conteúdo deste site de acordo com a Lei Brasileira de Direitos Autorais.