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

zEs78

Número Aleatório

12 mensagens neste tópico

Boas... estava a usar o seguinte código para que o pc escolhesse um número aleatório entre 1 e 6..

a = Int(Rnd() * 6) + 1

txtBox.Text = a

ele vai muito bem a variar.. mas se lhe "apetecer" escolher o 6 depois nunca mais sai do sei.. dou-vos um exemplo:

1ª vez: 3

2ª vez: 5

3ª vez: 2

4ª vez: 3

5ª vez: 1

6ª vez: 6

7ª vez: 6

8ª vez: 6

9ª vez: 6

10ª vez: 6

11ª vez: 6

Basta-lhe apanhar o número 6 uma vez que depois escolhe-o sempre..

alguém sabe como evito isto? ou arranja outro código em que não aconteça isto?

cumpz! :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O VB.Net traz uma nova forma de gerar números "aleartórios".

Dim rnd as New Random
Dim a as Integer
a = rnd.Next(1,6)
txtBox.Text = a.ToString()

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

secalhar nao era do codigo para o numero aleatorio.. =/

é que eu pus os numeros aleatorios para sairem numa caixa de texto.. tudo bem ate aqui..

depois meti para quando aparecesse o 1 para aparecer noutra caixa "O Computador escolheu o número 1" e assim para todos..

tipo.. aquilo ao inicio funciona bem.. aparece por exemplo o 2 na caixa e apara a mensagem "O Computador escolheu o número 2", depois aparece o 4, o 1, etc (por exemplo).. mas chega a uma altura em que diz na caixa ""O Computador escolheu o número 6 mas ele escolheu outro.. mas mesmo na caixa com o número a variar a mensagem nao se altera aparece sempre ""O Computador escolheu o número 6"..

podia ter sido eu que podia ter metido mal e por quando aparecesse o 5 ou 2, etc para aparecer na mesma aquela msg.. mas não está correcto..

secalhar não me expliquei mt bem.. deve ter ficado um pouco confuso.. =/

Por isso se alguem souber a solução que me adicione no MSN que eu tento explicar melhor..

msn = zes.7ty.8ight@gmail.com

cumpz!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

E de certeza que o valor do número se altera?

Experimenta ainda criar outra Textbox para verificares o valor à parte.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

o valor altera-se... porque vejo os número a alterarem na caixa...

mas por exemplo.. pus para se aparece-se noutra caixa o 1 para dizer que o PC escolheu o 1 e assim em todos os número..

mas ele só faz bem as duas primeiras vejas...

exemplo.

1ª vez: 4 (O PC escolheu o número 4)

2ª vez: 1 (O PC escolheu o número 1)

3ª vez: 3 (O PC escolheu o número 6)

4ª vez: 4 (O PC escolheu o número 6)

6ª vez: 2 (O PC escolheu o número 6)

7ª vez: 1 (O PC escolheu o número 6)

Ou seja só escolhe bem os dois primeiros números o resto ja não... =/

não sei o que se passará..

Já agora uma dúvida: Quem é que define o Karma? são todos os utilizadores ou são mods e admins? é que gostava de saber porque é que tenho -2. Se fiz alguma coisa de incorrecto gostava que informassem para não cometer esse erro outravez.. é que não é assim que corrigem os problemas...

cumpz!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

1ª vez: 4 (O PC escolheu o número 4)

2ª vez: 1 (O PC escolheu o número 1)

3ª vez: 3 (O PC escolheu o número 6)

4ª vez: 4 (O PC escolheu o número 6)

6ª vez: 2 (O PC escolheu o número 6)

7ª vez: 1 (O PC escolheu o número 6)

Se o PC escolheu 6, o que são os outros números?  :)

[OFF-TOPIC]

Já agora uma dúvida: Quem é que define o Karma? são todos os utilizadores ou são mods e admins? é que gostava de saber porque é que tenho -2. Se fiz alguma coisa de incorrecto gostava que informassem para não cometer esse erro outravez.. é que não é assim que corrigem os problemas...

