Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Sr.Origami en 30 Junio 2010, 12:45 pm



Título: Como hacer que elija entre varias cosas al azar? (batch)
Publicado por: Sr.Origami en 30 Junio 2010, 12:45 pm
Bueno, pues lo que necesito es que elija entre 20 cosas, luego entre otras 20, luego entre 20 mas y que al final lo diga todo junto en una frase.

ejemplo:

1.cafe         1.perro         1.abeja
2.hola         2.basura       2.altavoz
3.pinocho    3.pimiento    3.carpeta

(es lo unico que se me ocurria xD)

y que el PC elija al azar por ejemplo: 2 1 3
y que entonces ponga una frase diciendo: hola perro carpeta

muchas gracias por adelantado, sé que me ayudaran mucho.
 ;D


Título: Re: Como hacer que elija entre varias cosas al azar? (batch)
Publicado por: flony en 30 Junio 2010, 14:51 pm
a ver la idea seria tomar alguna variable de la pc como el time o ponerte a contar los exe q estan ejecutandose como random....y cargar las 3 columnas de 20 palabras como resultado para comparar con ese random...jajaja me pongo a pensar algo mientras el jefe anda viendo sus cosas
edito
visitando el foro hay varias que nada tienen que ver con lo q puse y estan muy buenas es cuestion de buscar


Título: Re: Como hacer que elija entre varias cosas al azar? (batch)
Publicado por: leogtz en 30 Junio 2010, 20:25 pm
Código
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. goto:main
  4. :words
  5. set /a counter=0
  6. rem Adhiere las palabras que quieras:
  7. for %%_ in (
  8. cafe
  9. perro
  10. abeja
  11. hola
  12. basura
  13. altavoz
  14. pinocho
  15. pimiento
  16. carpeta
  17. ) do (
  18. set "vector[!counter!]=% style="color: #448888;">%_";
  19. set /a counter+=1
  20. )
  21. goto:eof
  22. :main
  23. call:words
  24. set /a counter-=1
  25. set /a count=1
  26. :loop
  27. if %count% gtr 3 (goto:eof)
  28. set /a rand=!random! % style="color: #448888;">% (%counter% + 1)
  29. set /p "=!vector[% style="color: #448888;">rand%]! " < nul
  30. set /a count+=1
  31. goto:loop
  32.  
Código:

C:\>code.bat
altavoz perro altavoz
C:\>code.bat
pimiento hola hola
C:\>code.bat
cafe carpeta basura
C:\>code.bat
hola pimiento cafe
C:\>code.bat
pinocho pinocho perro
C:\>code.bat
pimiento hola basura
C:\>code.bat
altavoz pinocho pinocho
C:\>code.bat
altavoz altavoz cafe
C:\>code.bat
pinocho basura carpeta
C:\>code.bat
altavoz perro hola
C:\>code.bat
perro pinocho altavoz
C:\>code.bat
pimiento hola hola
C:\>code.bat
pinocho abeja carpeta
C:\>code.bat
altavoz carpeta abeja
C:\>code.bat
pinocho abeja pimiento
C:\>code.bat
altavoz pimiento pimiento
C:\>code.bat
cafe perro hola
C:\>code.bat
basura basura pimiento
C:\>code.bat
abeja hola altavoz
C:\>code.bat
basura hola altavoz
C:\>

Es una manera de hacerlo.