GMBR
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Últimos assuntos
» player não consegue andar
por lovn7 Qui 21 Nov 2024, 13:33

» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22

» (Resolvido) Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31

» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23

» (RESOLVIDO) Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49

» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58

» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36

» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36

» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33

» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51

» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28

» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18

» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08

» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10

» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16

» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40

» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01

» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45

» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34

» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28

» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48

» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54

» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14

» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50


[TRFN] [Batch] Sistema de Sorteio

3 participantes

Ir para baixo

[TRFN] [Batch] Sistema de Sorteio Empty [TRFN] [Batch] Sistema de Sorteio

Mensagem por TRFN Qua 06 Mar 2013, 09:02

Bom pessoal estou postando isso aqui bem atoa mesmo, só para mostrar um código batch que faz uma coisa simples, mas que é extenso. Eu sei que por GML seria duas linhas de código, mas quis fazer isso sem usar o game maker, para trabalhar um pouco a minha lógica e também para não esquecer a minha base de programação, o D.O.S. .

Sem mais delongas, eis o código :
Código:

:: Main ::
@echo off
MODE CON COLS=72 LINES=16

:: Insert Limit Screen ::
:insert
color 0a
title Sorteio de Banco
cls
call:head
set /p "max=Numero maximo de bancos para sorteio > "
if "%max%" equ ""  call:error1 && goto insert
if %max% gtr 10000 call:error2 && goto insert
if %max% lss 2 call:error2 && goto insert

:: Re-calculating ::
:repeat
set /a "rand=%random%+%random%+%random%+%random%+%random%+%random%+%random%+%random%"
set /a "rand=%rand%/10000"
set /a "rand=%rand%*%random%"
set /a "rand=%rand%/(10000-%max%)"
set "result=0"

:: Compiler 1 ::
:asset_compiler1
if %rand% gtr 1000 set /a "rand=%rand%/10" && goto asset_compiler1

:: Compiler 2 ::
:asset_compiler2
if %rand% lss %max% set /a "rand=%rand%*2" && goto asset_compiler2

:: Post[Calc] ::
color 0d
cls
call:head
echo Realizando calculos, aguarde um momento...
set step=0

:: Calculum ::
:loop
set /a "percent=%rand%/10"
set /a "percent=100-%percent%"
if %percent% lss 0 set percent=0
set /a "rand=%rand%-1"
set /a "result=%result%+1"
if %result% gtr %max% set "result=1"
if %rand% leq 0 goto:continue
set /a "step=%step%+1"
title Sorteio de Banco - [Concluidos: %percent%%% ^| Step: %step%]
goto loop

:: Result ::
:continue
title Sorteio de Banco - Resultado : %result%
cls
color 0e
call:head
echo Banco Ganhador : [%result%] .
echo.
echo Pressione qualquer tecla para calcular novamente...
pause>nul
goto repeat

:: Error #1 ::
:error1
set max=
color 0c
title Sorteio de Banco - #ERROR#
echo Tu precisa fornecer algum valor numerico quando for executar...
pause>nul
goto:eof


:: Error #2 ::
:error2
set max=
color 0c
title Sorteio de Banco - #ERROR#
echo Insira apenas numeros compreendidos entre [2] e [10000]...
pause>nul
goto:eof


:: Head Text ::
:head
echo Sistema Automatizado de sorteio de bancos.
echo Desenvolvido por TRFN
echo.
echo.
goto:eof

Insiram esse código no bloco de notas e salvem o arquivo com a extensão .BAT ou .CMD e façam um teste. Ele sorteia bem randomicamente um numero de cadeira, fiz esse sistema para igreja que vou, para premiar um banco de lá com um alfajor durante o culto.

Espero que gostem e brinquem um pouco com esse sistema, em breve, farei um sistema de comunicação de servidores em batch que se tudo der certo, fará é muito bem jogos de comunicação online.

Uma especificação sobre o funcionamento : Quanto maior o numero de possibilidades, maior o numero de Steps, e mais demorado o processo de sorteio.
TRFN
TRFN

Games Ranking : Nota C

Notas recebidas : C + C + C
Data de inscrição : 16/01/2012
Reputação : 70
Número de Mensagens : 1192
Prêmios : [TRFN] [Batch] Sistema de Sorteio Empty

Medalhas x 0 Tutoriais x 1 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 2

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Web Tecnology
  • Javascript
  • Outros


https://site13.com.br/

Ir para o topo Ir para baixo

[TRFN] [Batch] Sistema de Sorteio Empty Re: [TRFN] [Batch] Sistema de Sorteio

Mensagem por Marcellomine Qua 06 Mar 2013, 09:12

Interessante cara! Um dia vou aprender mais sobre isso! Valeu por compartilhar isso! Happy
Marcellomine
Marcellomine

Data de inscrição : 22/01/2013
Reputação : 11
Número de Mensagens : 134
Prêmios : [TRFN] [Batch] Sistema de Sorteio Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[TRFN] [Batch] Sistema de Sorteio Empty Re: [TRFN] [Batch] Sistema de Sorteio

Mensagem por GameMakerTutoriais Qua 06 Mar 2013, 10:41


Muito doido! Eu curti esse lance do “goto :eof”, não sabia que podia dar um skip pro fim do arquivo dessa forma! Valeu por compartilhar o código.

Acho que entendi... Tem vários cálculos com divisor alto, me corrija se eu estiver errado, mas você fez isso pra aumentar a probabilidade de um intervalos de número aparecer, certo?
avatar
GameMakerTutoriais

Data de inscrição : 29/01/2011
Reputação : 26
Número de Mensagens : 800
Prêmios : [TRFN] [Batch] Sistema de Sorteio Empty

Medalhas x 0 Tutoriais x 4 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

[TRFN] [Batch] Sistema de Sorteio Empty Re: [TRFN] [Batch] Sistema de Sorteio

Mensagem por TRFN Qua 06 Mar 2013, 11:33

Acho que entendi... Tem vários cálculos com divisor alto, me corrija se eu estiver errado, mas você fez isso pra aumentar a probabilidade de um intervalos de número aparecer, certo?
Sim ,é . Para garantir que esolherá segundo o range corretamente. O asset_compiler 1 e 2 servem para modular os steps que criei, e por isso quanto maior o numero, mais steps e mais tempo gasto. Até o numero 999 o calculo é até rápido, mas passando disso é demorado. Os steps servem para criar a função while. O step que criei foi projetado pensando no mesmo step do Game Maker rsrs', mas é claro tudo em batch. Agora só falta o draw rsrs'.

Repare bem no título do batch, cada step é um calculo realizado para escolher o numero aleatório, mas o numero é escolhido antes mesmo do step ser acionado...

Ora, porque então o step ? Para fazer o range. Para não passar do limite de escolha, ele conta um a um, para ser bem randômico também.

Cada goto na verdade foi transformado em uma função, como os scripts do GM. Por isso usei "call" e "eof".

TRFN
TRFN

Games Ranking : Nota C

Notas recebidas : C + C + C
Data de inscrição : 16/01/2012
Reputação : 70
Número de Mensagens : 1192
Prêmios : [TRFN] [Batch] Sistema de Sorteio Empty

Medalhas x 0 Tutoriais x 1 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 2

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Web Tecnology
  • Javascript
  • Outros


https://site13.com.br/

Ir para o topo Ir para baixo

[TRFN] [Batch] Sistema de Sorteio Empty Re: [TRFN] [Batch] Sistema de Sorteio

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos