[ Arquitecturas Móveis ] 2017/2018

Documentos relacionados
Campeonato de Gamão. 1. Regras. 2. Servidor

Guia de Instalação do Google Cloud Print

SECUNDÁRIA DE CAMARATE Plataforma Office 365. Gestão de alertas para correio eletrónico

Questões Mais Frequentes (FAQ)

SME Introdução à Programação de Computadores Primeiro semestre de Trabalho: jogo Semáforo

NOS Communicator Guia rápido. Android Phone 2017 Versão 1.0

XD - Ligação com o Sage Retail

Guia de Imprimir/ Digitalizar Portátil para o Brother iprint&scan (Android )

Exemplo de número de caixa. Exemplo de número de posto

Manual do utilizador. Introdução

Design de Interface - Avaliação Final

Bomgar Connect Apoio Técnico a Dispositivos Apple ios

Fundamentos da Programação. Ano lectivo , 2 o Semestre Projecto Primeira Parte 1. Nim

Kaillera. Rafael Chevarria, Camilo Kaneviecher. Caixa Postal Pelotas RS Brazil.

Projecto # 4: HangMan

Conselho Regional do Norte Câmara dos Solicitadores. Plataforma Moodle de apoio aos Estágios Introdução

ERP PRIMAVERA STARTER V9.15

Computação II Orientação a Objetos

ESCOLA BÁSICA DOS 1º, 2º E 3º CICLOS DO BOM SUCESSO TECNOLOGIAS DE INFORMAÇÃO E COMUNICAÇÃO. Tecnologias da Informação e Comunicação

O Manual do KSquares. Matt Williams Revisão: Eugene Trounev Tradução: José Pires

NOS Communicator Guia rápido. Android Tablet 2017 Versão 1.0

CONFIGURAÇÃO DA REDE eduroam

Ashampoo Rescue Disc

divisão tecnológica Documentação da Plataforma Moçambique

Actualizações de software Manual do utilizador

Ferramentas Web, Web 2.0 e Software Livre em EVT

Manual do Utilizador do Connection Manager

ÍNDICE Conversão de documentos para PDF/A Verificar o formato do documento Conversão de documentos para DWFx

Introdução à Programação

Construir um mapa de conceitos com o CmapTools

Informática para Concursos

Configuração do Router

Índice. Introdução 3 Interface 4 Funcionamento 5. Modo de Implementação 7. Edição 5. Pesquisa 7. Pastas 5 Ficheiros 5 Informação do Ficheiro 6

Inteligência Artificial Projecto 1

Trabalho Prático 1 P2P-SDIS

Instituto Superior de Engenharia de Lisboa

Linhas de Exploração do Quadro de Competências da Disciplina de Tecnologias de Informação e Comunicação (TIC) 1º Ciclo do Ensino Básico

Manual de Utilização

Ferramentas Web, Web 2.0 e Software Livre em EVT

AGRUPAMENTO DE ESCOLAS DE EIXO CRTICEE EIXO/AVEIRO. Iniciação ao GRID 2 Resumo de alguns procedimentos

Funcionamento do Novo Sistema de Impressão em. vigor desde do dia 02 Fevereiro:

Actualizações de software Manual do utilizador

Instalação. Ponto de acesso sem fios NETGEAR ac WAC120. Conteúdo da embalagem. NETGEAR, Inc. 350 East Plumeria Drive San Jose, CA USA

Servidor de rede USB sobre IP com 4 portas USB 2.0

Laboratório de Ciências Computação

PLANIFICAÇÃO SEMESTRAL

2-Introdução e Conceitos Básicos das TIC

LA VOUIVRE JOGO DA GLÓRIA

MANUAL Terminal Gráfico Touch Screen de 9 Polegadas

Introdução a Algoritmos Aula 1

Como começar a Jogar? Para iniciar o jogo a forma mais fácil é ir a e começar a jogar.

MANUAL CONFIGURAÇÃO DE CONTAS IUM. Este manual visa apoiar os utilizadores na configuração das contas de correio

GERADOR DE INTERFACES GRÁFICAS PARA IOS GABRIEL SEBASTIAN RAMIREZ JOYCE MARTINS

NOS Communicator Guia rápido. ios ipad 2017 Versão 1.0

De Olho na Pista. Documento de Arquitetura. De Olho na Pista Documento de Arquitetura Data: 23/03/2013. AJA Software

Guia da Definição de Wi-Fi

Importação de condomínios do Gecond para o Gecond 3

Manual de Instalação PRIMAVERA Office Extensions v8.0 SR1

Resumo. Serviços DDNS de Terceiros suportados. Limitações

