Mega Sena Fake - PHP-GTK
Publicado por Perfil removido (última atualização em 01/11/2016)
[ Hits: 4.298 ]
Download 1476201057.codigos.php (versão 2)
Um pequeno aplicativo escrito em PHP-GTK (necessário tê-lo instalado em seu computador) que permite ao usuário selecionar seis números, realiza um sorteio de seis números e analisa se o usuário ganhou ou perdeu.
Aviso: as chances de ganhar são uma em cinquenta milhões!
O código possui uma análise posterior do que o usuário digita, verificando se o usuário digitou um número entre 1 e 60, se o usuário não digitou um número inválido ou outro caractere no código.
Há um bug na função valida(), a qual verifica a entrada fornecida pelo usuário. Provavelmente vou reescrever o código da função e torná-la mais simples, porém eliminando o bug.
Versão 2 - Enviado por Rodrigo Zimmermann em 11/10/2016
Changelog: 1. Corrigido bug que exibia várias mensagens de erro caso o usuário não informasse números válidos;
2. Inserido créditos.
3. Criação de dicas.
Download 1476201057.codigos.php
/* MEGA SENA FAKE Versão 0.10 - Data 23.09.2016 Hora 00:49:34 * Um inutilitário realmente inútil * Criado por Rodrigo Zimmermann (2016) * e-mail: rodrigo.zimmermann23@gmail.com * Este programa é distribuído sem garantias * Você pode usar o programa, copiá-lo ou modificá-lo * desde que mantenha os créditos. * Este programa foi criado como um exercício de programação com PHP-GTK * Portanto, pode não ser útil para você. */ // dl ('php_gtk.' . PHP_SHLIB_SUFIX); //função para encerrar o aplicativo function shutdown(){ gtk::main_quit(); } //função que exibe mensagem de erro caso o usuário forneça dados inválidos //vide bug conhecido nos comentários da função valida() function mensagem(){ global $texto; $msgbox = new GtkWindow(); $container = new GtkVBox(); $msgbox -> add($container); $msgbox -> set_border_width(10); $btmsgbox = new GtkButton("Tentar novamente"); $btmsgbox -> connect_simple('clicked',array($msgbox,'hide')); $mensagem = new GtkLabel("$texto"); $container -> pack_start ($mensagem); $container -> pack_start (new GtkHSeparator); $container -> pack_start($btmsgbox); $msgbox -> show_all(); } //verifica se os dados fornecidos pelo usuário são válidos //bug conhecido: digitar números negativos ou outros caracteres irá //mostrar mais de uma mensagem, visto que não consegui escrever um código //que valide corretamente o tipo de dado digitado. function valida (){ global $dezena01; global $dezena02; global $dezena03; global $dezena04; global $dezena05; global $dezena06; global $texto; global $aposta; if ($dezena01->get_text()==NULL or $dezena02->get_text()==NULL or $dezena03->get_text()==NULL or $dezena04->get_text()==NULL or $dezena05->get_text()==NULL or $dezena06->get_text()==NULL){ $texto = "Não deixe nenhum campo em branco,\nfaça o seu jogo!"; mensagem(); } if ($dezena01->get_text() == $dezena02->get_text() or $dezena01->get_text()==$dezena03->get_text or $dezena01->get_text()==$dezena04->get_text() or $dezena01->get_text()==$dezena05->get_text() or $dezena01->get_text()==$dezena06->get_text() or $dezena02->get_text()==$dezena03->get_text() or $dezena02->get_text()==$dezena04->get_text() or $dezena02->get_text()==$dezena05->get_text() or $dezena02->get_text()==$dezena06->get_text() or $dezena03->get_text()==$dezena04->get_text() or $dezena03->get_text()==$dezena05->get_text() or $dezena03->get_text()==$dezena06->get_text() or $dezena04->get_text()==$dezena05->get_text() or $dezena04->get_text()==$dezena06->get_text() or $dezena05->get_text()==$dezena06->get_text()){ $texto = "Um número só pode ser escolhido uma única vez!"; mensagem(); } if ($dezena01->get_text() > 60 or $dezena01->get_text() > 60 or $dezena01->get_text() > 60 or $dezena01->get_text()>60 or $dezena01->get_text()>60 or $dezena02->get_text()>60 or $dezena02->get_text()>60 or $dezena02->get_text()>60 or $dezena02->get_text()>60 or $dezena03->get_text()>60 or $dezena03->get_text()>60 or $dezena03->get_text()>60 or $dezena04->get_text()>60 or $dezena04->get_text()>60 or $dezena05->get_text()>60){ $texto = "Você deve escolher números entre 1 e 60!\nValores maiores não são permitidos."; mensagem(); } if ($dezena01->get_text() <=0 or $dezena01->get_text() <=0 or $dezena01->get_text() <=0 or $dezena01->get_text()<=0 or $dezena01->get_text()<=0 or $dezena02->get_text()<=0 or $dezena02->get_text()<=0 or $dezena02->get_text()<=0 or $dezena02->get_text()<=0 or $dezena03->get_text()<=0 or $dezena03->get_text()<=0 or $dezena03->get_text()<=0 or $dezena04->get_text()<=0 or $dezena04->get_text()<=0 or $dezena05->get_text()<=0){ $texto = "Você deve escolher números entre 1 e 60!\nZero e valores negativo não são permitidos.\nTambém não podem ser usados outros caracteres."; mensagem(); } else { //organizando os números fornecidos pelo usuário em ordem crescente $aposta = array($dezena01->get_text(), $dezena02->get_text(), $dezena03->get_text(), $dezena04->get_text(), $dezena05->get_text(), $dezena06->get_text()); sort($aposta); jogar(); mostrar(); } } //avalia se o usuário acertou os números sorteados function isWinOrNot (){ global $resultado; global $aposta; if ($aposta[0]==$resultado[0] and $aposta[1]==$resultado[1] and $aposta[2]==$resultado[2] and $aposta[3]==$resultado[3] and $aposta[4]==$resultado[4] and $aposta[5]==$resultado[5]){ return "Parabéns! Você ganhou!"; } else {return "Que azar";} } //esta função é responsável por exibir os números sorteados, a aposta e //mensagem de avaliação do resultado function mostrar(){ global $resultado; global $aposta; $wExibir = new GtkWindow(); $wExibir -> set_border_width(10); $wExibir -> set_title("Resultado"); $wExibirMSg = new GtkLabel ("Confira os números sorteados:\n $resultado[0] - $resultado[1] - $resultado[2] - $resultado[3] - $resultado[4] - $resultado[5]"); $wExibirMSg2 = new GtkLabel ("Esta foi a sua aposta:\n$aposta[0] - $aposta[1] - $aposta[2] - $aposta[3] - $aposta[4] - $aposta[5]"); $wExibirMSg3 = new GtkLabel (isWinOrNot()); $wExibirBtOk = new GtkButton("Ok"); $wExibirBtOk -> connect_simple('clicked',array($wExibir,"hide")); //Inicia um container e agrega os elementos a ele $box = new GtkVBox(); $box -> pack_start ($wExibirMSg); $box -> pack_start ($wExibirMSg2); $box -> pack_start ($wExibirMSg3); $box -> pack_start (new GtkHSeparator); $box -> pack_start ($wExibirBtOk); $wExibir -> add ($box); //Exibe a janela e todos os elementos contidos nela $wExibir->show_all(); } //Esta função chama a função sortear(), avalia o resultado e ordena function jogar(){ sortear(); global $sorteada01; global $sorteada02; global $sorteada03; global $sorteada04; global $sorteada05; global $sorteada06; global $resultado; //Realiza novo sorteio caso algum dos números sorteados seja idêntico a outro também sorteado while ($sorteada01 == $sorteada02 or $sorteada01 == $sorteada03 or $sorteada01 == $sorteada04 or $sorteada01 == $sorteada05 or $sorteada01 == $sorteada06 or $sorteada02 == $sorteada03 or $sorteada02 == $sorteada04 or $sorteada02 == $sorteada05 or $sorteada02 == $sorteada06 or $sorteada03 == $sorteada04 or $sorteada03 == $sorteada05 or $sorteada03 == $sorteada06 or $sorteada04 == $sorteada05 or $sorteada04 == $sorteada06 or $sorteada05 == $sorteada06){ sortear(); } //Ordena os números sorteados em ordem crescente $resultado = array($sorteada01, $sorteada02, $sorteada03, $sorteada04, $sorteada05, $sorteada06); sort ($resultado); } //A função que faz o sorteio function sortear (){ global $sorteada01; global $sorteada02; global $sorteada03; global $sorteada04; global $sorteada05; global $sorteada06; $sorteada01 = rand(1,60); $sorteada02 = rand(1,60); $sorteada03 = rand(1,60); $sorteada04 = rand(1,60); $sorteada05 = rand(1,60); $sorteada06 = rand(1,60); } /* * SEÇÃO DA JANELA PRINCIPAL * Cria a janela e seus elementos * Define as ações a serem realizadas * Faz a coordenação do programa * */ //Definição da janela $window = new GtkWindow(); //cria a janela principal $window->connect('destroy',"shutdown"); //ao fechar a janela, executar função shutdown() $window->set_border_width(10); $window->set_position('GTK_WIN_POS_CENTER'); //centraliza a janela $window->set_title("Mega Sena"); //Definição dos elementos $vbox = new GtkVBox(); //cria o container $window -> add ($vbox); //adiciona o container à janela principal $rotulo = new GtkLabel("Bem Vindo a Mega Sena!"); $botaoFechar = new GtkButton('Fechar'); $botaoFechar -> connect_simple('clicked',"shutdown"); $rdezena01 = new GtkLabel("Escolha a primeira dezena"); $dezena01 = new GtkEntry(); $rdezena02 = new GtkLabel("Escolha a segunda dezena"); $dezena02 = new GtkEntry(); $rdezena03 = new GtkLabel("Escolha a terceira dezena"); $dezena03 = new GtkEntry(); $rdezena04 = new GtkLabel("Escolha a quarta dezena"); $dezena04 = new GtkEntry(); $rdezena05 = new GtkLabel("Escolha a quinta dezena"); $dezena05 = new GtkEntry(); $rdezena06 = new GtkLabel("Escolha a sexta dezena"); $dezena06 = new GtkEntry(); $btJogar = new GtkButton("Jogar"); //As ações do botão $btJogar serão executadas na ordem invocadas $btJogar -> connect("clicked","valida"); //Encapsula os elementos dentro do container $vbox -> pack_start($rotulo); $vbox -> pack_start(new GtkHSeparator); $vbox -> pack_start($rdezena01); $vbox -> pack_start($dezena01); $vbox -> pack_start($rdezena02); $vbox -> pack_start($dezena02); $vbox -> pack_start($rdezena03); $vbox -> pack_start($dezena03); $vbox -> pack_start($rdezena04); $vbox -> pack_start($dezena04); $vbox -> pack_start($rdezena05); $vbox -> pack_start($dezena05); $vbox -> pack_start($rdezena06); $vbox -> pack_start($dezena06); $vbox -> pack_start(new GtkHSeparator); $vbox -> pack_start(new GtkLabel("Quanto estiver pronto:")); $vbox -> pack_start($btJogar); $vbox -> pack_start($botaoFechar); //Exibe a janela principal e todos os elementos contidos nela $window->show_all(); //Entra no loop principal do PHP-GTK Gtk::Main(); ?>
Converte para maiúsculas a primeira letra de cada palavra, resolvendo o problema de acentos
Separa endereços sem formatação
script php q desliga um pc windows
Melhorando o tempo de boot do Fedora e outras distribuições
Como instalar as extensões Dash To Dock e Hide Top Bar no Gnome 45/46
E a guerra contra bots continua
Tradução do artigo do filósofo Gottfried Wilhelm Leibniz sobre o sistema binário
Conheça o firewall OpenGFW, uma implementação do (Great Firewall of China).
Instalando o FreeOffice no LMDE 6
Anki: Remover Tags de Estilo HTML de Todas as Cartas
Colocando uma opção de redimensionamento de imagem no menu de contexto do KDE
Não consigo acessar os modos de desempenho (5)
Alguém pode me ajudar porfavor como executar comandos ao iniciar no i3... (2)
Debian Bookworm para a versão beta Debian 13 Trixie (2)
Como adicionar módulo de saúde da bateria dos notebooks Acer ao kernel... (21)
[Shell Script] Script para desinstalar pacotes desnecessários no OpenSuse
[Shell Script] Script para criar certificados de forma automatizada no OpenVpn
[Shell Script] Conversor de vídeo com opção de legenda
[C/C++] BRT - Bulk Renaming Tool
[Shell Script] Criação de Usuarios , Grupo e instalação do servidor de arquivos samba