next up previous
Next: Jogo Num Ambiente de Up: Carregar Mundo Virtual de Previous: Carregar Mundo Virtual de

Um Empurrão com essa História de XML

Uma ``solução incompleta'' para a parte de XML está disponível na página de MAC-212. Essa solução inclui os arquivos world.xml (uma descrição de um mundo virtual muito simples) e world.dtd (uma pequena DTD com as regras de descrição do mundo), que você pode usar como modelos para construir um mundo virtual mais elaborado. Ela também inclui novas versões das classes fornecidas como empurrão inicial para o primeiro exercício programa (br.usp.ime.mac212.adventure.Place, br.usp.ime.mac212.adventure.Main e br.usp.ime.mac212.util.Console), bem como a classe br.usp.ime.mac212.util.XML, que é uma classe auxiliar útil para fazer leitura de arquivos XML. Essa ``solução incompleta'' é muito parecida com a que foi fornecida para o primeiro exercício programa. Há, no entanto, uma importante diferença: o programa principal agora lê o mundo virtual do arquivo world.xml, que pode ter sido escrito por uma pessoa sem conhecimentos de programação.

Sua primeira tarefa é estudar e rodar a ``solução incompleta''. Entenda bem a DTD fornecida, pois você precisará alterar as regras de descrição de mundo para permitir que lugares tenham coisas, personagens, etc. Experimente mexer no arquivo world.xml e tornar inválida a descrição do mundo. Adicione um tag não previsto nas regras de descrição, ou ``esqueça'' um tag de fechamento de elemento, ou omita um elemento obrigatório, como o nome que precisa aparecer dentro de um lugar. Veja como o programa reclamará se um criador de jogos distraído fizer alguma besteira.

Note que as classes fornecidas como ``empurrão inicial'' não fazem o salvamento do estado do jogo num arquivo nem a restauração do estado do jogo de um arquivo. A versão do programa que você entregará deve ler um argumento da linha de comando ou interagir com o usuário de algum modo para saber se o usuário quer um jogo novo ou quer continuar um jogo que ele salvou antes. Se for jogo novo, o programa lê o arquivo XML com a descrição do mundo e cria um mundo virtual novo. Se for continuação de jogo salvo, o programa lê o estado do jogo de um arquivo especificado pelo usuário. Neste caso o arquivo XML nem será lido, pois todo o mundo virtual será restaurado a partir do arquivo com o estado do jogo.


next up previous
Next: Jogo Num Ambiente de Up: Carregar Mundo Virtual de Previous: Carregar Mundo Virtual de
Francisco Reverbel
2002-05-10