Não te preocupes com o karma, ainda está em avaliações, para mais informações vê este tópico http://www.portugal-a-programar.pt/index.php?showtopic=20241

[/OFF-TOPIC]

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se o PC escolheu 6, o que são os outros números?  :P

Acho que não percebes-te.. é assim:

1ª escolha aleatória: Número escolhido pelo PC: 1 --> E aparece e muito bem como eu pus para aparecer: " O PC escolheu o nº1"

2ª escolha aleatória: Número escolhido pelo PC: 5 --> E aparece e muito bem como eu pus para aparecer: " O PC escolheu o nº5"

Agora começam os problemas na 3ª escola aleatória.

3ª escolha aleatória: Número escolhido pelo PC: 3 --> E já não aparece como eu pus para aparecer, aparece sempre a dizer que saiu o 6 quando saiu o 3: " O PC escolheu o nº6"

4ª escolha aleatória: Número escolhido pelo PC: 1 --> E já não aparece como eu pus para aparecer, aparece sempre a dizer que saiu o 6 quando saiu o 1: " O PC escolheu o nº6"

5ª escolha aleatória: Número escolhido pelo PC: 2 --> E já não aparece como eu pus para aparecer, aparece sempre a dizer que saiu o 6 quando saiu o 2: " O PC escolheu o nº6"

Estás a perceber?! :)

[OFF-TOPIC]Não te preocupes com o karma, ainda está em avaliações, para mais informações vê este tópico http://www.portugal-a-programar.pt/index.php?showtopic=20241

[/OFF-TOPIC]

Ha..ok.. já vi que vai para ai muita discussão.. :wallbash:

cumpz! :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Já entendi, mas não podes colocar aqui um bocado do teu código. Era mais fácil de descobrir o erro.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Já entendi, mas não podes colocar aqui um bocado do teu código. Era mais fácil de descobrir o erro.

ok.. mas secalhar vais achas um pouco confuso..

