#N canvas 158 22 976 682 12;
#X obj 10 10 cnv 15 400 40 empty empty Value 20 12 0 24 -262144 -66577
0;
#X obj 598 129 value contador;
#X obj 598 107 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 569 160 + 1;
#X obj 765 130 value contador;
#X obj 765 108 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 731 160 - 1;
#X floatatom 731 191 5 0 0 0 - - -;
#X floatatom 568 193 5 0 0 0 - - -;
#X obj 202 368 value n;
#X floatatom 202 297 5 0 0 0 - - -;
#X floatatom 202 414 5 0 0 0 - - -;
#X obj 126 368 value n;
#X floatatom 126 297 5 0 0 0 - - -;
#X floatatom 126 414 5 0 0 0 - - -;
#X obj 173 311 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X text 102 460 clique no bang e entenda \; como um valor enviado a
\; um dos objetos acaba sendo \; armazenado no outro.;
#X text 6 558 Agora podemos criar uma variável de nome "contador" \,
e simplificar o patch que fizemos anteriormente \, sem mesmo nos preocuparmos
com um loop infinito \, visto que o inlet o [value] não o obriga a
cuspir nenhum valor.;
#X text 515 16 Por padrão \, todos os objeto values armazenam um 0
inicialmente. Você pode mudar isso enviando um número com uma caixa
de números \, por exemplo.;
#X floatatom 658 235 5 0 0 0 - - -;
#X text 619 102 Sobe;
#X text 791 103 Desce;
#X obj 724 455 + 1;
#X obj 759 455 - 1;
#X floatatom 743 488 5 0 0 0 - - -;
#X obj 744 521 value contador2;
#X obj 759 422 value contador2;
#X obj 642 423 value contador2;
#X obj 642 399 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X obj 759 398 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X text 479 278 Acima temos uma variável "contador" ligada aos objetos
[+] e [-]. O valor armazenado cresce ou descresce e é logo após armazenado
novamente omado a um ou subtraído um. Entanda também que tanto importa
em qual dos objetos [velue contador] podemos retornar o valor \, veja
a possibilidade abaixo \, que inclui um terceiro objeto [value] só
para receber o valor:;
#X text 663 396 Sobe;
#X text 785 394 Desce;
#X text 18 142 Veremos depois a semelhança com os objetos [send] e
[receive] \, estudaremos como lidar com ele na questão de globalidade/localidade
\, e como usa-lo em expressões matemáticas com o objeto [expr]. Por
enquanto \, basta saber que \, quando enviamos um número a um objeto
[value] com um argumento uqalquer \, outros objetos [value] (com mesmo
argumento) também recebem o valor.;
#X obj 517 558 v;
#X obj 499 534 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X floatatom 517 531 5 0 0 0 - - -;
#X floatatom 517 585 5 0 0 0 - - -;
#X obj 587 559 v;
#X obj 569 535 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X floatatom 587 532 5 0 0 0 - - -;
#X floatatom 587 586 5 0 0 0 - - -;
#X text 485 619 Você não precisa nomear a variável se não quiser...
daí o dado circula por todas as variáveis sem nome.;
#X text 13 74 O objeto [value] (ou apenas [v]) tem apenas um inlet
(que não deixa de ser "quente") \, mas o outlet só envia dados quando
recebe um bang. Não é uma estrutura comum \, aliás. O seu argumento
define o nome da variável.;
#X connect 1 0 3 0;
#X connect 2 0 1 0;
#X connect 3 0 1 0;
#X connect 3 0 8 0;
#X connect 4 0 6 0;
#X connect 5 0 4 0;
#X connect 6 0 4 0;
#X connect 6 0 7 0;
#X connect 7 0 19 0;
#X connect 8 0 19 0;
#X connect 9 0 11 0;
#X connect 10 0 9 0;
#X connect 12 0 14 0;
#X connect 13 0 12 0;
#X connect 15 0 12 0;
#X connect 15 0 9 0;
#X connect 22 0 24 0;
#X connect 23 0 24 0;
#X connect 24 0 25 0;
#X connect 26 0 23 0;
#X connect 27 0 22 0;
#X connect 28 0 27 0;
#X connect 29 0 26 0;
#X connect 34 0 37 0;
#X connect 35 0 34 0;
#X connect 36 0 34 0;
#X connect 38 0 41 0;
#X connect 39 0 38 0;
#X connect 40 0 38 0;
