← Back to team overview

brigas-team team mailing list archive

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