• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

ForsakeNzk

[VB6] Ajuda com programa de Poker

6 mensagens neste tópico

Olá boa tarde, tava aqui a tentar fazer um projecto para Bases de Programação mas tenho aqui um problema nas funções de gerar cartas.

O meu programa é um simulador de poker como podem ver:

http://rapidshare.com/files/211057488/Codigo_Visual_Basic.rar.html

Queria que me ajudassem a por a função de gerar 5 cartas a trabalhar porque a partir de aí acho que consigo fazer o programa.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Para a próxima tenta ser mais especifico (onde dá erro, qual a função, etc).

Alguns problemas que tens no código:

1) Para carregar uma imagens usas o LoadPicture() e não indicas apenas o nome

            Form2.HandImg(i).Picture = LoadPicture("1.jpg")

2) A função para gerar números aleatórios entre 1 e 50 não está correcta. Deves usar assim:

            randomcard = Int((50 * Rnd()) + 1)

3) A função para gerar o número aleatório fora do ciclo For, vai definir sempre a mesma carta para as 5 posições. É incorrecto!

4) Tantos if's de seguida ... podes usar um Select Case e simplifica bastante o código. Ainda assim, e uma vez que tens sempre cartas para o número aleatório, podes usar:

            Form2.HandImg(i - 1).Picture = LoadPicture(randomcard & ".jpg")

(não te esqueças que um array tem base 0 ou seja a primeira posição é 0)

Resumindo ... a função pode ficar apenas assim:

Function Gerar5Cartas(g As Integer) As Integer
Dim randomcard As Integer

Randomize

For i = 1 To 5
randomcard = Int((50 * Rnd()) + 1)
Form2.HandImg(i - 1).Picture = LoadPicture(randomcard & ".jpg")
Next i

End Function

Mas ainda não está completo :P Desta forma podes sempre ter cartas duplicadas.

Não te vou fazer tudo ... puxa lá um pouco pela cabeça agora :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Claro muito obrigado mesmo! Ajudaste-me bastante :P

Eu so queria mesmo ajuda naquela função! Nao quero que me façam a papinha toda gosto que as coisas me dêm "pica" :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Claro muito obrigado mesmo! Ajudaste-me bastante :P

Eu so queria mesmo ajuda naquela função! Nao quero que me façam a papinha toda gosto que as coisas me dêm "pica" :P

Optimo!

Quando o teu problema está resolvido podes (e deves) carregar na opção "Topic Solved" para indicar que o tópico está resolvido.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Antes demais não percebo NADA de poker... além do obvio (sequências... e pares...)

Acho que tens que repensar a tua "aproximação" à geração de cartas...

Na minha opinião em vez de teres as cartas todas do 1.jpg até 52.jpg

Eu teria algo do género:

NAIPES

01 - Ouros

02 - Copas

03 - Espadas

04 - Paus

CARTAS

01 - As

02 - Duque

03 - Terno

04 - Quadra

05 - Quina

06 - Sena

07 - Bisca

08 - Oito

09 - Nove

10 - Dez

11 - Valete

12 - Dama

13 - Rei

Depois mudar o nome das cartas conforme esta lista, por exemplo a carta 44.jpg (Quina de espadas) seria 0305.jpg

Ao gerares a 5 cartas consegues garantir na mesma o Random mas por fases.. geras um Random do Naipe e depois um random da Carta e juntas a String...

Com este sistema além de ser mais profissional, podes então fazer toda a analise que pretendes:

- Saber se nas 5 cartas são todas do mesmo Naipe através do "Left"

- Saber se nas 5 cartas tens 2 ou mais cartas do mesmo valor através do "Right"

- Saber se tens sequência

- ...

Acho que esta aproximação garante todos os cenarios que possam aparecer :P

P.S. Tenta sempre que possível dar nomes aos controlos ex. Label7 devia ser lblTitlePlayer, Image1 devia ser imgMesa, e todos os botões deviam começar por cmdQualquerCoisa...

o código fica muito mais legível quando atribuis valores :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora