Commit Inicial.

Adicao da especificacao do trabalho The Lord of Strategy, para a
disciplina Metodos de Programacao.
Comeco da logica que ira fazer o scroll no mapa.

Foi adicionado ao projeto um código-fonte simples feito para testar como o
terminal reage a um tipo basico de scroll. Foram usadas funcoes basicas da
ncurses para tal.

Esse codigo gera uma matriz muito maior do que o tamanho esperado de uma tela e
imprime o que cabe dela no terminal. E, com as teclas "a", "s", "d", "w" e'
possivel dar scroll de uma posicao por vez nas 4 direcoes.
Inclusao de um gitignore para o projeto.

Esse arquivo tem como objetivo impedir outros arquivos ou executaveis
desnecessarios de serem adicionados em commits. Por enquanto ele so' ignora
arquivos temporarios que o editor vim gera.
Inclusao de ASCII art.

Alguns arquivos texto foram adicionados ao projeto e possivelmente serao usados
na interface do jogo.

Parte deles foi feita/adaptada para serem personagens do jogo, por isso alguns
enquadram-se em um padrao de tamanho (10 a 15 de altura e largura 19).

Possiveis personagens de Mordor: dwarf.twt, goblin.txt, orc.txt e troll.txt
Possiveis personagens das racas-livres: elf.txt, ent.txt, hobbit.txt e dwarf.txt
Inicio da construcao do mapa do jogo.

Foras criadas e adicionadas ASCII art da casa do Frodo e da torre de Mordor,
artes essas que provavelmente farao parte do mapa final do jogo.

Usando esses arquivos textos de arte e a logica utilizada em scroll_test.c,
foi iniciada a contrucao do mapa em um codigo fonte denominado create_map.c.

Esse codigo gera um mapa que contem na extremidade esquerda a casa do Frodo e na
extremidade direita a torre de Mordor. Para navegar horizontalmente no mapa
usa-se um scroll simples (anda uma coluna por vez), controlado pelas teclas "a"
e "d".
Correcao que impede tentativa de gerar mapa em terminal muito pequeno.

Foi adicionada uma condicional que testa se o terminal do usuario tem altura
suficiente pra comportar o mapa.
Criacao de um modulo de interface.

O codigo-fonte que criava um mapa simples foi melhorado e as funcoes contidas
nele foram reorganizadas em um novo modulo que tem como objetivo agrupar funcoes
responsaveis pela interface do jogo.
Inclusao de um makefile e atualizacao do gitignore.

Para facilitar a compilacao do projeto, que agora ja tem um modulo, foi criado
um makefile que cria objetos interface.o e create_map.o e com eles gera um
executavel nomeado test.

Desta forma, o gitignore do projeto foi atualizado, para evitar tanto os objetos
quanto o executavel de serem desnecessariamente adicionados em um commit.
Correcao do scroll do mapa.

Antes a logica do scroll nao levava em consideracao o caso da largura do
terminal ser menor que a largura do mapa, o que causava um bug quando essa
situacao ocorria. Agora o programa proibe o scroll quando nao ha necessidade
(quando o mapa todo ja cabe na tela).
Alteracao/remocao de algumas das ASCII art.

Os arquivo texto que contem ASCII art dos personagens foram modificados para
manterem um mesmo padrao de tamanho (altura 15, largura 19).

Alem disso, arquivos textos com artes que nao serao utilizados foram deletados
(eye_of_sauron.txt, hobbit2.txt, hobbit3.txt, hobbit4.txt).

Por fim, foi adicionado um race_blank.txt, que servira como uma matriz "nula"
a qual sera usada para apagar personagens do mapa.
Inclusao de um novo modulo base e reorganizacao do projeto.

Foi criado um modulo que servira de base para o programa (basis.c e basis.h).
Algumas das funcoes e definicoes que estavam no modulo da interface e que nao
pertenciam a logica da interface foram transportadas para esse novo modulo.

Alem disso, essa base agora define um novo tipo unit (estrutura que guarda os
atributos dos personagens) e possui uma funcao pra inicializar atributos
conforme a raca do personagem.

Em complemento a logica pensada para os personagens no modulo base, agora o
modulo da interface gera matrizes inicializadas com os desenhos em ASCII art
das racas e possui funcao para imprimir o personagem conforme sua raca e
sua posicao.
Atualizacao do makefile e alteracao da arte do hobbit.

O makefile foi atualizado para incluir na compilacao o modulo base, gerando
assim um objeto basis.o que tambem sera utilizado para gerar o executavel.

Outra pequena alteracao que foi feita foi uniformizar o arquivo hobbit.txt,
deixando todas as linhas com a mesma quantidade de colunas.
Adicao de novas estruturas e atualizacao do scroll.

Foram adicionadas novas estruturas que serao usadas para organizar as
informacoes do jogo:
	build: estrutura que contera as informacoes de cada construcao geradora
	de recursos que sera usada no jogo tanto pelo jogador quanto pelo
	computador.

	fortress: estrutura que contera as informacoes das fortalezas tanto do
	jogador quanto do computador.

	player: estrutra que contera as informacoes do atual estado do jogador
	ou do computador.

Alem disso a largura do mapa aumentou de 300 para 1530 e, para facilitar, o
scroll aumentou de 2 para 9 colunas percorridas por vez.
Atualizacao da logica que compoe o mapa do jogo.

Foram atualizadas as funcoes que imprimem os personagens e o mapa na tela, de
modo que os personagens agora sao inseridos na matriz do mapa. As posicoes
iniciais dos personagens estao nas portas das fortalezas a que pertencem.
Adicao da funcao que limpa a antiga posicao do personagem.

Foi adicionada uma funcao que limpa da matriz do mapa a posicao antiga que um
personagem esteve. Ela tambem recupera o desenho de alguma construcao que foi
sobreposta por algum personagem.

Para testar se ela funciona, a create_map foi modificada e agora imprime
alternadamente no mapa um personagem de cada raca.
Criacao de um modulo logico.

Foi criado um modulo logico para o projeto (logic.c e logic.h). Esse modulo tem
como proposito conter as funcoes e macros que fazem a logica do jogo.

Algumas funcoes que estavam nos outros dois modulos mas nao encaixavam com o
proposito deles (desempenhavam funcoes logicas) foram mudadas de lugar.
Atualizacao do makefile.

O makefile foi novamente atualizado para que inclua no processo de compilacao o
modulo logico. Agora tambem e' gerado um objeto desse modulo que o makefile usa
para gerar o executavel test.
Criacao da logica de movimentacao dos personagens.

Foi criado e implementado, no modulo logico, uma funcao de movimentacao dos
personagens.
Atualizacao do modulo de interface.

O modulo de interface agora contem funcoes que inicializam com mais detalhes a
interface e que podem gerar/deletar WINDOWs.
Inicio da logica que ira compor o menu inicial.

Foram feitas ASCII art para o menu e criadas funcoes que usam os arquivos texto
que contem essas artes para imprimir uma tela de menu inicial com opcoes
"New Game", "Load Game" e "Exit" (as opcoes ainda nao fazem nada). Para estar
as funcoes e gerar o menu foi criado um codigo-fonte "menu.c".

Para testar, modificar o makefile, mudando o "create_map.o" para "menu.o".