MANUAL DE ATUALIZAÇÃO DE SOFTWARE PARA LEITURA DE CARTÕES

Rui Carneiro, Rui Pereira, Tiago Orfão

Subdomínio: A informação, o conhecimento e o mundo das tecnologias

Introdução a Teste de Software

Novidades no EPC GM. Navegação gráfica. Navegação comum para cada veículo

Expectativa de respostas

Ferramentas Web, Web 2.0 e Software Livre em EVT

Serviço de Informática

MANUAL INTRODUÇÃO. Plataforma de trading online

Noções do padrão MVC e DAO

Jogo King Relatório da Melhoria do Trabalho Inteligência Artificial. Tiago Fonseca, ei02100

As Professoras: Marilene Rodrigues da Silva Cunha Graça Carla Martins Fonseca

Como gerir um espaço de conversa (chat) ou uma vídeo-conferência e participar num fórum de debate (Google Hangouts)

LAB4 Introdução aos Controladores Lógicos Programáveis

O Manual do KBlackBox. Nicolas Roffet Robert Cimrman Philip Rodrigues Lauri Watts Tradução: José Pires

Manual de Utilizador

Welcome to the World of PlayStation Manual de início rápido

Escola EB António Feijó

Microsoft Outlook Versão Provisória

Guia de Instalação do "Google Cloud Print"

Manual de Utilizador (V2.0.8) Uma Empresa Certificada ISO 9001 e ISO 27001

10 truques e dicas para o BlackBerry Z10

Resumo de TCC: MAGIC: Um framework para jogos de cartas. Ademir Coelho

ÍNDICE INTRODUÇÃO... 3 Sobre a aplicação REALING... 3 Sobre este documento... 4 Contactos... 4 APLICAÇÃO, FERRAMENTAS E FUNCIONALIDADES...

O Manual do KAtomic. Dirk Doerflinger Eugene Trounev Revisão: Mike McBride Tradução: José Pires

ZS Rest. Manual Profissional. BackOffice Mapa de Mesas. v2011

Experiência 04: Comandos para testes e identificação do computador na rede.

PT MANUAL UTILIZADOR. Aplicação Comelit disponível na App Store e Google Play

P L A N I F I C A Ç Ã O A N U A L

Sistema Operativo em Ambiente Gráfico. Área de trabalho

Configuração remota de circuitos baseados em FPGA

Anatomia do motor de um programa de xadrez. Hugo Vinicius M. D. Santana Orientador: José Coelho de Pina

Introdução Diagrama de Classes Diagrama de Seqüência Diagrama de Atividades. Diagramas UML. Classe, Seqüência e Atividades. Marcio E. F.

PROGRAMAÇÃO DE MICROPROCESSADORES 2011 / 2012

Enviar imagens de uma câmera para um smartphone Android PowerShot G1 X Mark II, PowerShot SX600 HS, PowerShot N100, PowerShot SX700 HS, PowerShot

Ferramentas Web, Web 2.0 e Software Livre em EVT

Regras do jogo equipe de evolução de software /6/2006 versão 2.1

REDES INTEGRADAS DE TELECOMUNICAÇÕES I 2003 / 2004

O Manual do Kanagram. Danny Allen Tradução: José Pires

especificação técnica binca SEGURANÇA + ENTRETENIMENTO

Escola Sec. do Padrão da Légua OE: TIC Ano: 2008/2009

Transcrição:

[ Arquitecturas Móveis ] 2017/2018 Relatório Chess Game Trabalho Prático de AMOV Hugo Santos, 21220593 Rafael Henriques, 21250203 2017/2018 [ Arquitecturas Móveis ] 1

Índice 1. INTRODUÇÃO 4 1.1. Descrição do Jogo 4 1.2. Âmbito de Desenvolvimento 4 2. FUNCIONALIDADES 4 2.1. Gestão de Perfil 4 2.1.1. Foto de Perfil 4 2.1.2. Histórico 4 2.2. Três Modos de Jogo 5 2.2.1. Single Player 5 2.2.2. Multiplayer 5 2.2.3. Online 5 2.3. Xadrez com Relógio 5 2.4. Suporte Multilingual 6 2.5. Suporte a Diferentes Orientações de Ecrã 6 2.6. Interface Intuitiva 6 3. MODELO 6 3.1. Chess Game 6 3.1.1. Board 6 3.1.2. Pieces 7 3.1.3. Player 7 3.2. Comunicação 7 3.3. Base de Dados Local 7 4. ATIVIDADES 7 4.1. Menu Inicial 7 4.2. Informação de Perfil 7 4.3. Edição de Perfil 8 4.4. Atividade de Jogo 8 5. ARQUITETURA DO SISTEMA 8 5.1. Sistema Operativo 8 5.2. Armazenamento de Dados 8 5.3. Temporizador 8 5.4. Ficheiros de Recurso 9 5.5. Permissões 9 5.6. Comunicação via Network 9 2017/2018 [ Arquitecturas Móveis ] 2

