Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
Universidade Tecnológica Federal do Paraná Disciplina: IF62C - Fundamentos de Programação 2. Professores: Robinson Vida Noronha e Danillo Leal Belmonte.
1
PÔQUER
Trabalho feito e desenvolvido pelos alunos: João Crespim
Juscelino Dorneles Weslley Picone
Curitiba, 27 de agosto de 2014
Universidade Tecnológica Federal do Paraná Disciplina: IF62C - Fundamentos de Programação 2. Professores: Robinson Vida Noronha e Danillo Leal Belmonte.
2
Í ndice
Introdução 3
Dados Técnicos do Jogo 3
Dinâmica do Jogo 3
Dicionário do Pôquer 6
Ranking de Combinações 6
Adaptação do Jogo para o Ambiente Computacional 9
Disposição dos jogadores e sua representação no Ambiente Computacional 10
Modelo Computacional 11
Diagrama de Classes – Completo 12
Diagrama de Sequência – Parte 15
Referências 16
Universidade Tecnológica Federal do Paraná Disciplina: IF62C - Fundamentos de Programação 2. Professores: Robinson Vida Noronha e Danillo Leal Belmonte.
3
Íntroduçã o
Pôquer é um jogo de sorte e estratégia, onde o jogador apostará na combinação de suas cartas
com outras cinco cartas da mesa para obter a maior pontuação e assim ganhar o valor total do
pot.
Figura 1 – Cartas do baralho e as tradicionais fichas de pôquer. Fonte: Win Poker Game¹
Dãdos Te cnicos do Jogo
Propriedade Valor
Quantidade de Jogadores 2 a 6
Objetivo Combinar as cartas em mãos com as cartas da mesa e fazer a combinação de valor mais alto para ganhar a rodada
Quantidade de Cartas 52
Vencedor Vence o único jogador com fichas restantes na mesa.
Dinã micã do Jogo
No início de cada rodada, um jogador é escolhido para ser o Dealer e esse jogador recebe
o Dealer Button. Este botão passa na mesa, no sentido horário, na medida em que as
rodadas avançam.
Antes do jogo começar, o jogador a esquerda do dealer button coloca a small blind. O próximo
jogador no sentido horário colocará o big blind, que é o valor que corresponderá de acordo
Universidade Tecnológica Federal do Paraná Disciplina: IF62C - Fundamentos de Programação 2. Professores: Robinson Vida Noronha e Danillo Leal Belmonte.
4
com o stakes e a estrutura de apostas. Cada rodada é definida em quatro turnos: Pré-flop,
Flop, Turn e River.
Pré-Flop Cada jogador receberá duas cartas nesse turno, onde só ele poderá vê-las. O jogador
imediatamente a esquerda do jogador que fez o big blind irá iniciar a rodada. Nesse turno,
cada jogador terá cinco opções: Apostar, Pagar, Correr, Aumentar, Check.
Apostar: caso ainda não tenha sido feito uma aposta, o jogador pode escolher uma quantia
para apostar ou então apostar tudo;
Pagar: Paga a quantia em que foi apostado;
Correr: O jogador abre mão de suas cartas e também do dinheiro do pote;
Aumentar: O jogador aumenta a posta, podendo também apostar all-in.
Check: Caso nenhum jogador tenha feito uma aposta, o jogador poderá apenas checar e passar
sua vez.
O turno só termina após todos os jogadores terem apostado ou então todos os jogadores
terem apenas checado.
Flop Três cartas são mostradas na mesa, com seus valores compartilhados com todos os jogadores.
O primeiro jogador a jogar nesse e nos próximos turnos será aquele imediatamente a esquerda
do dealer. As regras de aposta são iguais as do pré-flop.
Turn A quarta carta é mostrada na mesa, iniciando a terceira rodada de apostas com as mesmas
regras do Flop
River Nesse turno a última carta é mostrada e então é iniciada a última rodada de aposta. Após
todos os jogadores terem apostado ou checado, os valores da cartas serão checados. A melhor
combinação ganhará a rodada levando o valor do pot. Caso haja empate, o valor do pot será
dividido em partes iguais entre os ganhadores. O fluxograma 1 a seguir apresenta a
Funcionamento e a dinâmica do jogo de forma estruturada.
Universidade Tecnológica Federal do Paraná Disciplina: IF62C - Fundamentos de Programação 2. Professores: Robinson Vida Noronha e Danillo Leal Belmonte.
5
Fluxograma 1
Universidade Tecnológica Federal do Paraná Disciplina: IF62C - Fundamentos de Programação 2. Professores: Robinson Vida Noronha e Danillo Leal Belmonte.
6
Dicionã rio do Po quer
All-in: Apostar todas suas fichas.
Big Blind: É a aposta de valor total da rodada.
Blind: É a aposta inicial feita por todos os jogadores antes de ser distribuídas qualquer carta.
Check: Não apostar ou aumentar, essa opção só é disponível a partir do pré-flop e caso
nenhum jogador tenha apostado.
Dealer: Geralmente o jogador que dá as cartas, ele também recebe o Dealer Button. Caso haja
um dealer profissional, o Dealer Button será dado para os jogadores apenas na forma de
marcar o jogador que irá iniciar.
Dealer Button: Marcação que determina o primeiro jogador da rodada.
Flop: Turno em que são apresentadas as três primeiras cartas comunitárias.
Pot: Valor arrecado das apostas de todos os turnos da rodada. O jogador que tiver a melhor
combinação de cartas ganhará o pot da rodada.
Pré-Flop: Turno em que cada jogador receberá duas cartas e serão feitas as primeiras blinds.
River: É mostrada a quinta e última carta e feita a última rodada de aposta.
Small Blind: É a geralmente de 1/3 a 2/3 da valor total da rodada.
Turn: Turno em que é mostrada a quarta carta comunitária.
Rãnking de Combinãço es
Royal Flush É a combinação mais forte do jogo, sequência começando no 10 e terminando no A do mesmo
naipe.
Figura 2 – Royal Flush Fonte: Jogatina²
Universidade Tecnológica Federal do Paraná Disciplina: IF62C - Fundamentos de Programação 2. Professores: Robinson Vida Noronha e Danillo Leal Belmonte.
7
Straight Flush Sequência de mesmo naipe.
Figura 3 – Straight Flush Fonte: Jogatina²
Quadra Quatro cartas do mesmo valor.
Figura 4 – Quadra Fonte: Jogatina²
Full House Combinação composta de uma trica e um par.
Figura 5 – Full House Fonte: Jogatina²
Flush Cinco cartas aleatórias do mesmo naipe.
Universidade Tecnológica Federal do Paraná Disciplina: IF62C - Fundamentos de Programação 2. Professores: Robinson Vida Noronha e Danillo Leal Belmonte.
8
Figura 6 – Flush Fonte: Jogatina²
Sequência Cinco cartas em sequência, porém de naipes diferentes.
Figura 7 – Sequência Fonte: Jogatina²
Trinca Três cartas iguais.
Figura 8 – Trinca Fonte: Jogatina²
Dois pares Dois pares de cartas diferentes.
Figura 9– Dois pares Fonte: Jogatina²
Um par Um par de cartas.
Figura 10 – Um par
Universidade Tecnológica Federal do Paraná Disciplina: IF62C - Fundamentos de Programação 2. Professores: Robinson Vida Noronha e Danillo Leal Belmonte.
9
Fonte: Jogatina²
Carta alta Carta de valor alto.
Figura 11 – Carta alta Ás Fonte: Jogatina²
A ordem crescente de cartas é :
Figura 12 – Ordem de valor das cartas Fonte: Jogatina²
Adãptãçã o do Jogo pãrã o Ambiente Computãcionãl
O jogo se encaixa perfeitamente no ambiente computacional, não sendo necessária nenhuma
alteração nas regras para que o mesmo seja adequado ao ambiente.
Universidade Tecnológica Federal do Paraná Disciplina: IF62C - Fundamentos de Programação 2. Professores: Robinson Vida Noronha e Danillo Leal Belmonte.
10
Disposiçã o dos Jogãdores e suã Representãçã o no Ambiente Computãcionãl
Os jogadores são dispostos em circulo ao redor da mesa onde as cartas são apresentadas,
como ilustra a Figura 13.
A figura acima mostra um jogo com 4 lugares ocupados.
A partir do posicionamento inicial, o próximo a jogar é sempre o jogador representado na posição à esquerda. O jogador inicial é alterado em cada mão, começando também pelo jogador a esquerda do que iniciou a mão anterior. Na representação computacional, cada lugar ocupado é um cliente numerado de 0 a 5. O jogo pode ter de dois a seis jogadores. A mesa representa o servidor, que:
Irá embaralhar as cartas.
Dar as cartas aos jogadores.
Controlar o valor das apostas e o trafego de informações entre os jogadores.
Identificar quem é o jogador da vez e o jogador a esquerda.
Irá fazer o jogador apostar a small ou a big blind automaticamente quando for sua vez.
Verificará qual o jogador vencedor da mão.
Inicia e encerra cada partida e rodada.
Fígura 13 – Disposição de 4 jogadores em um mesa Fonte: os autores
Universidade Tecnológica Federal do Paraná Disciplina: IF62C - Fundamentos de Programação 2. Professores: Robinson Vida Noronha e Danillo Leal Belmonte.
11
Modelo Computacional
Pacotes O programa apresenta dois pacotes: PokerRed e Screensframework. PokerRed é o pacote que fica responsável pela função do servidor e Screenframework é responsável pela função do cliente-jogador.
Classes O jogo é composto por 7 classes na parte do servidor e 6 classes para o cliente.
Pacote PokerRed
Avaliador
Responsável por definir a pontuação das combinações de cartas.
Carta
Ele determina o naipe e valor das cartas. O naipe varia de 0 a 3 enquanto o valor varia de 0 a
12.
Baralho
Responsável por embaralhar as cartas previamente estabelecidas pela classe Carta.
Jogador
Determina o saldo de fichas do jogador e o valor de sua aposta.
Mesa
Responsável pelos turnos de cada rodada, das blinds e do valor do pot.
Pokerthread
Classe responsável pela comunicação Servidor-Cliente
PokerRed
É a classe principal e controla os lugares disponíveis da mesa.
Universidade Tecnológica Federal do Paraná Disciplina: IF62C - Fundamentos de Programação 2. Professores: Robinson Vida Noronha e Danillo Leal Belmonte.
12
Pacote Screenframework
Screen1Controller, Screen2Controller e Screen3Controller
Essas três classes são responsáveis às telas de Menu Inicial, Regras e Login.
Screen4Controller
Tela do jogo, responsável pela comunicação Cliente-Servidor.
ScreensController
Classe que controla as quatro screens anteriores.
ScreensFramework
Determina as definições das telas.
Diãgrãmã de Clãsses - Completo
Universidade Tecnológica Federal do Paraná Disciplina: IF62C - Fundamentos de Programação 2. Professores: Robinson Vida Noronha e Danillo Leal Belmonte.
13
Universidade Tecnológica Federal do Paraná Disciplina: IF62C - Fundamentos de Programação 2. Professores: Robinson Vida Noronha e Danillo Leal Belmonte.
14
Universidade Tecnológica Federal do Paraná Disciplina: IF62C - Fundamentos de Programação 2. Professores: Robinson Vida Noronha e Danillo Leal Belmonte.
15
Diãgrãmã de Seque nciã - Pãrte
Universidade Tecnológica Federal do Paraná Disciplina: IF62C - Fundamentos de Programação 2. Professores: Robinson Vida Noronha e Danillo Leal Belmonte.
16
Refere nciãs
¹ - http://win-poker-game.info/
² - http://www.jogatina.com/regras-como-jogar-poker.html