1 Introdução. 2 Funcionamento da Aplicação. Projeto de Programação - Entrega Final MEEC - 2012/2013-2.Semestre Farm:TamagoISTi

Documentos relacionados
Como produzir e publicar uma apresentação online dinâmica (Prezi)

Como Fazer um Vídeo no Windows Live Movie Maker

Programação 2ºSemestre MEEC /2011. Programação 2º Semestre 2010/2011 Enunciado do projecto

DotNetNuke. Gestão de Conteúdos. Módulos - II. Inserção de conteúdos nos módulos. Módulo de Text/HTML. Módulo de Sre-Notícias. Módulo de Sre-Formação

1 Code::Blocks Criação de projetos

AULA 14 Plugin TerraEdit

ZS Rest. Manual Profissional. BackOffice Mapa de Mesas. v2011

Introdução aos Sistemas Informáticos

Visão Artificial Para a Indústria. Manual do Utilizador

Programação 2009/2010 MEEC MEAer

Manual de Transição TWT Sítio de Disciplina para Moodle 2.6

Manual do Utilizador. Janeiro de 2012.

Tabelas vista de estrutura

Criar um formulário do tipo Diálogo modal ; Alterar a cor de fundo de um formulário; Inserir botões de comando e caixas de texto;

Descrição da aplicação

Projecto de Programação MEEC /2011-1ºSemestre. Mestrado Integrado em Engenharia Electrotécnica e de Computadores

Manual do KGeography. Anne-Marie Mahfouf Kushal Das Tradução: Luiz Fernando Ranghetti

KF2.4 MANUAL DE UTILIZADOR

Neste tópico, veremos como selecionar e copiar informações entre bancos de dados de empresa no SAP Business One.

Gestor de Janelas Gnome

Sistema de Gestão de Ciclo de Vida de Farmácias & Gestão de Ciclo de Vida de Locais de Venda MNSRM AVP003 Manual de Utilizador Externo - Comunicação

MANUAL DE UTILIZAÇÃO. EcclesiaSoft v.01

Como enviar e receber correio eletrónico utilizando o Gmail

[EIC0110] Concepção e Análise de algoritmos Trabalho de Grupo 2: Tema 4. Auto-Complete. Turma 3 Grupo 13. Maio de 2011

Carrera Pessoal Guia de uso

GESTÃO DE INFORMAÇÃO PESSOAL OUTLOOK (1)

Manual de Utilizador. Caderno. Recursos da Unidade Curricular. Gabinete de Ensino à Distância do IPP.

Manual para criar actividades com o Jclic. Versão 1.0. Manual de Luís Vives Traduzido e adaptado por. Milena Jorge

Como criar, editar e finalizar um vídeo (Animoto)

O Windows também é um programa de computador, mas ele faz parte de um grupo de programas especiais: os Sistemas Operacionais.

MS PowerPoint. O que é? Gestão Comercial e da Produção

Manual do Skanlite. Kåre Särs Anne-Marie Mahfouf Tradução: Marcus Gama

PROGRAMAÇÃO DE MICROPROCESSADORES 2011 / 2012

Acessos Convergentes. Manual de Configuração e Utilização

UNIVERSIDADE FEDERAL DO AMAPÁ PRÓ REITORIA DE ADMINISTRAÇÃO E PLANEJAMENTO DEPARTAMENTO DE INFORMÁTICA. Manual do Moodle- Sala virtual

Squeak Componente Livro. Luís Valente, 2009

Superintendência Regional de Ensino de Ubá - MG Núcleo de Tecnologia Educacional NTE/Ubá. LibreOffice Impress Editor de Apresentação

Trabalho 3: Agenda de Tarefas

Programação em papel quadriculado

Portal do Projeto Tempo de Ser

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

Manual de apoio à plataforma de candidaturas a cursos de mestrado e pós-licenciatura

Instituto Superior Técnico Licenciatura em Engenharia Informática e de Computadores. Projecto de. Arquitectura de Computadores.

Openshot Video Editor Instalação e Configuração

Como fazer uma pesquisa de Imagens

Instalar uma versão do Ubuntu de 32 bits ou de 64 bits?