6. CONCLUSÃO 10 2017/2018 [ Arquitecturas Móveis ] 3

1. INTRODUÇÃO 1.1. Descrição do Jogo A aplicação desenvolvida corresponde a um Jogo de Xadrez em Android, com o intuito de poder ser jogado contra o computador, Multijogador no mesmo dispositivo ou Online. Pode ser jogado em qualquer smartphone Android com versão mínima de Android 5.0. 1.2. Âmbito de Desenvolvimento O jogo foi desenvolvido regendo-se por um enunciado fornecido, por forma a consolidar a matéria da Unidade Curricular Arquiteturas Móveis. O código fonte encontra-se em inglês. 2. FUNCIONALIDADES Nos subtópicos seguintes descreve-se as principais funcionalidades da aplicação. 2.1. Gestão de Perfil A aplicação tem um perfil único, onde este pode ser configurado com um nickname e uma foto de perfil. Também é possível verificar os histórico de jogos realizados. 2.1.1. Foto de Perfil Para tirar uma foto de perfil, esta recorre à câmara traseira do dispositivo. Após tirar a foto, ela será guardada como foto de perfil e a foto anterior (caso exista) será eliminada. 2.1.2. Histórico Um histórico de jogadas é gerado após cada jogo concluído ou em que houve desistência, com o nickname do oponente, o modo de jogo e o resultado Os resultados podem ser os seguintes: Perdeu; Ganhou; Empatou. 2017/2018 [ Arquitecturas Móveis ] 4

Os modos de jogo podem ser os seguintes: Singleplayer; Multiplayer; Online. 2.2. Três Modos de Jogo Existem três modos de jogo, mas as regras a seguir são iguais em todos eles, exemplo no modo multijogador que suporta relógio. 2.2.1. Single Player Este modo de jogo corresponde a um jogo contra o computador. Existe uma única dificuldade, onde o computador joga uma peça aleatória para uma casa aleatória. 2.2.2. Multiplayer Este modo de jogo corresponde a um jogo entre dois jogadores, no mesmo dispositivo. Antes de iniciar o jogo é necessário escolher o nome para o adversário, e o tempo de relógio. O jogo com relógio é obrigatório neste modo de jogo. 2.2.3. Online Este modo de jogo corresponde a um jogo entre dois jogadores, em dispositivos diferentes. Antes de iniciar o jogo é preciso ter em atenção que o jogador a juntar-se terá de estar conectado à mesma rede que o jogador criado do jogo. Será necessário escrever o IP no jogador a juntar-se. O procedimento está explícito no Manual de Utilizador. 2.3. Xadrez com Relógio O modo de jogo Multiplayer suporta jogo com relógio, onde este pode variar entre 10 e 120 minutos. O jogo com relógio é obrigatório, neste modo, tendo sido esta funcionalidade adicionada para cumprir um dos requisitos do enunciado do trabalho prático. 2017/2018 [ Arquitecturas Móveis ] 5

2.4. Suporte Multilingual O jogo suporta duas línguas Inglês e Português. A linguagem por defeito é o Inglês, mas caso o dispositivo esteja em Português a aplicação será apresentado em Português. 2.5. Suporte a Diferentes Orientações de Ecrã Durante o jogo é suportado duas orientações de ecrã portrait e landscape, sendo possível mudar a qualquer altura. No menu e configurações apenas é suportado a orientação de ecrã portrait. 2.6. Interface Intuitiva A interface foi desenvolvida por forma a ser intuitiva para o utilizador, sendo que o Android já propulsiona um bom design para os componentes. 3. MODELO A aplicação foi desenvolvida recorrendo a uma arquitetura MVC (Model-View-Controller) por forma a organizar o código de melhor forma, tornado o código fonte mais modular. 3.1. Chess Game A lógica do jogo de xadrez está divida em três packages essências: Board; Pieces; Player. 3.1.1. Board Package representa os algoritmos que visam manipular a informação no tabuleiro e transição entre movimentos. Contém as seguintes classes: Casa (Tile); Tabuleiro (Board); Movimento (Move); Transição de um Movimento para outro (MoveTransition). Classes auxiliares, que simplifica a complexidade das classes anteriores. 2017/2018 [ Arquitecturas Móveis ] 6

