simulador de uma partida de futebol com robÔs...

45
SIMULADOR DE UMA SIMULADOR DE UMA PARTIDA DE FUTEBOL COM PARTIDA DE FUTEBOL COM ROBÔS VIRTUAIS ROBÔS VIRTUAIS Fábio Fábio Fábio Fábio Fábio Fábio Fábio Fábio Schülter Schülter Schülter Schülter Schülter Schülter Schülter Schülter Orientador: Prof. José Roque Voltolini da Silva Orientador: Prof. José Roque Voltolini da Silva

Upload: buiphuc

Post on 01-Dec-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

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

IntroduçãoIntrodução

SimulaçãoSimulação

MotivaçãoMotivação

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

DesenvolvimentoDesenvolvimentoDiagrama de classesDiagrama de classes

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

Desenvolvimento Desenvolvimento -- métodométodo chutachuta

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)

Desenvolvimento Desenvolvimento -- métodométodo desarmadesarma

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

OperacionalidadeOperacionalidadeMódulo CadastralMódulo Cadastral

Módulo SimulaçãoMódulo Simulação

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.