Azar -Nombres batch al azar -please ayuda

Iniciado por usuario oculto, 15 Diciembre 2008, 14:46 PM

0 Miembros y 1 Visitante están viendo este tema.

usuario oculto


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.
Que le jodan a  la salud mental!
Fecha de registro:    16 Noviembre 2008, 17:38
años atrás users baneados :)

SmartGenius

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 (dos) [Seleccionar]
@echo off
setlocal enabledelayedexpansion

:lista
for %%a in (Smart,Novlucker,RockoX,Darioxhcx,sirdarkcat,carlitos,Erik,pepito,menganito,fulanito) do (set /a c+=1& set nombre!c!=%%a)
echo Nombre Generado al Azar: !nombre%random:~-1%!
echo.
pause
endlocal
exit


Espero haber solucionado tus dudas, cualquier cosa pregunta ;)

Saludos.




leogtz

#2
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:

@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
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

usuario oculto

Gracias!!!!!!!!!!!!!!!

:names9
echo.Hitler   WTF
goto:eof                     
Que le jodan a  la salud mental!
Fecha de registro:    16 Noviembre 2008, 17:38
años atrás users baneados :)

SmartGenius

Cita de: Leo Gutierrez. en 15 Diciembre 2008, 19:39 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:

@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