Mini-Projecto de PAII Ano Lectivo 2000/01



Documentos relacionados
Introdução à Programação B Licenciatura em Engenharia Informática. Enunciado do trabalho prático. Quem quer ser milionário? 20 de Dezembro de 2007

COMPUTAÇÃO e PROGRAMAÇÃO

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

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

2ºCiclo (5º e 6º Anos de escolaridade) 3ºCiclo (7º e 8º Anos de escolaridade)

Engenharia de Software

3.º e 4.º Anos de Escolaridade Competências Conteúdos Sugestões metodológicas Articulações

PROGRAMAÇÃO DE MICROPROCESSADORES 2011 / 2012

Trabalhos Práticos. Programação II Curso: Engª Electrotécnica - Electrónica e Computadores

Engenharia de Software Sistemas Distribuídos

Escola Superior de Tecnologia de Setúbal. Projecto Final

PLANIFICAÇÃO MODULAR ANO LECTIVO 2015 / 2016

Engenharia Informática Engenharia Electrotécnica e Computadores Programação Orientada por Objectos Projecto PlayCards

DEPARTAMENTO DE MATEMÁTICA E CIÊNCIAS EXPERIMENTAIS

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

UNIDADE 2: Sistema Operativo em Ambiente Gráfico

PLANIFICAÇÃO ANUAL DE CONTEÚDOS

UNIDADE 1 TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO

Diagrama de transição de Estados (DTE)

LeYa Educação Digital

Aplicações de Escritório Electrónico

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

Trabalho Prático de Informática/Informática e Computação

DEPARTAMENTO DE ENGENHARIA INFORMÁTICA FACULDADE DE CIÊNCIAS E TECNOLOGIA DA UNIVERSIDADE DE COIMBRA

DEIDepartamento. Programação III Engenharia Informática e Comunicações. Engenharia

UNIDADE 2: Sistema Operativo em Ambiente Gráfico

Jogo de Tabuleiro - Mancala Relatório Final

A4 Projeto Integrador e Lista de Jogos

Tecnologias da Informação e Comunicação: Sistema Operativo em Ambiente Gráfico

Laboratório de Engenharia de Software

Planificações 2012/2013. Tecnologias da Informação e Comunicação. 2ºAno. Escola Básica Integrada de Pedome. C E F Apoio à Família e à Comunidade

Planificação Anual TIC 8º Ano 2012/ PERÍODO

MICROSOFT POWERPOINT

AGRUPAMENTO DE ESCOLAS DE PORTELA E MOSCAVIDE. Informação - Prova de Equivalência à Frequência da disciplina de Aplicações Informáticas B

Planificação Anual da disciplina de TIC 9ºANO

ACTIVIDADE LABORATORIAL 1.3. SALTO PARA A PISCINA

O AMBIENTE DE TRABALHO DO WINDOWS

Configuração do Ambiente de Trabalho

OBI2014 Caderno de Tarefas

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

Manual Brother Image Viewer para Android

Guia de Estudo Folha de Cálculo Microsoft Excel

Aplicações de Escritório Electrónico

Manual de Utilizador. Disciplina de Projecto de Sistemas Industriais. Escola Superior de Tecnologia. Instituto Politécnico de Castelo Branco

Auditoria Sistemática

Modelo Lógico e Físico da Base de Dados

GereComSaber. Desenvolvimento de Sistemas de Software. Universidade do Minho Conselho de Cursos de Engenharia Licenciatura em Engenharia Informática

PROGRAMAÇÃO Microsoft WINDOWS XP

Introdução aos Sistemas Informáticos Engenharia Informática, Engenharia Mecânica, Engenharia Química, Gestão e Engenharia Industrial

Enunciado do Projecto

Prova de Aferição de Matemática

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO - TIC 10º C. Planificação de. Curso Profissional de Técnico de Secretariado

... Calendarização: 2 blocos de 90 m Metas/Objetivos Descritores Conceitos/Conteúdos Estratégias/Metodologias Avaliação

REGULAMENTO INTERNO DO CENTRO DE DOCUMENTAÇÃO

Introdução aos Algoritmos e Estruturas de Dados 2011/2012

Como Começar? Criação Páginas. Etapas. Apresentação INTERNET

Manual de instruções BIOMUDA

PLANIFICAÇÃO ANUAL ANO LETIVO DE 2013/2014 Curso de Educação e Formação Tipo 3 Nível 2

A VISTA BACKSTAGE PRINCIPAIS OPÇÕES NO ECRÃ DE ACESSO


Programa de Parcerias e Submissão de Propostas 2014/15

9º Ano. 1º Período. . Conhecer os conceitos básicos relacionados com a Tecnologias Da Informação e Comunicação (TIC);

Curso de Licenciatura em Engenharia Informática Cadeira de Algoritmia

Cada cliente, necessariamente, sempre deve estar conectado a um Broker, e somente um;

TIC Unidade 2 Base de Dados. Informação é todo o conjunto de dados devidamente ordenados e organizados de forma a terem significado.

