Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: usuario oculto en 15 Diciembre 2008, 14:46 pm



Título: Azar -Nombres batch al azar -please ayuda
Publicado por: usuario oculto en 15 Diciembre 2008, 14:46 pm

Alguien sabe como hacer algo asi en batch:
Citar
@echo off
lista:
pepe
juan
lorena
macarena
echo juan  ( juan ha salido al azar)
Pause

Me gustaria hacer algo asi, que salga al azar.


Título: Re: Azar -Nombres batch al azar -please ayuda
Publicado por: SmartGenius en 15 Diciembre 2008, 19:25 pm
Podrias hacer algo simple con random tal y como se hizo aca:

http://foro.elhacker.net/scripting/mensaje_al_azaren_batch-t211119.0.html

http://foro.elhacker.net/scripting/batch_executor_mi_primer_bichitomutante-t213661.0.html

En los cuales se usa el RANDOM para generar un numero aleatorio, y luego se extrae el ultimo numero usando el simbolo ~ o lo que se llama expansion de variable...

Fijate aca como se cargan las preguntas:

http://foro.elhacker.net/scripting/quien_quiere_ser_millonario-t226423.0.html

O si quieres algo mas avanzado puedes usar un FOR que te ahorra varias lineas:

Código
  1. @echo off
  2. setlocal enabledelayedexpansion
  3.  
  4. :lista
  5. for %%a in (Smart,Novlucker,RockoX,Darioxhcx,sirdarkcat,carlitos,Erik,pepito,menganito,fulanito) do (set /a c+=1& set nombre!c!=%% style="color: #448888;">a)
  6. echo Nombre Generado al Azar: !nombre% style="color: #448888;">random:~-1%!

Espero haber solucionado tus dudas, cualquier cosa pregunta ;)

Saludos.




Título: Re: Azar -Nombres batch al azar -please ayuda
Publicado por: leogtz en 15 Diciembre 2008, 19:39 pm
Jaja, menganito  :xD

O usar la manera larga :

Esta forma la saque de la funcion al azar que vamos a usar en la Funny Joke, Smart
Sin usar For:

Código:
@echo off
call :aleatorio
echo %azar%
call :names%azar%
goto:eof
:aleatorio
set /a aleatorio=((%random%*%random%)+%random%)/%random%
set azar=%aleatorio:~-1%
goto:eof
:names0
echo.pepe
goto:eof
:names1
echo.juan
goto:eof
:names2
echo.lorena
goto:eof
:names3
echo.macarena
goto:eof
:names4
echo.Leo
goto:eof
:names5
echo.Ariel
goto:eof
:names6
echo.Lizy
goto:eof
:names7
echo.Flower
goto:eof
:names8
echo.Diana
goto:eof
:names9
echo.Edgar
goto:eof


Título: Re: Azar -Nombres batch al azar -please ayuda
Publicado por: usuario oculto en 15 Diciembre 2008, 19:54 pm
Gracias!!!!!!!!!!!!!!!

:names9
echo.Hitler   WTF
goto:eof                     


Título: Re: Azar -Nombres batch al azar -please ayuda
Publicado por: SmartGenius en 16 Diciembre 2008, 19:44 pm
O usar la manera larga :

Esta forma la saque de la funcion al azar que vamos a usar en la Funny Joke, Smart
Sin usar For:

Código:
@echo off
call :aleatorio
echo %azar%
call :names%azar%
goto:eof
:aleatorio
set /a aleatorio=((%random%*%random%)+%random%)/%random%
set azar=%aleatorio:~-1%
goto:eof
:names0
echo.pepe
goto:eof
:names1
echo.juan
goto:eof
:names2
echo.lorena
goto:eof
:names3
echo.macarena
goto:eof
:names4
echo.Leo
goto:eof
:names5
echo.Ariel
goto:eof
:names6
echo.Lizy
goto:eof
:names7
echo.Flower
goto:eof
:names8
echo.Diana
goto:eof
:names9
echo.Edgar
goto:eof

Si....ya sabia, es algo basico pero muy bueno...y es lo que le queria mostrar cuando le daba los links a los otros codigo pues ahi es donde la use primero antes de darles la idea, pero escribiendo el post se me ocurrio e otro codigo que postee usando FOR....y si que ahorra lineas.... ;D

Saludos Man. Te veo pronto :P