A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Estrutura de Dados André Augusto Nogueira Alves Colaborador: Alexandre Tolstenko Nogueira.

Apresentações semelhantes


Apresentação em tema: "Estrutura de Dados André Augusto Nogueira Alves Colaborador: Alexandre Tolstenko Nogueira."— Transcrição da apresentação:

1

2 Estrutura de Dados André Augusto Nogueira Alves Colaborador: Alexandre Tolstenko Nogueira

3 REVISÃO Papel e caneta na mão!

4 Revisão 1.Diferença entre IDE, Framework, Engine e SDK; 2.Estrutura básica de um game em XNA; 3.Rectangle vs Vector2; 4.Desenhar uma imagem na tela; 5.Desenhar um texto na tela; 6.Colisão com com instersect. 4

5 OBJETIVOS

6 Objetivos 1.Entender um pouco de OO (Orientação Objeto); 2.Apresentação de algumas das estruturas de dados mais simples; 3.Um novo jogo ao fim da aula, mas dessa usando os tópicos citados acima; 6

7 ORIENTAÇÃO OBJETO E ESTRUTURA DE DADOS

8 TeoriaPrática

9 TeoriaPOOHistóriaConceitosObjetosPongOOInteraçãoListasÁrvoresSnake Apêndice Campeonatos

10 História Final da década de 60; Possibilitar compartilhamento de códigos e desenvolvimento mais rápido; 10

11 Conceitos Desvendando os mistérios da Classe; Abstração: Abstração é o processo ou resultado de generalização por redução do conteúdo da informação de um conceito ou fenômeno observável; Classe x Objeto; Alocar memória (construtores); DNA(assinatura da classe) x Humano(objeto); 11

12 Objetos Alta coesão, baixo acoplamento; Tentativa de representar o mundo do ponto de vista humano de forma computacional; Semelhanças com Structs; Visibilidade; Criando um objeto; 12

13 Pong OO - Bola 13

14 Pong OO - Raquete 14

15 Interação – Acoplamento(?) Juntando os objetos; Montando uma colisão; 15

16 TeoriaPOOEstruturasEnumVetorListasÁrvoresSnake Apêndice Campeonatos

17 Enum Diferenças entre C e C#; Usos do Enum; 17

18 Vetor Prós e Contras; 18

19 TeoriaPOOEstruturasEnumVetorListasListLinkedListPilhaFilaÁrvoresSnake Apêndice Campeonatos

20 Lista Exemplos de usos; 20

21 List List myList; Utilidade: agregar coisas sem garantir sequência 21

22 Lista Ligada LinkedList listTipo; LinkedListNode llnTipo; Uso: llnTipo.Next, llnTipo.Previous Utilidade: agregar coisas com com sequência. 22

23 Pilha Stack stkTipo; Uso: stkTipo.Pop, stkTipo.Push Utilidade: Armazenar coisas temporariamente (ex. Gerência de tela, recursão) 23

24 Fila Queue qTipo; Uso: qTipo.Pop, qTipo.Push Utilidade: guardar coisas enquanto elas esperam para serem executadas. Ex: 24

25 TeoriaPOOEstruturasEnumVetorListasÁrvoresBináriasQuadtreeOctreeBSPSnake Apêndice Campeonatos

26 Árvores Definição Árvore Binária; Quadtree (Octree); BSP; 26

27 ... Lista de outras estruturas Splaytree Btree Red-black tree Hash table Grafos Dicionários 27

28 Estrutura de dados e classes Classes que incluem vários objetos; 28

29 TeoriaClasse vs StructListasÁrvoresSnakeHistória Mecânica de jogo Modelagem Computacional Códigos Apêndice Campeonatos

30 Prática Prática: – Programar um SNAKE; Opcional: transformar o Pong em um Breakout; Desafio: – Mapear uma imagem usando uma quadtree; – Defender; 30

31 Snake Time Jogo do dia: Snake; Programado usando OO não estruturada; 31

32 Análise de Jogo Elementos? Como anda? Como interage? 32

33 Mecânica de jogo A cobra tem que “comer” os pontos que aparecem na tela; A cada item comido, a cobra cresce de tamanho; A cobra anda somente para as direções Up, Left, Right e Down; 33

34 Modelagem Computacional Classes a serem criadas; Métodos de cada uma dessas classes; Interação entre elas; 34

35 Teoria Classe vs Struct ListasÁrvoresSnake Apêndice Campeonatos XNA Challenge SBgamesArena InfoDreambuildImagine Cup

36 Struct public struct RectangleFloatS { public float X, Y; public RectangleFloatS(float X, float Y) { this.X = X; this.Y = Y; } public Anda(Direcao dir) {switch(dir){ case Direcao.Up: //anda pra cima break;... }} } 36

37 Class public class RectangleFloatC { public float X, Y; public RectangleFloatC(float X, float Y) { this.X = X; this.Y = Y; } public Anda(Direcao dir) {switch(dir){ case Direcao.Up: //anda pra cima break;... }} } 37

38 Diferenças List rectStructList; List rectObjList;... foreach(RectangleFloatS rect in rectStructList) rect.X += valor; // nao altera X do rectStructList foreach(RectangleFloatR rect in rectObjList) Rect.X += valor; // altera X do recObjList 38

39 Agradecimento spriteBatch.DrawString( Arial, Arial, "Obrigado Pela Atenção!", "Obrigado Pela Atenção!", positionVect, positionVect, Color.Black); Color.Black); 39


Carregar ppt "Estrutura de Dados André Augusto Nogueira Alves Colaborador: Alexandre Tolstenko Nogueira."

Apresentações semelhantes


Anúncios Google