Ridelight Posted August 25, 2006 at 10:34 AM Report Share #46416 Posted August 25, 2006 at 10:34 AM http://img252.imageshack.us/img252/4223/01302007175917cq4.png Informações - Simulador de chaves para o jogo "Euromilhões" Bugs detectados - Apareçe o numero 0 nas chaves [FIXED] - Dificuldades de execução por parte de determinados utilizadores [FIXED] - Gera números repetidos dentro da chave [FIXED] Downloads disponíveis Beta 2.4 Regras do FÓRUM Link to comment Share on other sites More sharing options...
Anonym Posted August 25, 2006 at 11:32 AM Report Share #46419 Posted August 25, 2006 at 11:32 AM bem, já existem tantos iguais ao teu... Mas sempre é bom pra treinar 😉 sugestão: Mete para ele mostrar os resultados por ordem crescente Link to comment Share on other sites More sharing options...
Mythos Posted August 25, 2006 at 11:50 AM Report Share #46422 Posted August 25, 2006 at 11:50 AM Boas! Como estás a gerar os números? Ha um ano ou dois fiz algo do gen para o totoloto com algoritmos genéticos e tal, mas acabei por deixar de lado porque as heuristicas que estava a usar não davam grandes dif de qualidade... Good job 😉 Link to comment Share on other sites More sharing options...
Triton Posted August 25, 2006 at 05:11 PM Report Share #46459 Posted August 25, 2006 at 05:11 PM Deu-me erro a instalar, Cannot download file. 😉 <3 life Link to comment Share on other sites More sharing options...
Neocore Posted August 25, 2006 at 10:18 PM Report Share #46529 Posted August 25, 2006 at 10:18 PM Fiz um programa semelhante em Pascal. program euromilhoes; uses wincrt; var b,n,n1,a,n2,n3,n4,n5,es1,es2,z,y:integer; op,cont:byte; chave: array [1..50] of integer; estrela: array [1..6] of integer; label ran_es; begin clrscr; writeln('Prima uma tecla para obter a sua chave'); readln; randomize; n:=0; {inicio do random dos numeros} n1:=random((50)+1); chave[n1]:=n1; repeat n2:=random((50)+1); chave[n2]:=n2; until n2<>n1; repeat n3:=random((50)+1); chave[n3]:=n3; until (n3<>n2) and (n3<>n1); repeat n4:=random((50)+1); chave[n4]:=n4; until (n4<>n3) and (n4<>n2) and (n4<>n1); repeat n5:=random((50)+1); chave[n5]:=n5; until (n5<>n4) and (n5<>n3) and (n5<>n2) and (n5<>n1); {fim do random dos numeros} {inicio da ordenaçao dos numeros} writeln('Numeros: ':6); for b:=1 to 50 do begin if chave[b]>0 then writeln(chave[b]:3); end; {fim da ordenaçao dos numeros} {inicio do random das estrelas} writeln; readln; randomize; es1:=random((5)+1); estrela[es1]:=es1; ran_es: es2:=random((5)+1); if (es2<>es1) and (es2>0) then estrela[es2]:=es2 else goto ran_es; {fim do random das estrelas} {inicio da ordenaçao da estrelas} writeln('Estrelas: '); for b:=1 to 6 do if estrela[b]>0 then begin writeln(estrela[b]:3); end; {fim da ordenaçao das estrelas} end. Já não me lembro se tem algum bug, mas aparentemente não tem... Uma coisa que fiz e que tu nao fizeste foi ordenar a chave, o que me deu um pouco mais de trabalho. Neocore Link to comment Share on other sites More sharing options...
Triton Posted August 26, 2006 at 03:03 AM Report Share #46568 Posted August 26, 2006 at 03:03 AM import random numeros = range(1, 52) estrelas = range(1, 10) while len(numeros) > 5: numeros.pop(numeros.index(random.choice(numeros))) numeros.sort() while len(estrelas) > 2: estrelas.pop(estrelas.index(random.choice(estrelas))) estrelas.sort() print 'Chave:', numeros, 'Estrelas:', estrelas Uma maneira de fazer em Python. Não sei se tenho os limites bem mas o que interessa é a lógica. Depois mete o teu código Ridelight. <3 life Link to comment Share on other sites More sharing options...
Ridelight Posted August 28, 2006 at 12:06 AM Author Report Share #46797 Posted August 28, 2006 at 12:06 AM Private Sub btnIniciar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnIniciar.Click Dim MyValue As Integer = 0 Dim i As Integer = 0 Dim strMessage As String = "" Dim rop As Integer = 50 Randomize() Do i += 1 System.Threading.Thread.Sleep(50) MyValue = CInt(Int((50 * Rnd()) + 0)) Num1.Text = MyValue.ToString Num1.Refresh() MyValue = CInt(Int((50 * Rnd()) + 0)) Num2.Text = MyValue.ToString Num2.Refresh() MyValue = CInt(Int((50 * Rnd()) + 0)) Num3.Text = MyValue.ToString Num3.Refresh() MyValue = CInt(Int((50 * Rnd()) + 0)) Num4.Text = MyValue.ToString Num4.Refresh() MyValue = CInt(Int((50 * Rnd()) + 0)) Num5.Text = MyValue.ToString Num5.Refresh() MyValue = CInt(Int((9 * Rnd()) + 0)) Est1.Text = MyValue.ToString Est1.Refresh() MyValue = CInt(Int((9 * Rnd()) + 0)) If i < rop Then Est2.Text = MyValue.ToString ElseIf strMessage = "" Then Est2.Text = MyValue.ToString Else Est2.Text = ((Int(Val(Today().DayOfWeek)) _ + strMessage.Length) Mod 10).ToString End If Est2.Refresh() Loop Until i = rop End Sub Regras do FÓRUM Link to comment Share on other sites More sharing options...
Ridelight Posted August 28, 2006 at 12:27 AM Author Report Share #46800 Posted August 28, 2006 at 12:27 AM Beta 1.1 adicionada ! Regras do FÓRUM Link to comment Share on other sites More sharing options...
Ridelight Posted August 28, 2006 at 12:47 AM Author Report Share #46807 Posted August 28, 2006 at 12:47 AM Deu-me erro a instalar, Cannot download file. 😛 Experimenta a nova versão, a beta 1.1 ! Beta 2 irá estar disponivel em principio amanhã ! Regras do FÓRUM Link to comment Share on other sites More sharing options...
Ridelight Posted August 28, 2006 at 10:45 AM Author Report Share #46856 Posted August 28, 2006 at 10:45 AM sugestão: Mete para ele mostrar os resultados por ordem crescente E como faço isso ? Regras do FÓRUM Link to comment Share on other sites More sharing options...
Neocore Posted August 28, 2006 at 11:29 AM Report Share #46859 Posted August 28, 2006 at 11:29 AM sugestão: Mete para ele mostrar os resultados por ordem crescente E como faço isso ? Como é uma amplitude de numeros pequena, colocas um array de 49 (para os numeros) e outro de 9 (para as estrelas). Depois, conforme o numero randomizado colocas no seu respectivo array (por exemplo: sai o numero 37 --> fica na posição 37 do array dos numeros). Fazes isso com os numeros todos e depois com as estrelas. Para ordenares percorres o array com um ciclo for (de 1 a 49). Quando a posição for diferente de zero, mostras o numero. Assim ficas com os numeros ordenados por ordem crescente. Ve o codigo que em pascal: for b:=1 to 50 do begin if chave[b]>0 then writeln(chave[b]:3); end; Neocore Link to comment Share on other sites More sharing options...
_elf Posted August 28, 2006 at 12:43 PM Report Share #46874 Posted August 28, 2006 at 12:43 PM se tiverem os numeros sorteados num array nao e nada dificil de ordenar, como sao apenas 5 numeros o Insertion Sort é eficaz. http://pt.wikipedia.org/wiki/Insertion_sort Eu em php precisei de fzr uma coisa semelhante, mas era para escolher tres fotografias aleatorias mas que nao fossem iguais, e a minha maior dificuldade foi faze-las com que nao se repetissem, mas ate e bastante facil isso, na altura e ke na percebia um cu disto 😛 Link to comment Share on other sites More sharing options...
Ridelight Posted August 28, 2006 at 01:01 PM Author Report Share #46877 Posted August 28, 2006 at 01:01 PM logo a 1ª chave gerada, detectei um bug. 8-) gerou as 2 estrelas com o numero 7. Regras do FÓRUM Link to comment Share on other sites More sharing options...
Triton Posted August 28, 2006 at 01:50 PM Report Share #46886 Posted August 28, 2006 at 01:50 PM Esta nova versão já funciona. 😄 Bom trabalho! 😛 <3 life Link to comment Share on other sites More sharing options...
Ridelight Posted August 28, 2006 at 01:55 PM Author Report Share #46889 Posted August 28, 2006 at 01:55 PM Esta nova versão já funciona. 😛 Bom trabalho! 😛 Mas está pior que a beta 1, gera umas chaves muito esquisitas, mas a sorte é mesmo assim, aleatória, mas está a gerar números repetidos nas chaves, ainda a pouco me gerou três vezes o 22 ! 😄 Regras do FÓRUM Link to comment Share on other sites More sharing options...
Triton Posted August 28, 2006 at 02:07 PM Report Share #46894 Posted August 28, 2006 at 02:07 PM Como ainda não tens o sort implementado, dá uma vista no meu algoritmo que usa arrays. Talvez ainda o pudesse tornar mais eficiente se adiciona-se à lista apenas os que vou precisar. <3 life Link to comment Share on other sites More sharing options...
Ridelight Posted August 28, 2006 at 05:26 PM Author Report Share #46930 Posted August 28, 2006 at 05:26 PM http://img172.imageshack.us/img172/5180/08282006182510gi3.jpg Beta 2 Regras do FÓRUM Link to comment Share on other sites More sharing options...
Guest gil_so_ares Posted September 8, 2006 at 10:28 PM Report Share #49198 Posted September 8, 2006 at 10:28 PM Viva, existe progressos qt a este programa? Não seria melhor um programa que gerasse os números aleatórios com base nos números que já sairam, através por exemplo de um ficheiro de entrada em que se colocava lá os números? É só uma ideia... Link to comment Share on other sites More sharing options...
Ridelight Posted September 10, 2006 at 11:17 PM Author Report Share #49546 Posted September 10, 2006 at 11:17 PM Não existem novidades, de momento encontra-se parado ! Regras do FÓRUM Link to comment Share on other sites More sharing options...
pcaldeira Posted September 13, 2006 at 06:36 PM Report Share #50322 Posted September 13, 2006 at 06:36 PM Por acaso tenho aqui um projecto dos meus primeiros dias de programação em C#, com a mesma função que esse. Está protegido contra repetição de números e apresenta-os por ordem crescente. O grafismo é que praticamente não existe, mas penso que o que interessa é se trabalha ou não. Os links: ficheiro exe - http://www.uploading.com/files/9V1T9UOS/Euromilh__es___Gerador_de_Chaves__FINALIZADO_.exe.html source code - http://www.uploading.com/files/6Q4HQZ5M/Euromilh__es___Gerador_de_Chaves__FINALIZADO_.rar.html Link to comment Share on other sites More sharing options...
Recommended Posts