,QWURGXomRDR(GLWRUGH $SUHVHQWDo}HV3RZHU3RLQW

Capítulo 2. VARIÁVEIS DO TIPO INTEIRO

Guia de Utilização Gestão de Mensagens Fornecedor Janeiro 2010 PLATAFORMA ELECTRÓNICA VORTAL

Mini-Projecto de PAII Ano Lectivo 2000/01

1. Os caracteres (p.ex: a, A, 8,!, +, etc) são representados no computador através da codificação ASCII (American Standard Code for

Importação de Ficheiros SAFT

Folha de Cálculo Introdução à Folha de Cálculo

Exemplo de aplicação Car Parking 1in1out

PowerPoint Operações básicas, criação de uma apresentação, edição e formatação, inserção de gráficos e desenhos

7. Gestão de ficheiros em X Window O Konqueror

, Todos os programas, Microsoft Office PowerPoint. Através de um atalho que poderá estar no Ambiente de Trabalho

MDI Facturação Alterações Fiscais DL 197 e 198 de 24 de agosto de 2012

Manual do InCD Reader

Conceitos básicos da linguagem C

Formador: Carlos Maia

Centro de Competência Entre Mar e Serra. Guia

ESCOLA EB2,3/S Dr. ISIDORO DE SOUSA

MICROSOFT ACCESS MICROSOFT ACCESS. Professor Rafael Vieira Professor Rafael Vieira

IRISPen Air 7. Guia rápido. (Windows & Mac OS X)

Manual do Utilizador. Manual do Utilizador Modelo10 no sisgep. Data última versão: Versão : 1.2. Data criação:

Curso destinado à preparação para Concursos Públicos e Aprimoramento Profissional via INTERNET INFORMÁTICA AULA 11

Conselho Geral da Ordem Dos Advogados Departamento Informático

WEBGIS Sistema Informativo Territorial

Capítulo 6 Movimentos

GUIA RÁPIDO DO e-livro. Iniciando

Painel de Navegação Para ver o Painel de Navegação, prima CTRL+F. Pode arrastar os cabeçalhos dos documentos neste painel para reorganizá-los.

Filas: conceitos e implementações

INFORMÁTICA BÁSICA. Word. Professor: Enir da Silva Fonseca

Tutorial ConvertXtoDVD 3

ÍNDICE. Tela de Configuração Dados de Etiqueta Configuração da Impressora Configuração do Papel Itens para Inserção...

Explodindo montagens

O QUE É A CENTRAL DE JOGOS?

Manual de operação do sistema Desenhador Geográfico. 05/2012 Versão

Guia rápido de criação e gestão de um espaço no SAPO Campus

Trabalho Prático 1 Tipos Abstratos de Dados

Manual do Usuário ipedidos MILI S.A. - D.T.I.

Aoentrar na sua cx de vc terá uma tela como a abaixo :

TRABALHO PRÁTICO Nro. 02 (Atualizado em 29/10/2008)

Alguns truques do Excel. 1- Títulos com inclinação. 2- Preencha automaticamente células em branco

Guia de utilização da notação BPMN

Manual do Gestor da Informação do Sistema

Tutorial :: Introdução ao VHDL em ambiente Design Works

Introdução. Introdução. Objetivos da Aula. Bases Computacionais da Ciência(BC-0005)

Usando o Conference Manager do Microsoft Outlook

Akropole Catequista. Todos os Ficheiros no Akropole Catequista trabalham com uma simples barra de edição, com 4 botões:

MANUAL DA SECRETARIA

Instruções de Instalação

Bem-vindo ao curso delta Gerenciamento de peso para a versão 9.1. Este curso aborda a nova solução de peso introduzida nessa versão.

Boletim Eletrônico de Recolhimento Manual do Sistema. Boletim Eletrônico de Recolhimento. Manual do Sistema

Programação III / Estruturas de Dados. Enunciado do Trabalho Prático

Tutorial Gerar arquivo PDF. Gerando um documento pdf com várias imagens 1- Inserir imagem no Word

OpenOffice Calc Aula 4

Google Sites. A g r u p a m e n t o C a m p o A b e r t o /

Transcrição:

Projeto de Programação - Entrega Final MEEC - 2012/2013-2.Semestre Farm:TamagoISTi 1 Introdução Tamagotchi foi um dos primeiros animais de estimação virtuais, extremamente popular no final do último século e o Farmville é uma das sensações que assolam o Facebook hoje. O projeto de Programação consistirá na implementação de uma quinta de animais de estimação virtuais cada um semelhante ao Tamagotchi, uma quinta de TamagoISTi. Neste projeto final, pretende-se que os alunos desenvolvam uma quinta de animal de estimação virtuais com as seguintes funcionalidades: Mostra no ecrã o estado de um animal Alimentar e exercitar o animal apresentado no ecran Selecionar outro animal a mostrar Alimentar ou exercitar todos os animais da quinta. Criar novos animais A quinta permitirá a existência de animais de diversas espécies com ritmos de crescimento e emagrecimento diferentes. 2 Funcionamento da Aplicação O sistema a implementar poderá ser dividido em três grandes módulos: Quinta Display Backup O módulo Quinta armazena numa lista os diversos animais virtuais, sendo armazenando o estado de cada animal e alterando-o com base nos comandos recebidos do Display. Através do Display será possível selecionar um animal, apresentar e observar o seu estado e executar ações (por exemplo, alimentar ou exercitar os animais). Também será através desta interface que se poderá sair da aplicação.

O módulo de backup permite gravar o estado dos animais e relê-lo no início da aplicação. 2.1 Quinta Na versão Final do Projeto, os animais simulados deverão ser armazenados numa lista. Cada animal armazenado na lista pertence a uma espécie diferente, mas continua a poder executar duas ações (alimentar e exercitar). Dependendo da espécie, assim cada ação terá um efeito diferente no animal. O estado de cada animal passa a ser composto pelo nome, peso, estado de saúde e espécie. Durante a execução da aplicação é necessário armazenar informação acerca das diversas espécies possíveis: nome da espécie, parâmetro de aumento de peso (quanto peso os animais dessa espécie aumentam quando comem), e parâmetro de diminuição de peso ( quanto peso os animais dessa espécie diminuem quando se exercitam). O número máximo de espécies é 10. O estado de cada animal continua a seguir as seguintes regras: O peso varia entre 0 e 100. Cada animal nasce com 50 unidades de peso. Se o peso de um animal estiver a cima dos 75 esse animal é obeso Se o peso de um animal estiver a baixo de 25 esse animal está sub-nutrido Quando um animal atinge 0 ou 100 unidades de peso, morre As ações de alimentar e exercitar um animal dependem da sua espécie: Alimentar um animal aumenta o peso em X unidade (parâmetro de aumento de peso da espécie) Exercitar o animal diminui o peso em Y unidade (parâmetro de diminuição de peso da espécie) A passagem de tempo continua a afetar o estado dos animais: Quando um animal está obeso e passam duas unidades de tempo sem se exercitar, este engorda X unidades (parâmetro de aumento de peso), mesmo que não coma. Quando um animal está sub-nutrido e passam duas unidades de tempo sem se alimentar, este emagrece Y unidades (parâmetro de diminuição de peso), mesmo que não se exercite. No início da aplicação deverá ser lido um ficheiro (chamado especies.txt)com as caraterísticas das diversas espécies. 2.2 Display A disposição do display mantêm-se a mesma da entrega intermédia, sendo apenas adicionados o seguintes comandos: Seleção do anima a apresentar Alimentação de todos os animais Exercitar todos os animais Criação de novo animal O display apresentará o animal selecionado: o seu nome, o seu estado, e permitirá o realização de

exercício ou alimentação desse animal. Na parte correspondente à apresentação do animal, deverá ser representado o estado de saúde do animal (sub-nutrido, normal, ou obeso) através de três imagens diferentes (uma para cada estado e dependente da espécie). O peso deverá ser representado por uma barra. A barra correspondente ao peso do animal, deverá ter um comprimento proporcional ao peso. Se o animal estiver sub-nutrido ou obeso a barra deverá ser encarnada, caso contrário deverá ser verde: Diabo sub-nutrido Diabo normal Diabo obeso Os botões de controle permitirão alimentar ou exercitar o animal apresentado e sair da aplicação. De modo a selecionar o animal apresentado no ecrã o utilizador deverá usar as teclas do cursor (direta e esquerda) de modo a navegar na lista de animais. Se o utilizador carregar na tecla A, todos os animais da quinta serão alimentados. Se o utilizador carregar na tecla E, todos os animais da quinta serão exercitados. Quando o utilizador carrega na tecla N, deverá ser criado e inserido na lista um novo animal. Sempre que for realizada uma ação (alimentação, exercício ou criação) Deverá ser escrito na consola (usando printfs) o estado de todos os animais vivos (nome, espécie e peso). A imagem apresentada depende do estado do animal (normal, magro, obeso) e da sua espécie (ver secção 5). 2.2.1 Avisos No display também serão apresentados avisos acerca do estado global da quinta, sob a forma de uma marca que muda de cor: Sempre que um animal passa para o estado subnutrido ou obeso,deverá se apresentada no ecrã e durante 2 segundos uma marca amarela. Se o número de animais obesos ou subnutridos for menor do que um terço do numero total, deverá ser apresentada no ecrã uma marca verde. Sempre que mais de um terço dos animais estejam obesos ou subnutridos, deverá ser apresentada no ecrã uma marca cor de laranja. Sempre que mais do que dois terços dos animais estejam obesos ou subnutridos, deverá ser apresentada no ecrã uma marca vermelha. 2.3 Backup

De modo a permitir a interrupcao do jogo, o estado dos animais deverá ser armazenado num ficheiro chamado animal.txt Quando o utilizador carrega no botão sair, o ficheiro animal.txt deverá ser atualizado com o estado de todos os animais vivos. Quando se executa a aplicação, esse ficheiro (animal.txt) deverá ser lido e com base na sua informa,cão a lista de animais deverá ser reconstruida. Se, aquando do início da aplicação, o ficheiro animal.txt não for encontrado, o programa executa-se normalmente, mas com a quinta vazia. 3 Criação de novo animal Aquando da criação de um novo animal, deverá ser lida do teclado a informação desse animal: nome espécie O peso do animal recém nascido será de 50 unidades. 4 Morte de um animal Quando um animal morre (porque o seu peso chegou a 0 ou 100) deverá ser eliminado da lista. 5 Espécies A informação referente ao comportamento das espécies encontra-se especificada num ficheiro chamado especies.txt. Cada linhas deste ficheiro contêm a informação e caraterísticas de uma espécie: nome (uma palavra) parâmetro de aumento de peso parâmetro de diminuição de peso Estas características das espécies serão usadas aquando da alimentação e exercício dos diversos animais. O ficheiro especies.txt contem no máximo 10 espécies. O ficheiro especies.txt deverá ser lido no arranque da aplicação. As imagens a usar na representação de um animal devem existir na mesma diretoria do executável e os seus nomes seguem o seguinte formato: especie-normal.bmp especie-obeso.bmp especie-magro.bmp Apresenta-se de seguida um exemplo do ficheiro especies.txt: diabo 10 10 koala 1 1

canguru 5 10 Com base nesta informação, por exemplo, sempre que um canguru se alimenta ganha 5 unidade de peso, enquanto que quando de exercita, perde 10. Para estas espécies deverão existir os seguintes ficheiros: diabo-normal.bmp diabo-obeso.bmp diabo-magro.bmp koala-normal.bmp koala-obeso.bmp koala-magro.bmp canguru-normal.bmp canguru-obeso.bmp canguru-magro.bmp 6 Passagem do tempo De modo a a simplificar a implementação do projeto, a passagem de tempo será simulada carregando na tecla de espaço. O programa tratará este evento como se da passagem de tempo se tratasse. 7 Implementação A realização da entrega final é em grupo de 2 alunos e será implementada na linguagem C, tal como descrita no livro The C Programming Language - The ANSI edition. 7.1 Elementos gráficos Na parte gráfica será utilizada a biblioteca SDL ( http://www.libsdl.org) para a apresentação de imagens numa janela e leitura dos cliques do rato. A janela gráfica da aplicação deverá ter o tamanho 800x600 pixeis. Nessa janela serão desenhados os botões, a barra de peso e as representação de um animal. Cada grupo deverá escolher um e usar os diversos ficheiros gráficos (botões, barra, animal) já criados para a entrega intermédia. A organização da janela poderá ser diferente dos exemplos apresentados. 7.2 Armazenamento dos animais Os alunos devem guardar os animais numa lista, implementando funções para todas as funcionalidades necessárias (por ex: inserir novo elemento na lista, remover elemento da lista), alocando memória dinamicamente à medida que criam novos animais, e libertando a memória respetiva quando um animal morre. 7.3 Armazenamento das espécies As características das espécies poderão ser armazenadas num vetor. 8 Desenvolvimento da entrega final Sugere-se um desenvolvimento faseado do projeto, devendo os alunos garantir que todas as funcionalidades codificadas até esse momento se encontram a funcionar corretamente. É preferível um programa que implementa poucas funcionalidades, mas que funcionam corretamente, do que um programa totalmente desenvolvido mas que não corre. Os alunos deverão seguir a seguinte ordem:

1. Definir o tipo de dados para armazenar um animal 2. Definir o tipo de dados para armazenar todos os animais 3. Criação de animais e armazenamento na lista 4. Seleção do animal a apresentar no ecran 5. Alimentação e exercício do animal apresentado 6. Apresentação na consola do estado de todos os animais 7. Definir o tipo de dados para armazenar uma espécie 8. Definir o tipo de dados para armazenar os dados das espécies 9. leitura e armazenamento dos dados das espécies 10. Passagem de tempo 11. Alimentação de todos os animais 12. Exercício de todo os animais 13. Deteção da morte de um animal na lista 14. Eliminação dos animais mortos 15. Apresenta,cão das marcas de estado da quinta 16. Leitura e escrita do ficheiro de backup 9 Codificação É fundamental o uso consistente de um estilo de formatação e indentação do código (indentação, posicionamento das chavetas, nomes dos identificadores). Este deve ser escolhido pelos alunos, mas consistente em todo o projeto. Existem diversas variações da linguagem C. Aquela que deve ser usada é a apresentada nas aulas teóricas e descrita no livro The C Programming Language - The ANSI edition. O compilador a usar na execução do projeto é o gcc com as opções -Wall -ansi, em ambiente Linux. Projetos que não compilem quando usando as opções anteriores, i.e. que tenham erros de sintaxe, não serão avaliados. A existência de avisos durante a fase de compilação poderá ser indício da existência de problemas no código. Estes deverão ser eliminados corretamente ou ignorados com cuidado. O código produzido pelos alunos deverá ser comentado. Os comentários presentes no código deverão explicitar e explicar o funcionamento da aplicação assim como as decisões tomadas. Para além dos comentários, sugere-se o uso de nomes de variáveis e funções que explicitem o seu uso (para maior legibilidade do código). Como em qualquer projeto de informática, o funcionamento do programa não está totalmente definido no enunciado, existindo algumas ambiguidades e omissões. Para resolver essas omissões os alunos deverão tomar algumas decisões aquando do desenvolvimento do projeto. Estas decisões devem ser fundamentadas, sem nunca ir contra o definido no enunciado. 10 Submissão do código A data limite para entrega do código do Projecto Final é dia 17 de Maio. O nodo de entrega do

Projeto será anunciado mais próximo do prazo. 11 Avaliação da entrega final A avaliação do projeto terá em conta diversos parâmetros: Funcionalidades implementadas Qualidade do código produzido Estruturação da aplicação Comentários e legibilidade do código Tratamento de erros Para a obtenção da nota mínima (10 valores é necessário) a implementação do seguinte, para um animal sem espécie definida: Definir o tipo de dados para armazenar um animal Definir o tipo de dados para armazenar todos os animais Criação de animais e armazenamento na lista Seleção do animal a apresentar no ecrã (cursor direito) Alimentação e exercício do animal apresentado Apresentação do estado de todos os animais