Private Sub btn1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn1.Click
Dim b, d, m As Double
Dim rnd As New Random
Dim a As Integer
a = rnd.Next(1, 7)
txtLado.Text = a.ToString()
Dim p As Integer
b = Int(txtTu.Text) + 1
d = Int(txtPC.Text) + 1
m = Int(txtMudar2.Text) + 1
txtGolo.Text = b
txtGolo2.Text = d
txtMudar.Text = m
If (txtLado.Text = 1) And (txtMudar.Text = 1) Or (txtMudar.Text = 3) Or (txtMudar.Text = 5) Or (txtMudar.Text = 7) Or (txtMudar.Text = 9) Or (txtMudar.Text = 11) Or (txtMudar.Text = 13) Or (txtMudar.Text = 15) Then
txtRelatoDefesa.Text = "O Computador escolheu o lado 1..."
txtRelatoRemate.Text = "O Computador defendeu o teu Remate!"
txtInfo.Text = "És tu a defender..."
txtTu.Text = txtTu.Text
txtMudar2.Text = txtMudar.Text
End If
If (txtLado.Text = 2) And (txtMudar.Text = 1) Or (txtMudar.Text = 3) Or (txtMudar.Text = 5) Or (txtMudar.Text = 7) Or (txtMudar.Text = 9) Or (txtMudar.Text = 11) Or (txtMudar.Text = 13) Or (txtMudar.Text = 15) Then
txtRelatoDefesa.Text = "O Computador escolheu o lado 2..."
txtRelatoRemate.Text = "Gooolo!!! Marcaste.. Parabéns!"
txtInfo.Text = "És tu a defender..."
txtTu.Text = txtGolo.Text
txtMudar2.Text = txtMudar.Text
End If
If (txtLado.Text = 3) And (txtMudar.Text = 1) Or (txtMudar.Text = 3) Or (txtMudar.Text = 5) Or (txtMudar.Text = 7) Or (txtMudar.Text = 9) Or (txtMudar.Text = 11) Or (txtMudar.Text = 13) Or (txtMudar.Text = 15) Then
txtRelatoDefesa.Text = "O Computador escolheu o lado 3..."
txtRelatoRemate.Text = "Gooolo!!! Marcaste.. Parabéns!"
txtInfo.Text = "És tu a defender..."
txtTu.Text = txtGolo.Text
txtMudar2.Text = txtMudar.Text
End If
If (txtLado.Text = 4) And (txtMudar.Text = 1) Or (txtMudar.Text = 3) Or (txtMudar.Text = 5) Or (txtMudar.Text = 7) Or (txtMudar.Text = 9) Or (txtMudar.Text = 11) Or (txtMudar.Text = 13) Or (txtMudar.Text = 15) Then
txtRelatoDefesa.Text = "O Computador escolheu o lado 4..."
txtRelatoRemate.Text = "Gooolo!!! Marcaste.. Parabéns!"
txtInfo.Text = "És tu a defender..."
txtTu.Text = txtGolo.Text
txtMudar2.Text = txtMudar.Text
End If
If (txtLado.Text = 5) And (txtMudar.Text = 1) Or (txtMudar.Text = 3) Or (txtMudar.Text = 5) Or (txtMudar.Text = 7) Or (txtMudar.Text = 9) Or (txtMudar.Text = 11) Or (txtMudar.Text = 13) Or (txtMudar.Text = 15) Then
txtRelatoDefesa.Text = "O Computador escolheu o lado 5..."
txtRelatoRemate.Text = "Gooolo!!! Marcaste.. Parabéns!"
txtInfo.Text = "És tu a defender..."
txtTu.Text = txtGolo.Text
txtMudar2.Text = txtMudar.Text
End If
If (txtLado.Text = 6) And (txtMudar.Text = 1) Or (txtMudar.Text = 3) Or (txtMudar.Text = 5) Or (txtMudar.Text = 7) Or (txtMudar.Text = 9) Or (txtMudar.Text = 11) Or (txtMudar.Text = 13) Or (txtMudar.Text = 15) Then
txtRelatoDefesa.Text = "O Computador escolheu o lado 6..."
v(txtRelatoRemate.Text = "Gooolo!!! Marcaste.. Parabéns!")
txtInfo.Text = "És tu a defender..."
txtTu.Text = txtGolo.Text
txtMudar2.Text = txtMudar.Text
End If
If (txtTu.Text = 6) Then
txtTu.Text = "0"
txtPC.Text = "0"
txtRelatoDefesa.Text = "Para jogar Outravez clique em COMEÇAR!"
txtRelatoRemate.Text = "Parabéns!! Ganhas-te o jogo... "
End If