3.1.2. Pieces Package que representa as peças constituintes de um jogo de xadrez, sendo estas subclasses de Piece. 3.1.3. Player Package que representa um jogador, sendo que durante um jogo apenas existem duas instâncias desta classe, uma para cada jogador. 3.2. Comunicação Para estabelecer comunicação entre dois dispositivos e fazer um jogo online, é utilizada a técnica de troca de mensagem. 3.3. Base de Dados Local Para armazenar dados relativamente aos jogos terminados, recorre-se a uma Base de Dados Local, 4. ATIVIDADES 4.1. Menu Inicial Atividade inicial, onde o jogador pode indicar que tipo de jogo pretende jogar, ou gerir o seu perfil. As opções disponibilizadas são: Meu Perfil; Singleplayer; Multiplayer; Online 4.2. Informação de Perfil Ao escolher a opção Meu Perfil no menu inicial, esta atividade será ativa. Dados relativamente ao jogador serão mostrados, assim com o histórico de jogos realizados. 2017/2018 [ Arquitecturas Móveis ] 7

4.3. Edição de Perfil O jogador nesta atividade pode tirar uma nova foto de perfil (caso não exista) ou alterar o nickname. 4.4. Atividade de Jogo Atividade composta pelo tabuleiro de jogo, peças, nome dos jogadores e número de peças capturadas, onde todo o jogo de xadrez é desenrolado. 5. ARQUITETURA DO SISTEMA 5.1. Sistema Operativo O Sistema Operativo para a qual a aplicação foi desenvolvida é o Android. Foi escolhida a API 21 do Android, correspondendo ao requisito mínimo da versão Android 5.0. 5.2. Armazenamento de Dados A figura seguinte representa as duas tabelas físicas utilizadas no trabalho prático. A sua implementação foi feita às custas SQLiteOpenHelper, uma classe que ajuda a manipular a gestão da base de dados e de versões, fornecida pela biblioteca android. Link para a Documentação do SQLiteOpenHelper https://developer.android.com/reference/android/database/sqlite/sqliteopenhelper.html 5.3. Temporizador O temporizador foi implementado utilizando o CountDownTimer. Cada vez que um jogador faz uma jogada e termina-a, o contador do adversário é iniciado. A cada callback de 1 milisegundo, o tempo é guardado. 2017/2018 [ Arquitecturas Móveis ] 8

Link para a Documentação do CountDownTimer https://developer.android.com/reference/android/os/countdowntimer.html 5.4. Ficheiros de Recurso A recorre a diversos ficheiros de recurso, sendo eles: Font: Estilo de letra utilizado, chamado julius_sans_one; 7 Ficheiros de Layout, correspondendo às diversas atividades; Colors: Onde o valor hexadecimal das cores é guardado; String: Dois ficheiros que representam a aplicação em Idioma Inglês e Português, respetivamente. 5.5. Permissões No ficheiro de manifesto diversas permissões são necessárias para poder aceder a um conjunto de funcionalidade, nomeadamente externas à aplicação. As permissões são as seguintes: < uses-permission android :name= "android.permission.internet" /> < uses-permission android :name= "android.permission.access_network_state" /> < uses-permission android :name= "android.permission.access_wifi_state" /> < uses-permission android :name= "android.permission.camera" /> < uses-permission android :name= "android.permission.read_external_storage" /> < uses-permission android :name= "android.permission.write_external_storage" /> As primeiras três permissões são necessárias para poder enviar e receber dados via wifi. As últimas três permissões são necessárias para aceder à câmara do dispositivo, ler e escrever fotos do armazenamento. 5.6. Comunicação via Network A comunicação via Network foi utilizada como solução para dois jogadores poderem jogar, cada um no seu dispositivo. Para resolver este problema, foi utilizado dois sockets via protocolo TCP, onde estes enviam mensagens de texto. Dois tipos de mensagens de texto são enviadas, no início do jogo é enviado o nome do jogador, para o adversário, as mensagens subsequentes são as coordenada no tabuleiro das jogadas a serem feitas, ou seja a posição da peça a mover e a posição candidata. 2017/2018 [ Arquitecturas Móveis ] 9

6. CONCLUSÃO Devido ao tempo disponibilizado, o programa foi desenvolvido sem auxílio de diagramas UML, o que nenhum destes é apresentado no relatório, como por exemplo Diagrama de Classes. Foi possível a nível prático aplicar diversos conceitos abordados nas aulas, por forma a construir a aplicação e recorrendo ao https://developer.android.com/studio/intro/index.html, por forma explorar as diversas ferramentas fornecidas pelo sdk de android, sendo um desses exemplos o CountDownTimer. 2017/2018 [ Arquitecturas Móveis ] 10