This repository has been archived by the owner on Aug 10, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path12.01-Projeto
61 lines (51 loc) · 2.22 KB
/
12.01-Projeto
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
Fase 1
-----------------------------------------------------------------------
- Montador (Assembler)
- Máquina Virtual de teste
Fase 2 - Ideias
-----------------------------------------------------------------------
Montador (Perl) -> Java
+
Máquina Virtual em Java
Máquina virtual
-> Vetor de instruções (programa)
-> Pilha de dados
-> Vetor de memória
Instrução -> classe (código operando)
Dado -> Empilhável
.-------------------------------.
| * & 0 | 0 - base
| * * & | & - robô
| & & | * - cristal
| * .--. .----|
| / | * * / | Controlado por I.A.
| / | / | |
| / | .----. '--. | '--> Programa em alto nível
| '------' '----' \ | | |
| * '--| ^ ^
| & & * | .-----. Máquina
| & * * | | * | < Virtual
| 0 & | '-----' Interna
'-------------------------------'
Fase 2 - Implementação
-----------------------------------------------------------------------
Por enquanto, implementaremos a máquina virtual interna. Como não
teremos ainda o compilador do programa em alto nível para a máquina
virtual interna. Usaremos, então,
Cenário: hexagonal
^
| / \ / \ / \ / \ / \ / \ / \
| i+1 | 0 | 1 | 2 | | | | | (2)
| \ / \ / \ / \ / \ / \ / \ /
| i | 0 | 1 | 2 | | | | (1)
| / \ / \ / \ / \ / \ / \ / \
| i-1 | 0 | 1 | 2 | | | | |
| \ / \ / \ / \ / \ / \ / \ /
*--------------------------------------->
(1) (2)
← (i,j ) => (0 ,-1) ← (0 ,-1)
↖ (i+1,j-1) => (1 ,-1) * ↖ (1 ,-1) *
↗ (i+1,j ) => (1 , 0) * ↗ (1 , 1) *
→ (i, j-1) => (0 , 1) → (0 , 1)
↘ (i-1,j ) => (-1, 0) * ↘ (-1, 1) *
↙ (i+1,j-1) => (-1,-1) * ↙ (-1, 0) *