Prova 4b - 2012

511 visualizações

Publicada em

Prova aplicada na disciplina de Programação Orientada a Objetos II no SENAI SC de São José no primeiro semestre de 2012.

0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
511
No SlideShare
0
A partir de incorporações
0
Número de incorporações
7
Ações
Compartilhamentos
0
Downloads
7
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Prova 4b - 2012

  1. 1. SENAI Palhoça / São José Curso Técnico em Informática – Prova 2BQuestão 1 (20 pontos). Composição é um dos principais conceitos de Orientação a Objetos eé uma das principais formas de fazer reuso de código. Sobre este conceito, assinale verdadeiroou falso: ( ) Composição é um mecanismo de reaproveitamento de classes utilizado pela POO para aumentar a produtividade e a qualidade no desenvolvimento de software. ( ) Composição e Herança são duas formas distintas de reaproveitamento de código. Quando uma classe usa a Composição para agregar outras classes, podemos dizer que ela tem um relacionamento chamado “Tem um”. Por exemplo, um Personagem tem uma (ou mais de uma) Sprite. Na Herança, dizemos que um Personagem é um GameObject.Questão 2 (15 pontos). Ainda sobre Composição, é possível enumerar três formas diferentesde inicializar os componentes de uma classe: a ): Inicializar os componentes dentro dos construtores da classe que é composta; b ): Inicializar através de qualquer método da classe que é composta; c ): Inicializar fora da classe que é composta e passar o objeto inicializado pelo construtor.Associe os três casos acima com os três trechos de código abaixo. Cada caso tem um eapenas um trecho de código correspondente:Código 1 Código 2 Código 3public class Ryu { public class Inimigo { Ryu ryu = new Ryu(); ... GameStateController f1private Imagem img; public void persObj(GameObject obj){ = new Fase1(ryu); this.objetoPerseguido = obj; GameStateController f2public Ryu() { } = new Fase2(ryu); try { …. this.img = new Imagem("n.png"); } } catch(Exception ex){ ... }…Resposta: Resposta: Resposta:Questão 3 (15 pontos). Observe o arquivo cenario1.scn abaixo e assinale a alternativa falsa: 4 resources/img_cenario/muro.png resources/img_cenario/bloco.png resources/img_cenario/ponto_de_save.png resources/img_cenario/chegada.png 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,1 1,0,0,2,2,2,0,0,0,0,0,0,0,0,0,0,0,2,2,1 1,0,0,0,0,0,2,0,0,0,2,2,0,0,2,0,0,0,0,1 1,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,1 1,0,0,0,0,0,0,0,2,2,2,0,0,0,0,0,0,0,0,1 1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1 1,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,1 1,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 % resources/fundos/mina_de_ouro.png
  2. 2. a) Considerando que cada tile do cenário tenha 32 pixels de largura por 32 pixels de altura, podemos afirmar com certeza absoluta que o cenário terá: 640 pixels de largura por 320 de altura. b) O número 4 que aparece na primeira linha do arquivo informa o número de tiles que irão compor o cenário. c) Quando utiliza-se o 0 na matriz do cenário, significa que esta posição será vazia. d) Podemos afirmar com certeza que se o personagem tiver 30 pixels de altura, não é possível para o jogador chegar no tile de chegada. e) A última linha do arquivo informa a imagem que pode ser utilizada no fundo do cenário. f) O sinal de % é obrigatório e informa o fim da matriz do cenário.Questão 4. (20 pontos). Observe o código do método step de uma das fases do exemplo RyuVersus Vegeta e descreva em forma de texto o que o método está realizando. O seu texto deveser escrito como se você estivesse tentando explicar por e-mail para um colega do seu grupo,a lógica de uma das fases do seu jogo. Uma boa forma de começar seria: “Primeiro, a faseverifica se o ryu está morto, se estiver, exibe uma mensagem e finaliza o jogo, depois...”public void step(long timeElapsed) { if(this.ryu.estaMorto()){ JOptionPane.showMessageDialog(null, "Perdeu."); System.exit(0); } this.ryu.step(timeElapsed); for(Inimigo inimigo : this.inimigos){ if(this.ryu.temColisao( inimigo )){ this.ryu.perdeVida(10); this.ryu.setX(200); } inimigo.step(timeElapsed); } if(this.cenario.temColisaoComTile(ryu, 4)){ JOptionPane.showMessageDialog(null, "Parabéns, você venceu."); System.exit(0); } this.cenario.step(timeElapsed); this.contadorTempo += timeElapsed; if(this.contadorTempo > 3000){ //tres segundos Inimigo novo = new Inimigo(750, 50); novo.persegueObjeto(ryu); this.inimigos.add( novo ); this.cenario.adicionaObjeto( novo ); this.contadorTempo -= 3000; } }
  3. 3. Prova4Bentreguem apenas esta folha.Programação Orientada a Objetos II Professor: Kaléu CaminhaAtividade: Prova 4B Data: 28/03/2012Nome Aluno: ____________________________________________ Nota: _________ (vale 70 pontos) 1 2 3Questão 4 – Espaço para a resposta da questãoColoque aqui quaisquer considerações que deseje sobre a disciplina: Para casa: (pode destacar este pedaço da folha) http://bitw.in/bJ7d

×