brigas-team team mailing list archive
-
brigas-team team
-
Mailing list archive
-
Message #00048
Tarefas para o BRiGaS de Truco
Como eu coloquei o brainstorm há exatamente 9 dias e ninguém se
pronunciou, então eu vou supor q está tudo ok (oq na verdade não está)
TrucoCore:
Para implementar o TrucoCore vamos seguir estas regras:
http://www.rksoft.com.br/html/truco.htm
Funcionalidades:
Começar o jogo.
Dar as cartas.
Tirar o vira.
Receber jogada.
Receber pedido de aumento de aposta (truco, seis, nove e doze).
Receber resposta de aumento de aposta.
Determinar o ganhador da rodada.
Determinar o ganhador da mão.
Determinar o ganhador do jogo.
Aplicar regras de empate na primeira rodada.
Aplicar regras de empate na segunda rodada.
Aplicar regras de empate na terceira rodada.
Aplicar regras de empate na primeira e segunda rodada.
Aplicar regras de empate nas três rodada.
Calcular mão de onze.
Calcular mão de ferro.
O trucoCore deve possuir:
Jogadores.
Baralho.
Pontuação.
Logicamente o baralho deve possuir cartas e o jogador também. É melhor
q um jogador possua um time do q o time possua os jogadores.
Fluxo do TrucoCore:
01. +Começar jogo
Disparar evento jogo começado
-Começar mão ->03
02. +Receber jogada
Disparar evento jogada realizada
-Terminar rodada? ->05
03. -Começar mão
Dar cartas
Tirar vira
Disparar evento mão começada
Mão onze?
Disparar evento mão onze?
Mão ferro?
Disparar evento mão ferro?
-Começar rodada ->04
04. -Começar rodada
Disparar evento rodada começada
05. -Terminar rodada
Guardar pontuação
Limpa jogadas
-Começar rodada? ->04
-Terminar mão? ->06
06. -Terminar mão
Truco rejeitado?
Empate primeira rodada?
Empate segunda rodada?
Empate terceira rodada?
Empate primeira segunda rodada?
Empate todas rodadas?
Disparar evento mão terminada
-Terminar jogo? ->09
07. +Aumento aposta
Disparar evento aposta aumentada
08. +Respota aumento aposta
Guarda resposta
Disparar evento resposta aumento aposta
-Terminar mão? ->06
09. -Terminar Jogo
Disparar evento fim de jogo
Quem se dispor a fazer um diagrama disso aí eu fico grato não estou
com saco pra fazer...
TrucoService:
Deve herdar da classe GameService q estará no GameServer.
Funcionalidades:
Criar partida
Encerrar partida
Métodos SOAP:
Pegar cartas
Pegar vira
Pegar aumento aposta
Pegar resposta aumento aposta
Pegar ganhador rodada
Pegar ganhador mão
Pegar ganhador jogo
Pegar carta jogada
Pegar mao onze
Pegar mao ferro
Jogar carta
Pedir aumento aposta
Reponder aumento aposta
Eventos:
Jogo começado
Mão começada
Rodada começada
Jogada realizada
Aposta aumentada
Resposta aumento aposta
Mão terminada
Mão ferro
Mão onze
Fim de jogo
Game Control Point:
Esse carinha pertence ao game server, mas eu esqueci completamente do
bixinho, vou colocá-lo aqui pra ele não ficar sem lugar, mas no
launchpad ele vai pertencer ao game server.
Ele deve implentar uma comunicação para todos os métodos SOAPs do game
manager e assinar todos seus eventos.
Truco Control Point:
Esse sim é do projeto do truco, é um control point para gerenciar o
serviço do truco. Provavelmente vai herdar da classe GameControlPoint.
Ele deve implentar uma comunicação para todos os métodos SOAPs do
truco service e assinar todos seus eventos.
Interface do Game Control Point:
Deve ser uma interface bem clean e simples. A minha ideia é utilizar o
python-elementary, o elementary é uma biblioteca C para interfaces
touchscreen, bem legal. Já fiz uns programinhas teste com elementary
C, mas só rodei os testes q vem na python-elementary, acho q não
teremos problemas.
A ideia é criar um toolbar com cada item sendo um jogo, cada item
destes mostra um pager, o pager tem duas páginas, uma delas tem uma
list com as salas disponíveis e um botão de criar, ao selecionar a
sala na list o pager vai rolar para a outra página, esta terá um frame
para cada jogador na sala e um botão para sair.
Interface do Truco Control Point:
Vai ser integrada com a interface do control point. Ela vai aparecer
quando os quatro jogadores entrarem na sala e o jogo começar. A ideia
é q ela seja um mix de edje com o elementary, pois o elementary tem
suporte a objetos edje nele, o elementary vai ser usado para botões,
mensagens e menus. O edje vai ser somente para as cartas e a interação
com elas. Mas essa interface vai ser bem parecida com o mockup in-game
do ETruco: https://etruco.svn.sourceforge.net/svnroot/etruco/trunk/images/screen-in_game.svg
(melhor visualizado no inkscape!) só trocando os botões e mensagens (e
possivelmente as cores), pelos do elementary, isso pra poder ficar no
mesmo estilo da interface do game control point.
--
=======================
Diogo Dutra Albuquerque
Meu Curriculum Lattes: http://lattes.cnpq.br/3624796077679922
Follow ups