elementsky Posted April 7, 2006 at 02:03 PM Report #21296 Posted April 7, 2006 at 02:03 PM Necessito de ajuda! É assim estou a tentar construir um programa electrónico para jogar no euromilhões. Tenho feito isto: Public Class Form1 Dim chave(0 To 5) As Integer Dim estrela(0 To 2) As Integer Dim aposta, aposta1, aposta2 As Integer Dim i, j, a, soma, soma1 As Integer Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click i = 0 j = 0 a = 0 'Randomize For i = 1 To 5 chave(i) = Int(Rnd() * 50) + 1 Next 'Randomize For i = 1 To 2 estrela(i) = Int(Rnd() * 9) + 1 Next For j = 1 To 5 aposta1 = InputBox(" Insira os Números que quer apostar!") If aposta1 > 50 Then MsgBox("Valor Inválido!") End If Next For a = 1 To 2 aposta2 = InputBox("Insira as estrelas que deseja apostar!") If aposta2 > 9 Then MsgBox("Valor Inválido!") End If Next End Sub End Class Falta-me saber como é que eu gero os cinco números e as duas estrelas, que vão dar a chave correctar para ser comparada com a introduzida pelo utilizador! O meu Blog:http://damnit.blogs.sapo.pt
Tiago Salgado Posted April 7, 2006 at 02:36 PM Report #21300 Posted April 7, 2006 at 02:36 PM Acho que primeiro de tudo devias reformular o código. For j = 1 To 5 aposta1 = InputBox(" Insira os Números que quer apostar!") If aposta1 > 50 Then MsgBox("Valor Inválido!") End If Next For a = 1 To 2 aposta2 = InputBox("Insira as estrelas que deseja apostar!") If aposta2 > 9 Then MsgBox("Valor Inválido!") End If Next Aqui devias alterar a variavel aposta1 e aposta2 para 2 arrays, um com tamnho 5 (para os numeros) e outro com tamanho 2 (para as estrelas). Qd o utilizador inserir os números vais guardando nas posições dos arrays. Para gerares a chave, fazes usas o rnd e metes noutros 2 arrays, novamente 1 para os numeros e outro para as estrelas. Após isso, para poderes comparar, depende do que tu queres fazer, mas penso que terá lógica se para além de indicares se a chave está totalmente correcta, devias mostrar a total de números acertados e estrelas. Para então comparares, terás que ler cada uma das posições do arrays que guarda a aposta do utilizador e comparar com todas as posições do array q guarda a chave. à medida que haja igualdade, incrementas uma variavel para te indicar o total de numeros correctos. Não sei se estarei a confundir-te...mas foi uma resposta um bocado à pressa. Logo quando chegar a casa tentarei reformular esta resposta.
Delta Posted April 7, 2006 at 02:56 PM Report #21302 Posted April 7, 2006 at 02:56 PM Option Explicit Option Base 1 Dim estrelas(2) As Integer Dim numeros(5) As Integer Function estrela() As Integer Randomize estrela = Int((9 - 1 + 1) * Rnd + 1) End Function Function numero() As Integer Randomize numero = Int((50 - 1 + 1) * Rnd + 1) End Function Private Sub Command1_Click() Dim i As Integer estrelas(1) = estrela estrelas(2) = estrela While estrelas(2) = estrelas(1) estrelas(2) = estrela Wend For i = 1 To 5 numeros(i) = 0 Next ' numeros(1) = numero numeros(2) = numero While numerorepetido(numeros(2), 2) numeros(2) = numero Wend numeros(3) = numero While numerorepetido(numeros(3), 3) numeros(3) = numero Wend numeros(4) = numero While numerorepetido(numeros(4), 4) numeros(4) = numero Wend numeros(5) = numero While numerorepetido(numeros(5), 5) numeros(5) = numero Wend ' Me.Text1 = numeros(1) Me.Text2 = numeros(2) Me.Text3 = numeros(3) Me.Text4 = numeros(4) Me.Text5 = numeros(5) Me.Text6 = estrelas(1) Me.Text7 = estrelas(2) End Sub Function numerorepetido(n As Integer, inx As Integer) As Boolean Dim rep As Boolean Dim i As Integer rep = False For i = 1 To inx - 1 If n = numeros(i) Then rep = True Exit For End If Next numerorepetido = rep End Function Private Sub Command2_Click() Me.Hide Unload Me End Sub
UnKnowN Posted April 7, 2006 at 02:59 PM Report #21303 Posted April 7, 2006 at 02:59 PM Dúvidas: O que é a Option Explicit e Option Base ? O que é a Function ? Me.Hide e Unload Me nao é a mesma coisa ? Obrigado 😁
Delta Posted April 7, 2006 at 03:00 PM Report #21304 Posted April 7, 2006 at 03:00 PM precisas destes controles form1 Textboxes : Text1....Text2....Text3....Text4....Text5 (para os números) Text6....Text7 (para as estrelas) commandButtons : Command1 ... para gerar Command2 ....para sair
Delta Posted April 7, 2006 at 03:02 PM Report #21305 Posted April 7, 2006 at 03:02 PM Option Explicit obriga à declaração de variáveis no VB Option Base 1.....quer dizer que todos os arrays começam por indice 1
Delta Posted April 7, 2006 at 03:04 PM Report #21306 Posted April 7, 2006 at 03:04 PM tens aqui o programa já feito em VB http://rapidshare.de/files/17418398/euro.zip.html exemplifica o uso de números aleatórios
elementsky Posted April 7, 2006 at 03:09 PM Author Report #21307 Posted April 7, 2006 at 03:09 PM Acho que primeiro de tudo devias reformular o código. For j = 1 To 5 aposta1 = InputBox(" Insira os Números que quer apostar!") If aposta1 > 50 Then MsgBox("Valor Inválido!") End If Next For a = 1 To 2 aposta2 = InputBox("Insira as estrelas que deseja apostar!") If aposta2 > 9 Then MsgBox("Valor Inválido!") End If Next Aqui devias alterar a variavel aposta1 e aposta2 para 2 arrays, um com tamnho 5 (para os numeros) e outro com tamanho 2 (para as estrelas). Qd o utilizador inserir os números vais guardando nas posições dos arrays. Para gerares a chave, fazes usas o rnd e metes noutros 2 arrays, novamente 1 para os numeros e outro para as estrelas. Após isso, para poderes comparar, depende do que tu queres fazer, mas penso que terá lógica se para além de indicares se a chave está totalmente correcta, devias mostrar a total de números acertados e estrelas. Para então comparares, terás que ler cada uma das posições do arrays que guarda a aposta do utilizador e comparar com todas as posições do array q guarda a chave. à medida que haja igualdade, incrementas uma variavel para te indicar o total de numeros correctos. Não sei se estarei a confundir-te...mas foi uma resposta um bocado à pressa. Logo quando chegar a casa tentarei reformular esta resposta. mas para isso ja tenho os arrays chave e estrela O meu Blog:http://damnit.blogs.sapo.pt
Delta Posted April 7, 2006 at 03:10 PM Report #21308 Posted April 7, 2006 at 03:10 PM http://rapidshare.de/files/17418398/euro.zip.html tem código fonte....para vocês mudarem claro
themiraclee Posted April 7, 2006 at 03:19 PM Report #21310 Posted April 7, 2006 at 03:19 PM viva pessoal, Eu na escola tb tinha de fazer o euro milhões e acabei se quiserem tirar ideias tão á vontade ele vai anexo não tá nada de especial que eu nem 1 ano tenho de vb mas é só para terem uma ideia. Um abraço
UnKnowN Posted April 7, 2006 at 03:36 PM Report #21314 Posted April 7, 2006 at 03:36 PM Option Explicit obriga à declaração de variáveis no VB Option Base 1.....quer dizer que todos os arrays começam por indice 1 Nao respondeste ás perguntas: "O que é a Function ?" "Me.Hide e Unload Me nao é a mesma coisa ?" Stay Cool PS: Fiz um programa parecido mas com um grande erro, saiem nºs repetidos 😁
Delta Posted April 7, 2006 at 05:31 PM Report #21325 Posted April 7, 2006 at 05:31 PM hide ... é como dz ... esconde....mas não remove da memória e unload remove da memória function é uma função que retorna um valor...é como uma função matemática
M@KO Posted April 7, 2006 at 06:00 PM Report #21328 Posted April 7, 2006 at 06:00 PM Delta , porque é que tens isto assim estrela = Int((9 - 1 + 1) * Rnd + 1) ?? nao sei pra que serve o -1+1 depois do 9 😁 cool stuff http://blog.zxcoders.com/
UnKnowN Posted April 7, 2006 at 06:08 PM Report #21329 Posted April 7, 2006 at 06:08 PM hide ... é como dz ... esconde....mas não remove da memória e unload remove da memória function é uma função que retorna um valor...é como uma função matemática E por que é que ali usaste as duas ?
Delta Posted April 7, 2006 at 06:49 PM Report #21342 Posted April 7, 2006 at 06:49 PM a formula dos números aleatórios é esta : Int((limitemaximo - limiteminimo + 1) * Rnd + limiteminimo) como as estrelas vão de 1...9 Apenas substitui, mas claro que 9 - 1 + 1 dá 9 😁 substitui apenas na formula e assim ficou ==== O hide e o unload uso sempre as duas porque é assim que retiro um form da memória, mesmo em programas minusculos...
UnKnowN Posted April 7, 2006 at 07:04 PM Report #21343 Posted April 7, 2006 at 07:04 PM O hide e o unload uso sempre as duas porque é assim que retiro um form da memória, mesmo em programas minusculos... Entao mas se é para retirares da memória é só perciso o Unload ... 😁
Tiago_22 Posted April 12, 2006 at 03:56 PM Report #21836 Posted April 12, 2006 at 03:56 PM Boas! basea-m no code do Delta e fiz um programa. fika aki anexado o meu .exe do euromilhoes esper k gostem 🙂 cumps 😉 [actualizado]
David Pintassilgo Posted April 12, 2006 at 06:58 PM Report #21886 Posted April 12, 2006 at 06:58 PM tá fixe! 😉 mas muda só uma coisa,.. o botão GERIR chave (GERAR) cool stuffs to check. http://blog.zxcoders.com//
Tiago_22 Posted April 12, 2006 at 07:09 PM Report #21890 Posted April 12, 2006 at 07:09 PM ....ups!!! se a minha stora de PT vi-se... tava distraido 😁 cumps 😉
M@KO Posted April 13, 2006 at 12:07 AM Report #22002 Posted April 13, 2006 at 12:07 AM Tá porreiro!! e nao poes a chave ordenada? se calhar tinhas mais um pontinho na nota 😁 cool stuff http://blog.zxcoders.com/
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now