forca
Descrição#
O exemplo a seguir mostra o processo de um jogo de forca.
Nó 1 - Sempre se inicia o processo com um nó tipo Start.
Nesse exemplo não há parâmetros pré-definidos para esse nó. Ou seja, o objeto input_schema é vazio.
Nó 2 - É um nó tipo ScriptTask. Neste nó será gerado os valores iniciais.
A palavra para jogo é sorteada entre os valores da lista words. As palavras possíveis são teste , game e example. a variável word recebe a palavra escolhida.
O contator de erros errorCount é inicializada com 0. isPrivate recebe o valor true e state é inicializado com a string let word = ' . Onde ' será a palavra sorteada porém com as letras substituída por "_".
Nó 3 - O nó 3 é tipo SystemTask categoria Set To bag.
Nesse nó as propriedades no objeto result são incluídas na bag.
São elas word, state, errorCounter e isPrivate.
- Neste nó ocorre a ação letterInput. Onde o usuário escolhe uma letra.
- A tarefa recebe da bag os valores armazenados no nó anterior.
Nó 5 - É um nó tipo ScriptTask.
Nele userInput recebe result.activies[0] e creatorId recebe bag.creatorId.
Nele roda a função que determinará o conteúdo de inputType.
Nó 6 - O nó 6 é tipo SystemTask categoria Set To bag.
Nesse nó os conteúdos de letterInput e inputType são atualizadas na bag.
Nó 7 - O nó 7 é tipo FlowNode.
Neste nó é verificado qual o conteúdo de inputType e a partir disso existem 3 possibilidades de caminhos.
- Se inputType = unauthorized ou default (não receber um valor válido) retornará para nó 4.
- Se inputType = changePermission prosseguirá para o nó 8.
- Se inputType = letterInput prosseguirá para o nó 10.
Nó 8 - É um nó tipo ScriptTask.
Altera o conteúdo de isPrivate.
Nó 9 - O nó 9 é tipo SystemTask categoria Set To bag.
Nesse nó o conteúdo de isPrivate é atualizado na bag.
Nó 10 - É um nó tipo ScriptTask.
Acessa os dados da bag e roda uma função que aumenta o contator de erro se a letra está errada.
Acrescenta a letra no indice correto em caso de acerto.
Nó 11 - O nó 6 é tipo SystemTask categoria Set To bag.
Atualiza errorCounter e state na bag.
Nó 12 - É um nó tipo ScriptTask.
Verifica o error errorCounter e state para definir o conteúdo de nextStep.
nextStep pode receber victory, defeat e continue.
Nó 13 - O nó 7 é tipo FlowNode.
Neste nó é verificado qual o conteúdo de nextStep e a partir disso existem 3 possibilidades de caminhos.
- Se nextStep = continue ou default (não receber um valor válido) retornará para nó 4.
- Se nextStep = victory prosseguirá para o nó 14.
- Se nextStep = defeat prosseguirá para o nó 15.
Nó 14 - O nó 4 é uma UserTask. Acessa o valor de state da bag e executa a ação victory.
Nó 15 - O nó 4 é uma UserTask. Acessa o valor de errorCount da bag e executa a ação defeat.
Nó 99 o nó 99 é um Finish Node encerrando o processo.