APÊNDICE A • 116
// Mostra nesta célula do PictureBox a imagem do robô.
if (((Caminhos)CaminhosBusca[l]).caminho == "PtoInicial")
ge.DrawImage(imgRobo, ((Caminhos)CaminhosBusca[l]).x,
((Caminhos)CaminhosBusca[l]).y);
// Mostra nesta célula do PictureBox uma imagem que representa o
// robô em um novo ponto de busca.
else if (((Caminhos)CaminhosBusca[l]).caminho == "NovoCaminho")
ge.DrawImage(imgRoboEstr, ((Caminhos)CaminhosBusca[l]).x,
((Caminhos)CaminhosBusca[l]).y);
// Mostra a imagem de uma estrela com fundo azul, que representa
// o caminho percorrido no mapeamento da Área de Exploração.
else
ge.DrawImage(imgEstrelaBusca, ((Caminhos)CaminhosBusca[l]).x,
((Caminhos)CaminhosBusca[l]).y);
}
// Mostra na Área de Exploração do robô o melhor caminho encontrado.
for (l = 0; l < pathDados.GetLength(1) - 1; l++)
{
// Mostra nesta célula a imagem de uma estrela pela metade com o
// fundo verde, que representa uma célula percorrida tanto no
// melhor caminho como no mapeamento do ambiente.
if (mtzOculta[pathDados[numRobo, l, 0] / celula,
pathDados[numRobo, l, 1] / celula] == caminho ||
mtzOculta[pathDados[numRobo, l, 0] / celula,
pathDados[numRobo, l, 1] / celula] == pontoVisao)
ge.DrawImage(imgEstrMelhorMeia, pathDados[numRobo, l, 0],
pathDados[numRobo, l, 1] + celula / 2 - 1);
// Mostra nesta célula a imagem de uma estrela com fundo verde,
// que representa o melhor caminho.
else
ge.DrawImage(imgEstrelaMelhor, pathDados[numRobo, l, 0],
pathDados[numRobo, l, 1]);
}
// Mostra nesta célula do PictureBox a imagem de que o robô chegou
// ao seu objetivo.
ge.DrawImage(imgRoBola, pathDados[numRobo, l, 0],
pathDados[numRobo, l, 1]);
}
.....
A.46 - Atualiza a Área de Visualização do robô.
.....
// Cria um objeto que contém métodos relacionados a elementos gráficos.
Graphics gv = e.Graphics;
// Traça as linhas que separam as células na Área de Visualização.
for (int i = celula - 1; i < altVisual; i += celula)
gv.DrawLine(p, 0, i, largVisual, i);
for (int i = celula - 1; i < largVisual; i += celula)
gv.DrawLine(p, i, 0, i, altVisual);
base.OnPaint(e);
.....