Relatório de Estágio

Planificação Semestral. Informação. Planificação da Disciplina de Tecnologias da Informação e Comunicação TIC 7º Ano

Ambiente de trabalho. Configurações. Acessórios

Bases de Dados. Lab 1: Introdução ao ambiente

Como Fazer um Vídeo no Windows Movie Maker

Engenharia de Software e Sistemas Distribuídos. Enunciado Geral do Projecto

Bases de Dados. O ficheiro create-bank.sql contém um conjunto de instruções SQL para criar a base de dados de exemplo ilustrada na figura 1.

Critérios Gerais de Avaliação

MODULO DE GESTÃO MANUTENÇÃO DE MATRÍCULA. O módulo de Gestão tem por objetivo gerenciar as atividades que ocorrem durante um ano letivo.

Curso de Eng. Informática Linguagens de Programação. C Sharp University Data Processing. (C Sharp Universidade de Processamento de Dados) Docente:

O 1º Ciclo do Ensino Básico é um espaço privilegiado onde se proporcionam aos alunos aprendizagens mais ativas e significativas,

CRITÉRIOS DE AVALIAÇÃO

Manual do Utilizador

PHC Serviços CS. A gestão de processos de prestação de serviços

Temas de Tese

II. Elementos a Apresentar

MODULO DE GESTÃO MANUTENÇÃO DE MATRÍCULA. O módulo de Gestão tem por objetivo gerenciar as atividades que ocorrem durante um ano letivo.

Plano de Trabalho Docente Ensino Técnico

Engenharia de Requisitos

EXERÍCIOS DE MODELAGEM DE BANCO DE DADOS

Linguagem algorítmica: Portugol

WEB DESIGN LAYOUT DE PÁGINA

TECNOLOGIAS DE INFORMAÇÃO E COMUNICAÇÃO

INFORMAÇÃO PROVA FINAL DE CICLO A NÍVEL DE ESCOLA. Aplicações Informáticas B 12º Ano - Prova /2015

Laboratórios de Informática II LEI (1 o ano) Projecto Integrado. Ano Lectivo de 2006/07

ROTEIRO PARA ELABORAÇÃO DO PROJETO DE ATIVIDADES EXTRA-CURRICULARES (ESPORTIVOS OU DE ÁREA)

Modelos Conceptual e Mental

20 Escola Digital Manual do Utilizador Professor

CADEX. Consultoria em Logística Interna. Layout de armazém. Objectivos. Popularidade. Semelhança. Tamanho. Características

Transcrição:

Departamento de Engenharia Informática Faculdade de Ciências e Tecnologia da Universidade de Coimbra Mini-Projecto de PAII Ano Lectivo 2000/01 Implementação do Jogo Caverna 1 Descrição do Jogo No jogo caverna, o jogador controla uma nave que se desloca no interior de uma caverna. O objectivo é o de chegar o mais longe possível na caverna, sendo a pontuação do jogador calculada em função do distância horizontal percorrida até ao momento. A nave desloca-se horizontalmente a uma velocidade constante. O jogador pode controlar o deslocamento vertical através de uma única tecla. Ao primir a tecla a nave sobe a uma velocidade constante. Quando a tecla não é primida a nave desce por acção da gravidade, também a uma velocidade constante (a gravidade no mundo da caverna não é acelerativa). Este é o único mecanismo de que o jogador dispõe para controlar o movimento da nave ao longo do percurso, por forma a impedir a sua colisão, quer contra as paredes da caverna, quer contra os obstáculos que vão surgindo. O movimento da nave é observado através de um corte transversal da caverna. A posição horizontal da nave corresponde sempre ao centro da janela de jogo, sendo o resto do cenário a ser deslocado para dar a sensação de movimento. A posição vertical da nave varia consoante o seu movimento. A nave deixa um rasto atrás de si que indica as posições que tomou anteriormente no seu percurso. As paredes apresentam uma forma irregular, mas apresentam a cada instante um espessura máxima. A espessura máxima das paredes da caverna vai aumentando ao longo do trajecto, sendo que a área navegável é tanto menor quanto mais o jogador avança. Uma dificuldade adicional é dada pelo aparecimento aleatório de obstáculos na área navegável. Estes obstáculos são rectângulos como se pode ver na figura. Os obstáculos devem ser colocados por forma a se encontrarem completamente no interior da área 1

Obstaculo Nave Espessura da Espessura da Rasto da Caverna navegável (sem sobreposição com as paredes da caverna). Além disso nunca devem ser colocados de tal forma que tornem a passagem da nave impossível. As 10 melhores pontuações obtidas deverão ser guardadas num ficheiro com os respectivos nomes dos jogadores. No final de cada jogo deverão ser apresentados os 10 melhores resultados para o utilizador avaliar o seu desempenho. 2 Funcionalidades Adicionais Poderão ainda ser implementadas as seguintes funcionalidade adicionais: Obstáculos móveis, ou seja, obstáculos que se movem verticalmente a uma velocidade constante entre as paredes da caverna. Tiros de laser. Através destes tiros, o jogador pode destruir obstáculos ou zonas salientes das paredes. Os tiros deverão estar disponíveis em número limitado por forma a manter o desafio do jogo. Bónus. Os bónus consistem em objectos que o jogador pode recolher ao longo do seu percurso. Os bónus poderão atribuir mais tiros, mais pontos, mais vidas ou outro tipo de regalias. 2

Níveis. Em vez de existir uma única caverna, o jogador deverá progredir ao longo de cavernas de um nível de dificuldade cada vez maior. Armadilhas. As armadilhas apresentam o mesmo aspecto gráfico que os Bónus. No entanto, enquanto estes últimos oferecem mais valias ao utilizador, as armadilhas provocam um conjunto de efeitos indesejáveis como a redução da espessura da parede, o aumento da velocidade da nave ou o aparecimento temporário do efeito espelho (o deslocamento passará a efectuar-se em sentido inverso). 3 Estrutura do Programa A implementação do jogo deverá seguir a estrutura de classes descrita na figura. Poderão ser acrescentadas mais classes para as funcionalidade adicionais, ou sempre que necessário. javax.swing.jframe Obstaculo Janela Caverna Nave Vista s java.awt.canvas A classe Caverna é a classe principal, responsável por controlar o jogo e reagir aos comandos do utilizador. A classe Janela define a janela do jogo e deriva directamente de java.awt.frame. A janela contém a classe Vista, que deriva de java.awt.canvas e é responsável por exibir o aspecto da caverna a cada momento. Alem disso existe uma classe para cada objecto do jogo (paredes da caverna, obstáculos, nave). Estas classes devem conter métodos que permitam realizar as operações necessárias sobre estes objectos assim como um método para desenhar o estado actual do objecto na vista. 3

4 Metas Meta Aula Data Tarefa 1 12 02/04 e 03/04 Estruturação 2 16 23/04 e 24/04 Codificação das principais classes/estruturas 3 19 14/05 e 15/05 Codigo completo a funcionar sem interface 4 22 24/05 e 25/05 Codigo completo a funcionar com interface Entrega - 31/05 Trabalho completo + Relatório Meta 1 Nesta aula, far-se-á com cada grupo a primeira discussão sobre o que irá ser o projecto. Serão dadas indicações com o objectivo de prevenir alguns erros comuns. Os alunos deverão entregar um documento onde digam qual o grupo formado, que especificações adicionais pretedem implementar e o cabeçalho em Javadoc que irão colocar em todos os ficheiros que forem construir. Meta 2 Os alunos deverão entregar a codificação das classes sugeridas no enunciado do projecto, bem como de outras classes que irão construir. Deverão também apresentar as principais estruturas de dados utilizadas. Cada classe deverá conter os campos, métodos de acesso e comentários explicativos em Javadoc. Deverão também apresentar os métodos relacionados directamente com cada estrutura. Meta 3 Nesta meta, cada grupo deverá apresentar o seu jogo a funcionar sem parte gráfica (apenas output dos valores das variáveis para o ecran em cada momento). Meta 4 Finalmente, o jogo deverá estar totalmente construido na meta 4, incluindo gráficos, acesso a ficheiros, robustez, jogabilidade. 5 Avaliação O trabalho deverá ser realizado em grupos de dois alunos da mesma turma prática. Cada grupo deve implementar as funcionalidades de base do jogo, assim como pelo menos duas funcionalidades adicionais. Além disso deve elaborar um relatório em que descreva as principais estruturas de dados e algoritmos utilizados, que não deverá exceder as 10 páginas. Os critérios de avaliação serão os seguintes: Correção da implementação das funcionalidades base do jogo; Correção da implementação de duas funcionalidades adicionais; 4

Qualidade do código (boa orientação a objectos, boa indentação, comentários segundo as convenções utilizadas na disciplina e com suporte ao javadoc); Qualidade do relatório (claro, completo, conciso e bem estruturado); Desempenho do grupo na apresentação oral e defesa do projecto. Os alunos deverão ter o cuidado de ir cumprindo as metas pré-estabelecidas, não se limitando apenas à entrega do trabalho final. Poderão ser atribuídos bónus pela implementação de funcionalidades adicionais além das duas exigidas (mesmo que não constem da lista anteriormente apresentada, mas as duas exigidas deverão pertencer a esta lista). 6 Apresentação do Projecto Cada grupo deverá entregar na secretaria o relatório impresso, acompanhado pelo código do jogo (ficheiros.java) em formato digital - disquete, CD ou zip. O jogo deverá compilar e executar correctamente em JDK 1.3.x. Os alunos deverão apresentar e defender o seu projecto em data a definir, e as classificações serão atribuidas individualmente. O prazo de entrega do projecto é 31.5.2001 (quinta-feira). Bom trabalho. 5