If (txtLado.Text = 1) And (txtMudar.Text = 2) Or (txtMudar.Text = 4) Or (txtMudar.Text = 6) Or (txtMudar.Text = 8) Or (txtMudar.Text = 10) Or (txtMudar.Text = 12) Or (txtMudar.Text = 14) Then
txtRelatoDefesa.Text = "O Computador escolheu o lado 1..."
txtRelatoRemate.Text = "YEH!! Defendes-te.. É isso mesmo!"
txtInfo.Text = "És tu a Rematar..."
txtPC.Text = txtPC.Text
txtMudar2.Text = txtMudar.Text
End If
If (txtLado.Text = 2) And (txtMudar.Text = 2) Or (txtMudar.Text = 4) Or (txtMudar.Text = 6) Or (txtMudar.Text = 8) Or (txtMudar.Text = 10) Or (txtMudar.Text = 12) Or (txtMudar.Text = 14) Then
txtRelatoDefesa.Text = "O Computador escolheu o lado 2..."
txtRelatoRemate.Text = "Hoh.. Não conseguis-te defender o remate!"
txtInfo.Text = "És tu a Rematar..."
txtPC.Text = txtGolo2.Text
txtMudar2.Text = txtMudar.Text
End If
If (txtLado.Text = 3) And (txtMudar.Text = 2) Or (txtMudar.Text = 4) Or (txtMudar.Text = 6) Or (txtMudar.Text = 8) Or (txtMudar.Text = 10) Or (txtMudar.Text = 12) Or (txtMudar.Text = 14) Then
txtRelatoDefesa.Text = "O Computador escolheu o lado 3..."
txtRelatoRemate.Text = "Hoh.. Não conseguis-te defender o remate!"
txtInfo.Text = "És tu a Rematar..."
txtPC.Text = txtGolo2.Text
txtMudar2.Text = txtMudar.Text
End If
If (txtLado.Text = 4) And (txtMudar.Text = 2) Or (txtMudar.Text = 4) Or (txtMudar.Text = 6) Or (txtMudar.Text = 8) Or (txtMudar.Text = 10) Or (txtMudar.Text = 12) Or (txtMudar.Text = 14) Then
txtRelatoDefesa.Text = "O Computador escolheu o lado 4..."
txtRelatoRemate.Text = "Hoh.. Não conseguis-te defender o remate!"
txtInfo.Text = "És tu a Rematar..."
txtPC.Text = txtGolo2.Text
txtMudar2.Text = txtMudar.Text
End If
If (txtLado.Text = 5) And (txtMudar.Text = 2) Or (txtMudar.Text = 4) Or (txtMudar.Text = 6) Or (txtMudar.Text = 8) Or (txtMudar.Text = 10) Or (txtMudar.Text = 12) Or (txtMudar.Text = 14) Then
txtRelatoDefesa.Text = "O Computador escolheu o lado 5..."
txtRelatoRemate.Text = "Hoh.. Não conseguis-te defender o remate!"
txtInfo.Text = "És tu a Rematar..."
txtPC.Text = txtGolo2.Text
txtMudar2.Text = txtMudar.Text
End If
If (txtLado.Text = 6) And (txtMudar.Text = 2) Or (txtMudar.Text = 4) Or (txtMudar.Text = 6) Or (txtMudar.Text = 8) Or (txtMudar.Text = 10) Or (txtMudar.Text = 12) Or (txtMudar.Text = 14) Then
txtRelatoDefesa.Text = "O Computador escolheu o lado 6..."
txtRelatoRemate.Text = "Hoh.. Não conseguis-te defender o remate!"
txtInfo.Text = "És tu a Rematar..."
txtPC.Text = txtGolo2.Text
txtMudar2.Text = txtMudar.Text
End If
If (txtPC.Text = 6) Then
txtTu.Text = "0"
txtPC.Text = "0"
txtRelatoDefesa.Text = "Para jogar Outravez clique em COMEÇAR!"
txtRelatoRemate.Text = "Ho.. Perdes-te! Tens de treinar mais..."
End If
End Sub

sei que secalhar deve ter muito código que seria dispensável , mas estou a fazer usando o pouco que sei..

se não perceberem alguma coisa no código avisem..

cumpz! :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Muito confuso, sim  :)

1ª Coisa que reparo:

If (txtLado.Text = "1") And ((txtMudar.Text = "1") Or (txtMudar.Text = "3") Or (txtMudar.Text = "5") Or (txtMudar.Text = "7") Or (txtMudar.Text = "9") Or (txtMudar.Text = "11") Or (txtMudar.Text = "13") Or (txtMudar.Text = 15)) Then

Falta-te um par de parênteses em cada uma destas condicionais a seguir ao AND e no fim antes do THEN.

Faltam aspas, se é texto.

De resto não estou a ver mais, mas os parênteses devem dar muito jeito, e alterar algumas coisas. :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

as dos parênteses não sabia... mas a das aspas realmente tens razão..  :hmm:

vou ver se altera alguma coisa..

cumpz e obrigado! :)

PS: Quando disseste que me faltava um par.. assustei-me..lol

EDIT:

já alterei mas parece que não mudou nada.. continua a dar o mesmo erro..  :hmm:

se alguém souber o que poderá ser, que diga alguma coisa :)

cumpz e obrigado! :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

finalmente..xDDD ja dá.. graças a ti anolsi..lol

afinal o problema era dai.. so que não estava a dar porque havia erros no codigo e as alterações ainda não estavam a funcionar.

Muito obrigado mesmo!

Terás o teu nome nos agradecimentos da construção do jogo!  :)

Cumpz e Obrigado mais uma vez!  :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