Upload
buiphuc
View
215
Download
0
Embed Size (px)
Citation preview
SIMULADOR DE UMA SIMULADOR DE UMA
PARTIDA DE FUTEBOL COM PARTIDA DE FUTEBOL COM
ROBÔS VIRTUAISROBÔS VIRTUAIS
Fábio Fábio Fábio Fábio Fábio Fábio Fábio Fábio SchülterSchülterSchülterSchülterSchülterSchülterSchülterSchülter
Orientador: Prof. José Roque Voltolini da SilvaOrientador: Prof. José Roque Voltolini da Silva
Roteiro da ApresentaçãoRoteiro da Apresentação
IntroduçãoIntrodução-- Objetivos do trabalhoObjetivos do trabalhoRevisão bibliográficaRevisão bibliográficaDesenvolvimentoDesenvolvimentoOperacionalidadeOperacionalidadeResultados e discussãoResultados e discussãoConclusãoConclusãoExtensõesExtensões
Objetivos do trabalhoObjetivos do trabalho
O objetivo deste trabalho é desenvolver O objetivo deste trabalho é desenvolver um simulador de uma partida de futebol um simulador de uma partida de futebol de campo, sem a interferência direta nos de campo, sem a interferência direta nos jogadores (robôs) jogadores (robôs)
Objetivos específicosObjetivos específicos
Determinar o posicionamento dos jogadores Determinar o posicionamento dos jogadores segundo estratégias definidas segundo estratégias definidas
Todas as ações dos jogadores durante a partida Todas as ações dos jogadores durante a partida serão influenciadas pelos seus atributosserão influenciadas pelos seus atributos
Permitir modificar táticas durante a partida de Permitir modificar táticas durante a partida de futebolfutebol
Visualizar o andamento do jogo no computadorVisualizar o andamento do jogo no computador
Revisão bibliográficaRevisão bibliográfica
SimulaçãoSimulação
Simulação da área de jogosSimulação da área de jogos
Simuladores de Futebol Simuladores de Futebol ManagerzoneManagerzone, , GameGolGameGol e e HattrickHattrick
Processos ConcorrentesProcessos ConcorrentesSemáforos (exclusividade)Semáforos (exclusividade)
DesenvolvimentoDesenvolvimentoDefinições utilizadas no trabalhoDefinições utilizadas no trabalho
Definição de Estratégia: é o conjunto de Definição de Estratégia: é o conjunto de táticas que a equipe poderá utilizar táticas que a equipe poderá utilizar durante a partidadurante a partida
Definição de Tática: nela são definidos os Definição de Tática: nela são definidos os jogadores do plantel que vão jogar quando jogadores do plantel que vão jogar quando a mesma estiver sendo usada. Para cada a mesma estiver sendo usada. Para cada jogador escalado definejogador escalado define--se a posição se a posição base em campo base em campo
RequisitosRequisitos
Todas as ações dos jogadores durante a partida Todas as ações dos jogadores durante a partida serão influenciadas pelos seus atributos (RF)serão influenciadas pelos seus atributos (RF)
Cada atributo pode conter um valor de zero (0) Cada atributo pode conter um valor de zero (0) a dez (10) (RF)a dez (10) (RF)
A soma dos atributos de todos os jogadores não A soma dos atributos de todos os jogadores não pode passar de trinta (30) (RF)pode passar de trinta (30) (RF)
RequisitosRequisitos
Um time pode possuir quantas táticas o usuário desejar Um time pode possuir quantas táticas o usuário desejar construir (RF)construir (RF)
Várias táticas durante a partida (RF)Várias táticas durante a partida (RF)
A partida deve possuir um árbitro (RF)A partida deve possuir um árbitro (RF)
Fator de decisão dos lances: atributos dos jogadores e Fator de decisão dos lances: atributos dos jogadores e aleatoriedade (RF)aleatoriedade (RF)
Movimentos da bola (RF)Movimentos da bola (RF)
Implementado com a ferramenta Implementado com a ferramenta DelphiDelphi 7.0, utilizando a 7.0, utilizando a biblioteca biblioteca OpenGlOpenGl para a visualização da partida (RNF)para a visualização da partida (RNF)
Atributos definidos para os Atributos definidos para os jogadoresjogadores
Atributos dos jogadores são: Atributos dos jogadores são: -- resistênciaresistência
-- velocidadevelocidade
-- passepasse
-- chutechute
-- desarmedesarme
-- controle de bolacontrole de bola
-- defesa a goldefesa a gol
DesenvolvimentoDesenvolvimento
Diagrama de casos de uso do usuárioDiagrama de casos de uso do usuário
Desenvolvimento Desenvolvimento -- Diagrama de atividades Diagrama de atividades TJogadorPartidaTJogadorPartida
DesenvolvimentoDesenvolvimentoClasse Classe TSimuladorTSimulador
No seu construtor são passados como parâmetro as No seu construtor são passados como parâmetro as duas equipes juntamente com o tela (duas equipes juntamente com o tela (formform) de ) de visualização da partidavisualização da partida
Liga os jogadores ao simulador, e os posiciona em Liga os jogadores ao simulador, e os posiciona em campo em fila.campo em fila.
Instância os objetos que ainda não estão criados: Instância os objetos que ainda não estão criados: bola, arbitro, campo e bola, arbitro, campo e tempoPlacartempoPlacar. (o arbitro é que . (o arbitro é que dará o início a partida)dará o início a partida)
Fica constantemente verificando se foi programada Fica constantemente verificando se foi programada alguma alteração tática nas equipes.alguma alteração tática nas equipes.
DesenvolvimentoDesenvolvimento
Classe Classe TSimuladorTSimulador
Estados da PartidaEstados da Partida-- IniciandoComponentesIniciandoComponentes-- AguardandoInicioAguardandoInicio-- EmAndamentoEmAndamento-- GolGol-- IntervaloIntervalo-- FaltaFalta-- LateralLateral-- LinhaDeFundoLinhaDeFundo-- FinalFinal
DesenvolvimentoDesenvolvimento
Classe Classe TfrSimuladorGuiTfrSimuladorGui
Biblioteca Biblioteca OpenGLOpenGL
Timer 200 Timer 200 milisegundosmilisegundos
DesenvolvimentoDesenvolvimento
Classe Classe TCampoTCampo
Variáveis de controle e tamanho dos objetosVariáveis de controle e tamanho dos objetos
Medida do campo proporcional a medida de um Medida do campo proporcional a medida de um campo real (tamanho máximo de um jogo campo real (tamanho máximo de um jogo internacional)internacional)
Existe um semáforo para cada ponto(1400 x Existe um semáforo para cada ponto(1400 x 940)940)
DesenvolvimentoDesenvolvimento
Classe Classe TArbitroTArbitroVerifica constantemente durante a partidaVerifica constantemente durante a partida
-- tempo de jogotempo de jogo
-- se a bola esta dentro de campose a bola esta dentro de campo
-- se ocorreu um golse ocorreu um gol
-- desarme com faltadesarme com falta
Se ocorreu algum destes eventos ele altera o Se ocorreu algum destes eventos ele altera o estado da partidaestado da partida
DesenvolvimentoDesenvolvimento
Classe Classe TBolaTBola
Sob domínio do jogador ela é passivaSob domínio do jogador ela é passiva
Quando o jogador chuta ou passa a bola ele Quando o jogador chuta ou passa a bola ele deslocadesloca--se até a posição que o jogador desejouse até a posição que o jogador desejou
DesenvolvimentoDesenvolvimento
Classe Classe TMovimentoTMovimento
Rota de deslocamento dos objetosRota de deslocamento dos objetos
Utilizada na Utilizada na TBolaTBola
DesenvolvimentoDesenvolvimento
Classe Classe TMovimentoJogadorTMovimentoJogador
Descendente da Descendente da TMovimentoTMovimento
Responsável pela rota de movimento dos jogadoresResponsável pela rota de movimento dos jogadores
Calcula o ponto destino do jogador com a bolaCalcula o ponto destino do jogador com a bola
Sorteia o número de movimentações para que seja Sorteia o número de movimentações para que seja calculado um novo ponto de destinocalculado um novo ponto de destino
DesenvolvimentoDesenvolvimento
Classes Classes TEquipePartidaTEquipePartida
Contém a lista de jogadores da equipeContém a lista de jogadores da equipe
Contém a estratégia escolhida para a partidaContém a estratégia escolhida para a partida
DesenvolvimentoDesenvolvimento
Classe Classe TEstrategiaTEstrategia
Lista de táticas (Lista de táticas (TTaticaEstrategiaTTaticaEstrategia))
DesenvolvimentoDesenvolvimento
Classe Classe TTaticaEstrategiaTTaticaEstrategia
Contém o minuto, saldo e táticaContém o minuto, saldo e tática
DesenvolvimentoDesenvolvimento
Classe Classe TTaticaTTatica
Contém os onze (11) jogadores que irão jogar Contém os onze (11) jogadores que irão jogar ((TJogadorEscaladoTJogadorEscalado))
Contém o posicionamento de cada jogadorContém o posicionamento de cada jogador
DesenvolvimentoDesenvolvimento
Classe Classe TJogadorPartidaTJogadorPartida
Descendente do Descendente do TJogadorTJogador
Ações e o comportamento dos jogadores em Ações e o comportamento dos jogadores em campocampo
O Jogador é totalmente independenteO Jogador é totalmente independente
Método ExecuteMétodo Execute
DesenvolvimentoDesenvolvimentoClasse Classe TJogadorPartidaTJogadorPartida –– métodométodo chutachuta
Se deve chutarSe deve chutar
DesenvolvimentoDesenvolvimento
Classe Classe TJogadorPartidaTJogadorPartida –– métodométodo passapassa
Tempo de posse de bolaTempo de posse de bola
Verifica se deve passarVerifica se deve passar
Passa a bola (atributo passe)Passa a bola (atributo passe)
DesenvolvimentoDesenvolvimento
Classe Classe TJogadorPartidaTJogadorPartida –– métodométodo desarmadesarma
Se ele estiver ao lado do jogador que esta com Se ele estiver ao lado do jogador que esta com a bola, ou da bola ele tenta desarmar (atributo a bola, ou da bola ele tenta desarmar (atributo desarma do marcador contra o atributo controle desarma do marcador contra o atributo controle de bola do outro jogador)de bola do outro jogador)
DesenvolvimentoDesenvolvimento
Classe Classe TJogadorPartidaTJogadorPartida –– métodométodo acaoGoleiroacaoGoleiro
O goleiro sempre fica acompanhando a O goleiro sempre fica acompanhando a bola(eixo x)bola(eixo x)
Se ele estiver ao lado da bola ele vai tentar Se ele estiver ao lado da bola ele vai tentar fazer a defesa (atributo fazer a defesa (atributo defesaAGoldefesaAGol))
DesenvolvimentoDesenvolvimento
Classe Classe TJogadorPartidaTJogadorPartida –– métodométodo alteraPosicaoJogadoralteraPosicaoJogador
Converter Converter TLinColTLinCol para para TPosicaoTPosicao
Método Método reservaPosicaoreservaPosicao
OperacionalidadeOperacionalidade
Módulo Cadastral Módulo Cadastral –– Cadastro de equipesCadastro de equipes
OperacionalidadeOperacionalidade
Módulo Cadastral Módulo Cadastral –– Cadastro de jogadoresCadastro de jogadores
OperacionalidadeOperacionalidadeMódulo Cadastral Módulo Cadastral –– Cadastro de táticasCadastro de táticas
OperacionalidadeOperacionalidade
Módulo Cadastral Módulo Cadastral –– Cadastro de EstratégiasCadastro de Estratégias
OperacionalidadeOperacionalidade
Módulo Simulação Módulo Simulação –– Define ConfrontoDefine Confronto
OperacionalidadeOperacionalidadeMódulo Simulação Módulo Simulação –– Visualização da partidaVisualização da partida
Resultados e discussãoResultados e discussão
Comparação entre os simuladores Comparação entre os simuladores estudados e o simulador implementadoestudados e o simulador implementado
ConclusõesConclusões
O objetivo principal do trabalho, construir O objetivo principal do trabalho, construir um software simulador de uma partida de um software simulador de uma partida de futebol, foi atingido. Todas as ações dos futebol, foi atingido. Todas as ações dos jogadores, êxitos nas disputas estão jogadores, êxitos nas disputas estão relacionados com os seus atributosrelacionados com os seus atributos
ConclusõesConclusões
O simulador permite que a equipe troque O simulador permite que a equipe troque de tática e jogadores durante a partidade tática e jogadores durante a partida
É permitido ao usuário visualizar em É permitido ao usuário visualizar em tempo real a partida tempo real a partida
LimitaçõesLimitações
não implementação do eixo Z, não implementação do eixo Z, impossibilitando jogadas aéreas como impossibilitando jogadas aéreas como lançamentos e cabeceios lançamentos e cabeceios
as regras de impedimento, pênalti e as regras de impedimento, pênalti e escanteio não foram implementadasescanteio não foram implementadas
a bola não perde força nos chutes e a bola não perde força nos chutes e passes passes
ExtensõesExtensõesimplementar jogadas áreas, como cabeceios, implementar jogadas áreas, como cabeceios, lançamentos (eixo Z);lançamentos (eixo Z);
sofisticar com sofisticar com algoritimosalgoritimos de IA o comportamento e as de IA o comportamento e as ações dos jogadores;ações dos jogadores;
incluir novos atributos aos jogadores, como peso, altura, incluir novos atributos aos jogadores, como peso, altura, destro ou canhoto, experiência, inteligência, cabeceio e destro ou canhoto, experiência, inteligência, cabeceio e forma física;forma física;
desenvolver o desenvolver o visualizadorvisualizador do jogo em 3D;do jogo em 3D;
possibilitar que um usuário enfrente outro usuário sem possibilitar que um usuário enfrente outro usuário sem que um conheça a estratégia, táticas e os atributos dos que um conheça a estratégia, táticas e os atributos dos jogadores adversários. Agendar a partida pela jogadores adversários. Agendar a partida pela webweb seria seria uma forma. Cada usuário teria o uma forma. Cada usuário teria o loginlogin e senha, criaria o e senha, criaria o seu time e desafiaria outro usuário. seu time e desafiaria outro usuário.