Escrevendo uma função Void com parâmetros no VEXcode Pro V5

The VEX Visual Studio Code Extension has replaced VEXcode Pro V5, which is now end-of-life.

VEXcode Blocks and VEXcode Text remain actively developed and supported for all VEX platforms.

Haverá momentos em que você gostaria de fornecer algumas informações específicas para a função. Isso permitirá que a função execute sua tarefa de acordo com as informações recebidas cada vez que for chamada. O exemplo a seguir mostrará como funciona.


Exemplo: Um programa desenha um rosto sorridente para mostrar utilizando parâmetros

O exemplo a seguir também exemplifica variáveis ​​globais que estão sendo usadas corretamente.

Sem utilizar uma função definida pelo utilizador:

int MaxX = 484, MaxY = 278;

int main() { 
  vexcodeInit();

  int centroX = MaxX/2, centroY = MaxY/2;

  //O rosto
	Brain.Screen.drawCircle(centerX, centerY, 100);

  //O olho esquerdo
  int espaço = 20; /*Isto fornece o espaçamento para o olho em relação à parte superior do ecrã. Pode ajustar isto como quiser.*/
  centerX = MaxX/2+space;
  centerY = MaxY/2-30;
  Brain.Screen.drawCircle(centerX, centerY, 20);

  //O olho direito  
  /*...pode continuar com o código para o olho direito aqui*/

  //A boca sorridente
  /*...pode continuar com o código para a boca sorridente aqui
    ... etc.
    Se pretender desenhar um tamanho diferente, terá de repetir todo o conjunto de códigos novamente.
    */
}

Com uma função definida pelo utilizador:

int MaxX = 484, MaxY = 278;
const char Esquerda=1, Direita=2;

void drawFace(int size){
  /*...código para o rosto com base no parâmetro size da função que chamou.*/

}

//lado == Esquerdo ou Direito
void drawEye(char side){
  /*...código para o olho com base no parâmetro size da função que chamou.*/
}

//lado == Esquerdo ou Direito
void drawMouth(bool smile, int size){
  /*...código para a boca com base no parâmetro size da função que chamou. Isto inclui se está a sorrir ou a franzir o sobrolho, bem como a largura.*/
}

int main() { 
  vexcodeInit();

  drawFace();
  drawEye(Esquerda);
  drawEye(Direito);

  //pode divertir-se bastante com isto...
  while (verdadeiro){
    desenharBoca(verdadeiro, 30);
    esperar(1000, ms);
    desenharBoca(falso, 30);
    esperar(1000, ms);
  }  
}

O vídeo abaixo mostra como a sequência lógica flui da função que chama a função main():

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: