tp2 especificação-sdl

3
Título: Biblioteca multimedia SDL(Especificação Ver. 1.0) Tópicos: 1. Introdução Este trabalho tem como foco o uso da programação orientada a objetos juntamente com o uso da biblioteca SDL que facilita o uso de imagem, sons e interação do usuário. Para realizar a programação deste trabalho é necessário o conhecimento de classes, objetos e inclusão e uso de bibliotecas. 2. Tarefas O programa a ser criado consiste em uma simplificação do jogo squash. Para desenvolver a tarefa utilizaremos a biblioteca SDL. Siga os tutoriais de instalação e uso da biblioteca indicados na referência [1]. O jogo consiste em uma barra de controle para o usuário, uma bolinha e duas mensagens, conforme Anexo 1: Regras do jogo: A bolinha é criada aleatoriamente na tela com velocidade e direções também aleatórias. Ao colidir com as paredes de Cima, de Baixo e da Esquerda a bolinha deve voltar, conforme ocorreria em uma mesa de sinuca, porém ela não deve tocar a parede da direita. Caso isso ocorra o jogador perderá uma vida, a bolinha sumira e reaparecerá em outro ponto da tela. Para impedir que ela bata na parede da esquerda o jogador deve mover a barra para cima e para baixo de modo que a bolinha colida com a barra e não acerta a parede da direita. Cada vez que a bolinha bater na barra a pontuação deve aumentar (você define quanto). Caso o número de vidas chegue a zero o jogo termina e a figura do Anexo 3 é mostrada dando opção ao jogador em iniciar uma nova partida. O que deve ser implementado: a) O jogador deve poder mover a barra de controle pelas teclas b) A bolinha iniciar em uma posição aleatória na metade esquerda da tela. c) A bolinha deve ter uma direção de movimentação inicial aleatória. d) A mensagem de número de vidas deve ser atualizada cada vez que a bola bater na parede da direita. e) A mensagem de pontos deve ser atualizada cada vez que a barra bater na bola impedindo-a de acertar a parede da direita. f) Ao terminar o número de vidas a tela 2 deve ser apresentada. g) Ao selecionar reiniciar o jogo esse deve começar uma nova partida. Orientações de programação: Divida o programa em classes a. Utilize a ideia de herança. Crie classes filhas que contenham as mesmas características e funções. Tais devem ser definidas na classe mãe. Defina as características exclusivas de cada classe. Tanto a barra quanto a bolinha se movem na tela, tem posição x e y, direção, imagem, e se movem e colidem, então ambas são móveis com características comuns. Crie uma classe pai com essas características comuns e gere filhas barra e bolinha determinando suas especificidades. b. Utilize funções que detectam a colisão dos objetos. c. Chame as funções implementadas na biblioteca SDL. Orientações de trabalho na equipe: Identifique a função de cada um da equipe, o material da referência [2] tem os tutoriais para todas as funções necessárias. Combinem um dia para pensarem nas classes. Isso é rápido é pode ser feito em um intervalo de aula. Monte as classes pelos quadradinhos com nome, atributos e funções e já definam o protótipo (.h). Escolham quem vai executar cada tutorial e aprender uma parte da biblioteca e a data para ele postar para o grupo a parte dele. a. Desenhar as imagens na tela (Lições 1 e 3) b. Mover um objeto na tela (lição 4) c. Testar a colisão dos objetos (lições 17, 18 e 19 veja qual das ideias servem para vocês) d. Escrever na tela (lição 7) e. Implementar as classes. Esta divisão é somente uma sugestão, combine com seu grupo. Identifique na parte de desenvolvimento do relatório o responsável por cada tarefa. a. Caso haja alguma ocorrência como não participação de algum dos componentes o grupo pode entregar o trabalho e indicar a falta da tarefa daquele componente de modo a somente ele perder pontos no trabalho. b. Descreva no email de envio do trabalho as falhas do componente em questão para efeito de registro. Entrega: Devem ser enviados em arquivo zipado: O código fonte do programa. Um relatório descrevendo as estratégias de desenvolvimento do programa o Utilize as normas ABNT na construção do relatório. o Apresente as referências consultadas. o Descreva as estratégias utilizadas para o funcionamento do programa, como as definições das classes, como elas se relacionam, etc. Cefet Contagem Fundação de ensino de Contagem Curso Técnico em Informática Disciplina: Lógica de Programação1 2º Trabalho 2º Ano Informática Professor: Alisson Rodrigo dos Santos Valor LP1(6) ;LLP1(8) Entrega: 24/08/2013

Upload: alisson-santos

Post on 26-Jul-2015

302 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Tp2 especificação-sdl

Título: “Biblioteca multimedia SDL” (Especificação Ver. 1.0)

Tópicos:

1. Introdução

Este trabalho tem como foco o uso da programação orientada a objetos juntamente com o uso da biblioteca SDL que facilita o uso de imagem, sons e interação do usuário. Para realizar a programação deste trabalho é necessário o conhecimento de classes, objetos e inclusão e uso de bibliotecas.

2. Tarefas

O programa a ser criado consiste em uma simplificação do jogo squash. Para desenvolver a tarefa utilizaremos a biblioteca SDL. Siga os tutoriais de instalação e uso da biblioteca indicados na referência [1].

O jogo consiste em uma barra de controle para o usuário, uma bolinha e duas mensagens, conforme Anexo 1: Regras do jogo:

A bolinha é criada aleatoriamente na tela com velocidade e direções também aleatórias. Ao colidir com as paredes de Cima, de Baixo e da Esquerda a bolinha deve voltar, conforme ocorreria em uma mesa de sinuca, porém ela não deve tocar a parede da direita. Caso isso ocorra o jogador perderá uma vida, a bolinha sumira e reaparecerá em outro ponto da tela. Para impedir que ela bata na parede da esquerda o jogador deve mover a barra para cima e para baixo de modo que a bolinha colida com a barra e não acerta a parede da direita. Cada vez que a bolinha bater na barra a pontuação deve aumentar (você define quanto). Caso o número de vidas chegue a zero o jogo termina e a figura do Anexo 3 é mostrada dando opção ao jogador em iniciar uma nova partida. O que deve ser implementado:

a) O jogador deve poder mover a barra de controle pelas teclas

b) A bolinha iniciar em uma posição aleatória na metade esquerda da tela. c) A bolinha deve ter uma direção de movimentação inicial aleatória. d) A mensagem de número de vidas deve ser atualizada cada vez que a bola bater na parede da direita. e) A mensagem de pontos deve ser atualizada cada vez que a barra bater na bola impedindo-a de acertar a parede da direita. f) Ao terminar o número de vidas a tela 2 deve ser apresentada. g) Ao selecionar reiniciar o jogo esse deve começar uma nova partida.

Orientações de programação:

Divida o programa em classes

a. Utilize a ideia de herança. Crie classes filhas que contenham as mesmas características e funções. Tais devem ser

definidas na classe mãe. Defina as características exclusivas de cada classe.

Tanto a barra quanto a bolinha se movem na tela, tem posição x e y, direção, imagem, e se movem e colidem, então

ambas são móveis com características comuns. Crie uma classe pai com essas características comuns e gere filhas

barra e bolinha determinando suas especificidades.

b. Utilize funções que detectam a colisão dos objetos.

c. Chame as funções implementadas na biblioteca SDL.

Orientações de trabalho na equipe:

Identifique a função de cada um da equipe, o material da referência [2] tem os tutoriais para todas as funções necessárias.

Combinem um dia para pensarem nas classes. Isso é rápido é pode ser feito em um intervalo de aula. Monte as classes pelos quadradinhos com nome, atributos e funções e já definam o protótipo (.h).

Escolham quem vai executar cada tutorial e aprender uma parte da biblioteca e a data para ele postar para o grupo a parte dele. a. Desenhar as imagens na tela (Lições 1 e 3) b. Mover um objeto na tela (lição 4) c. Testar a colisão dos objetos (lições 17, 18 e 19 veja qual das ideias servem para vocês) d. Escrever na tela (lição 7) e. Implementar as classes.

Esta divisão é somente uma sugestão, combine com seu grupo.

Identifique na parte de desenvolvimento do relatório o responsável por cada tarefa. a. Caso haja alguma ocorrência como não participação de algum dos componentes o grupo pode entregar o trabalho e

indicar a falta da tarefa daquele componente de modo a somente ele perder pontos no trabalho. b. Descreva no email de envio do trabalho as falhas do componente em questão para efeito de registro.

Entrega:

Devem ser enviados em arquivo zipado:

O código fonte do programa.

Um relatório descrevendo as estratégias de desenvolvimento do programa o Utilize as normas ABNT na construção do relatório. o Apresente as referências consultadas. o Descreva as estratégias utilizadas para o funcionamento do programa, como as definições das classes,

como elas se relacionam, etc.

Cefet Contagem Fundação de ensino de Contagem

Curso Técnico em Informática

Disciplina: Lógica de Programação1

2º Trabalho

2º Ano Informática Professor:

Alisson Rodrigo dos Santos Valor

LP1(6) ;LLP1(8) Entrega: 24/08/2013

Page 2: Tp2 especificação-sdl

Um arquivo Leiame.txt contendo o cabeçalho abaixo e indicando como compilar e rodar o programa.

Envie o arquivo zipado para o email do professor com cópia para todos os componentes do grupo.

Exemplo:

Turma: XX Aluno: Nome completo – Número: XX Aluno: Nome completo – Número: XX Aluno: Nome completo – Número: XX Como rodar o programa: XXXXXXXCXAXAXCASDFSADf

Turma: 2ª Aluno: Alisson Joaquim da Silva – Numero: 12 Aluno: Raquel Souza Alves – Numero: 02 Aluno: Helington da Silva – Numero 06 Como rodar o programa: Compile o arquivo ...

O nome do arquivo zipado deve ser: tpX_ano_turma_cordogrupo.zip. Exemplo: tp1_2_inf_azul.zip

Trabalhos recebidos fora desse padrão perderão 1,0 ponto.

3. Conclusão

O trabalho visa o pleno desempenho dos estudantes no uso dos conceitos tratados, para isso procure utilizar as dicas de programação dadas aqui em seu código. No caso de dúvidas procure os professores e os monitores de Informática. Visite o site do professor e do Grupo de desenvolvimento de jogos para mais informações: www.alissonrs.com.br e http://gpjecc.blogspot.com.br/

Bom trabalho !!! 4. Observações

Senhores, Consultem a internet e busquem ajuda com os colegas sempre que possível, porém não utilizem de plágio na apresentação dos trabalhos. Trabalhos com soluções iguais ou parte de códigos com identidade estrutural serão severamente penalizados, por isso se você utilizar qualquer parte de código de qualquer lugar, indique o pedaço e a fonte que você consultou. Esse trabalho não deve ser copiado inteiramente da Internet, apesar das inúmeras soluções ali encontradas. Verifique os exemplos on-line, veja o que está sendo pedido aqui e desenvolva sua própria solução.

Iniciem as tarefas mais simples agora, dúvidas irão surgir, não deixe de buscar ajuda com os monitores e professores. O trabalho foi pensado para estar alguns passos a frente na matéria que vocês estão estudando.

Funcionalidades extras adicionadas no trabalho podem valer pontos extras, desde que sejam únicas no seu grupo e que seja comunicado ao professor com antecedência – identifique-as no relatório e comunique o professor.

Atrasos serão duramente penalizados (

) sendo a data da entrega o primeiro dia.

5. Orientação

Devido a problemas no tempo de resposta e as datas de férias e AS as seguintes dadas serão disponibilizadas para tira-dúvida:

Aula prática de quarta-feira

6. Referências

[1] Tutorial de instalação da SDL, visitado em: <07/08/2013>; disponível em < http://gpjecc.blogspot.com.br/2013/08/tutorial-de-

instalacao-e-uso-da-sdl.html>

[2] Lazy Foo' Productions, visitado em: <07/08/2013>; disponível em <http://lazyfoo.net/SDL_tutorials/>

[3] Simple DirectMedia Layer, visitado em: <07/08/2013>; disponível em <http://www.libsdl.org/ >

[4] Setting up SDL and Netbeans on Windows 7, visitado em: <07/08/2013>; disponível em

<http://blog.housmous.com/2012/01/setting-up-sdl-and-netbeans-on-windows-7/>

[5] [Mini-curso] Programação de jogos 2D com SDL, , visitado em: <07/08/2013>; disponível em

<http://diogorbg.blogspot.com.br/2008/04/mini-curso-programao-de-jogos-2d-com.html >

Page 3: Tp2 especificação-sdl

7. Anexos

Anexo 1

Anexo 2

Anexo 3