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
» Retorno da GMBR!!!
por theguitarmester Ter 19 Mar 2024, 22:38

» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27

» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30

» Mudar cor de apenas uma palavra
por lunalol Sex 01 Mar 2024, 13:42

» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17

» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18

» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34

» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13

» Servidor de Discord do fórum?
por Lighter Sáb 27 Jan 2024, 17:18

» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12

» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02

» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55

» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42

» Devlogs em vídeos do Block Room
por Joton Seg 15 Jan 2024, 16:56

» Alguém aqui já ganha dinheiro com seus games?
por Joton Seg 15 Jan 2024, 16:49

» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21

» como aumentar o obj sem aumentar a colisão??
por GabrielXavier Qua 10 Jan 2024, 07:21

» Asteroid Core - Early Acesse Update [0.2.0.0]
por JOZ. Seg 08 Jan 2024, 14:39

» Versionamento de código com GitHub
por GabrielXavier Seg 08 Jan 2024, 07:32

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por kolesovsup Sex 29 Dez 2023, 07:16

» a funçao approach ainda existe?
por PEDRINDEV Ter 26 Dez 2023, 20:05

» Inimigo ataca até por trás! >:(
por saim Sex 22 Dez 2023, 08:55

» [RESOLVIDO]Spawn após morte
por Deception_1999 Dom 17 Dez 2023, 16:39

» Remunerado $$$ - Procuro programador para ajudar a "montar" um jogo
por theguitarmester Sáb 02 Dez 2023, 16:28

» Game maker nao abre
por Cerf Dom 26 Nov 2023, 12:01


[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


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