Entao, esta pergunta pede-nos para criarmos um ninho no centro do mundo ou aproximadamente na origem com nove parcelas e vamos pintar esse ninho de laranja. Por isso vamos para o codigo e primeiro vamos adicionar uma variavel turtle nova a primeira linha onde diz "turtles-own" dentro dos parenteses rectos, escreve "return-to-nest?" com ponto de interrogacao. Depois, criamos uma variavel de parcelas, o patch, escreve patches-own, abre parenteses rectos, "nest?" (com ponto de interrogacao), e fecha parenteses rectos. Agora temos de adicionar algumas linhas ao procedimento do "setup". Entao, no comando 'ask turtles' pomos return-to-nest para ser falso (escreve "set return-to-nest? false"). Se nao fizermos isto, o NetLogo vai estabelecer qualquer variavel nova para True, por default. Agora, adicionamos uma linha nova, que se vai tornar num procedimento novo. Vamos chamar-lhe "set-up-nest". Para adicionar esse procedimento comecamos uma outra linha com "to" e "set-up-nest". E fazemos um "ask patches" que nos poe no contexto de "patches", para estabelecer que a variavel "nest" seja true quando uma parcela (um patch) se encontra a uma distancia de 2 da origem entao escrevemos "set nest? (distancexy 0 0) < 2" e se um patch cumpre esse criterio, fazemos: "if nest? [set pcolor orange]" para que seja laranaja. E terminamos sempre um procedimento com "end" e vemos se functiona "No closing bracket for this open bracket", esqueci-me de fechar estes parenteses rectos. Vamos ver se agora serve. Parece que esta bem, entao vamos a inteface. Carregamos em "Setup", e podemos ver que ha... e dificil ver que ha 9 parcelas aqui mas... vou assumir que sim. Agora ha um ninho laranja no centro do mundo. A seguir, e-nos pedido para escrevermos algum codigo que faca as formigas regressarem ao ninho assim que comam, e antes de irem buscar comida de novo. Ha varias maneiras de o fazer, mas eu vou fazer assim: Primeiro, quero simplificar o procedimento "to go"... Entao, vou criar um novo procedimento, e vou chamar-lhe "look-for-food". Logo vou cortar (cut) esta seccao... escrever uma nova linha de procedimento ("to look-for-food") e cola-la. Regresso ao procedimento "go", e insiro "if else return-to-nest? false" entao "look-for-food" (procura por comida) e consequentemente, se "return-to-nest" e verdadeiro, entao "[return-to-nest]" (regressa ao ninho). E ainda nao escrevemos este procedimento "return-to-nest", que e o que vamos fazer. Antes de o fazer, e uma boa ideia rever o codigo para ver se cometemos algum erro ate agora. Carrego em "check" e aqui diz-nos que ainda nao escrevemos "return-to-nest". Mas tambem dei conta que me esqueci to simbolo de igual (=) nesta linha, logo vou adiciona-lo. Escrevemos o procedimento "to return-to-nest" para isto vamos simplesmente escrever "face patch 0 0" (a origem) e "fd 1". E issto vai fazer com que qualquer forminga que tenha "return-to-nest" verdadeiro se vire para a origem e tome um passo nessa direccao. E depois queremos dizer-lhe para ir procurar comida outra vez se estiver no ninho entao "if pcolor = orange", que quer dizer que voltou a casa, pomos "set return-to-nest? false" porque ja la esta fechamos o parenteses... end. Ate agora nao temos nenhuma formiga que tenha um "return-to-nest" verdadeiro obviamente que temos de fazer isso... assim que tenham comido, fazemos "set return-to-nest? true". Revemos o codigo... esta bem, voltamos a interface, "Setup" e depois carrega em "Go". E ha bastantes formigas, e dificil ver o que fazem, entao reduzimos o numero de formigas, tentar de novo. E pomos um pouco mais lento, podemos ver que as formigas estao a portar-se como deveriam. Comem a sua comida e regressam ao ninho antes de voltarem a sair. Podiamos mudar a cor de volta para vermelho, para ser mais obvio, mas vamos deixar isso para mais tarde.