[VB6] p_PoKer - Projecto de poker em construção

Procura jogos na net. No caso do blackjack, acho que tens um saldo limitado logo de início. Não sei jogar póquer, mas acho que, se jogares aqueles jogos flash que se encontram facilmente, deves ficar com uma ideia inicial do que fazer :)
 
Status:

- Ja está feita a conecção entre o serv e um cliente (por enquanto ainda nem seker criei o 2º cliente).
- No cliente criei um filtro com um select case que sempre que algo (mensagem - que contem sempre no inicio um numero inteiro) é enviado ele verifica qual esse numero e assim sabe o que fazer com a informação que foi enviada: dar cartas, turno, chat, etc...) - acham bem ter feito isto assim ou aconselham de outra maneira (se for mais eficiente claro)?

Estou preocupado com a parte que penso que será provavelmente a mais dificil neste projecto: como classificar as mãos (as cartas do jogador) e saber quem ganha. Já pensei fazer com a atribuição de valores/pontos do género: um par vale 10 e depois o tipo de par definiria o algarismo das unidades ex: 2O2C -> 10 3E3O -> 11 e depois comparar os pontos da mao com a mao do adversario mas penso que esta não me parece ser dos metodos mais fiaveis. sujestoes plz!!

Aproveito para acrescentar tambem que já me decidi no tipo de poker: será o Texas hold'em.

Obrigado pela atenção
 
Para a pontuação, eu faria algo assim:
Criaria uma string com o par N.ºCartas-Naipe, separados por um caracter especial/não usado na cotação.

Exemplo: 2.Q:1.K:2.4

Aqui, seriam duas Damas, um Rei e dois Quatros.
Todos os utilizadores teriam que enviar as mãos para o servidor, claro.


O ideal, seria teres uma lista com todos os casos possíveis de mao (full-house, Ace-high flush, etc...) e criar um sistema de pontuação igual ao das mãos dos user.
Depois irias comparar cada item dessa lista com a mão do utilizador, e a ordenação faz-se por comparação simples.

Código:
Public Function Classificacao(mao1 As String, mao2 As String, mao3 As String, _
                                       mao4 As String) As Integer
Dim pontos(80) As String
'81 posiçoes devem chegar, digo eu...
'preencher "pontos" com todos os casos possiveis,
'fazes isto com uns ciclos facilmente
Dim class_final(3) As Integer

For i = 0 To 80
   If mao1 = pontos(i) Then class_final(0) = i
   If mao2 = pontos(i) Then class_final(1) = i
   If mao3 = pontos(i) Then class_final(2) = i
   If mao4 = pontos(i) Then class_final(3) = i
Next
Classificacao = class_final

End Function
Depois, basta ignorar as posições vazias.

este caso nao prevê empates nem é o mais optimizado, apenas o mais simples de implementar.
 
Última edição:
Back
Topo