Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

cmpc09

BlackJack/Jogo do 21 - Dúvida em repetição das Cartas

Mensagens Recomendadas

cmpc09

Boas Pessoal :)

Sou ainda um novato em VisualBasic, e estou neste momento a desenvolver um programa para a disciplina de Aplicações Informáticas.

Nesse programa (jogo do 21), tudo trabalha lindamente menos a não-repetição das cartas.

Alguém me pode ajudar? :s

Randomize()
            cartas = Int(52 * Rnd() + 1)
            soma = soma + 1
            pontjogador = pontjogador + valor(cartas)

            If soma = 1 Then
                PictureBox2.Image = baralho(cartas)
                Button2.Enabled = True
            End If
            If soma = 2 Then
                PictureBox3.Image = baralho(cartas)
            End If
            If soma = 3 Then
                PictureBox4.Image = baralho(cartas)
            End If
            If soma = 4 Then
                PictureBox5.Image = baralho(cartas)
            End If
            If soma = 5 Then
                PictureBox6.Image = baralho(cartas)
            End If
            If soma = 6 Then
                PictureBox7.Image = baralho(cartas)
            End If
            If soma = 7 Then
                PictureBox8.Image = baralho(cartas)
            End If
            If soma = 8 Then
                PictureBox9.Image = baralho(cartas)
            End If

            If pontjogador > 21 Then
                MsgBox("A sua Pontuação é superior a 21. O iMac venceu!", MsgBoxStyle.Information)
                Button1.Enabled = False
                Button2.Enabled = False
                Button3.Enabled = True
                PictureBox1.Enabled = False
                bancajogador = bancajogador - aposta
                bancapc = bancapc + aposta
                vitpc = vitpc + 1
            End If
            Label16.Text = pontjogador
            Label6.Text = bancajogador
            Label5.Text = bancapc
            Label4.Text = vitpc

Nota: O vector "valor" contém o valor de cada carta (por exemplo, Áses=10; 2 de copas=2; dama=10)

        O vector "baralho" contém as imagens das 52 cartas do baralho.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
jorgepinho

Oi,

Para não se repetirem, tens de ir gravando as anteriores algures (num vector por exemplo) e quando se escolhes, verificas se já foi escolhida...

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
jorgepinho

mesmo que não saibas VB, de certeza que consegues imaginar o algoritmo...

Lista de cartas usadas = LCU

1 - escolher carta

2 - verificar na LCU se já lá está

2. 1 - se sim volta a 1

2.2 - se não usa a carta e grava na LCU

3 - .......

4 - vai a 1

a LCU pode ser do tipo

Dim usadas(52) As Integer

Tens de criar uma função que verifica se a carta já foi usada

Partilhar esta mensagem


Ligação 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

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.