1. int a, b; // int cria e define uma varável como um valor integral. se não atribuímos nenhum valor, o valor da variável é zero. este valor pode ser alterado depois, em qualquer parte do programa.
  2. int i, j;
  3.  
  4. import processing.net.*;
  5.  
  6. Server s;
  7. Client c;
  8. String input;
  9. int data[];
  10.  
  11. void setup()
  12. {
  13. size(450, 255);
  14. background(204);
  15. stroke(0);
  16. frameRate(5); // Slow it down a little
  17. s = new Server(this, 8884); // Start a simple server on a port
  18. }
  19.  
  20. void draw(){
  21. }
  22.  
  23.  
  24. void keyPressed(){ // checa se alguma tecla é pressionada.
  25.  
  26.  
  27. if (key =='b'){ // checa se a tecla pressionada é a tecla 'b'
  28. a = 1; // valor 'a' para conferir se a TECLA 'b' foi ou não apertada quando se apertar a tecla 'b' funciona da mesma forma que o VALOR 'b'
  29. if (b == 0){ // se b = 0 implica que a tecla r ainda não foi pressionada (pois quando apertada a tecla 'r', o valor de b = 1). De acordo com o valor de 'a' definimos qual tecla é apertada primeiro (nesse caso, a tecla B), e consequentemente, o sentido do fluxo de pessoas.
  30.  
  31. }else
  32. if (b == 1){ // se b = 1 implica que a tecla r já foi apertada, definindo assim o sentido do fluxo de pessoas.
  33. i = i + 1;
  34. }
  35. }
  36. if (key == 'r'){
  37. b = 1;
  38. if (a == 0){
  39.  
  40. }else
  41. if (a == 1){
  42. i = i - 1;
  43. }
  44. }
  45.  
  46. // println(a +" "+ b +" "+i);
  47. println(i);
  48. if (a + b == 2){ // se a + b = 2, ou seja, se ambos os valores forem iguais a 1, (isso significa que as duas teclas foram apertadas - e que uma pessoa passou pela porta), então os valores de 'a' e 'b' são resetados para 0 (ver duas linhas abaixo).
  49. a = 0;
  50. b = 0;
  51. }
  52.  
  53. //port.write('B'); // envia o caractere 'B'
  54. s.write(i); // envia o valor de 'i'
  55.  
  56.  
  57. }