Projeto

Geral

Perfil

Criando novas Skills Tactics e Plays » Histórico » Versão 3

Lucas Germano, 26/06/2019 04:16 h

1 1 Lucas Germano
# Criando novas Skills Tactics e Plays
2
3
Para este exemplo utilizaremos o exemplo do goleiro, que é o que estou adicionando no código atualmente. Primeiramente devemos criar todas as skills necessárias, para isso deve-se basear na classe TestSkill que já está implementada no projeto.
4
5
Uma skill deve entrar e sair a referência para o objeto da classe e deve entrar e sair o robô relativo à execução daquela skill. Outros parâmetros de entrada podem ser adicionados como queira, como o Game, por exemplo. As skills devem setar no objeto robô que está saindo os atributos que ela irá mudar (dest_x, dest_y e dest_orientation caso deseje-se que o robô mude de posição).
6
7
Exemplo de uma skill do goleiro:
8
9
![](picture307-1.png)
10
11
Agora todas as skills devem ser adicionadas no Skillbook. Skillbook antes de ser adicionadas as novas skills:
12
13
![](picture307-2.png)
14
15 2 Lucas Germano
1 - Agora adicionando as 3 skills do goleiro:
16 1 Lucas Germano
17
![](picture307-3.png)
18
19 2 Lucas Germano
2 - Agora devemos criar os métodos de acesso de cada skill adicionada:
20 1 Lucas Germano
21
![](picture307-4.png)
22
23 2 Lucas Germano
3 - Seleciona-se todos os atributos e clica em create (lembrando de marcar a opção de ficar disponível pelos property nodes:
24 1 Lucas Germano
25
![](picture307-5.png)
26
27 2 Lucas Germano
4 - Depois disso salve os métodos de acesso e feche a janelas que o Labview abre, ou seja, aperta na sequência: ctrl + s, enter, ctrl + w (para cada janela aberta)
28 1 Lucas Germano
29 3 Lucas Germano
Para criar uma Tactic, baseie-se na TestTactic, que já está implementada no projeto. Basicamente você terá uma máquina de estado, que após cada estado, será calculado qual será o próximo estado. Lembre-se que a primeira escolha de estado deve-se feita a parte, ou seja, ela só deve ser executada na primeira vez que aquela tactic for utilizada naquela play.
30
31 2 Lucas Germano
5 - Repita os passos de 1 a 4 para a Tactic, utilizando o Tacticbook.
32 1 Lucas Germano
33 2 Lucas Germano
6 - Adicione a play na categoria correta do Playbook
34 1 Lucas Germano
35
![](picture307-6.png)
36
37 2 Lucas Germano
7 - Os métodos de acesso (read/write) da categoria que você adicionou a play agora estão quebrados, corrija-os apagando os controls ou indicators e criando um novo
38 1 Lucas Germano
39
![](picture307-7.png)
40
41
42
![](picture307-8.png)
43
44 2 Lucas Germano
8 - Abra o typeDef do enum da categoria que você adicionou a play e adicione o nome da play (nesse caso, adicionar um item com nome "KeeperPlay" no enum de KeeperPlay)
45 1 Lucas Germano
46
![](picture307-9.png)
47
48 2 Lucas Germano
9 - Adicione as roles criadas no Rolebook
49 1 Lucas Germano
50
![](picture307-10.png)
51
52 2 Lucas Germano
10 - Crie métodos de acesso (write/read) para a role adicionada