Como hacer que elija entre varias cosas al azar? (batch)

Iniciado por Sr.Origami, 30 Junio 2010, 12:45 PM

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

Sr.Origami

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

flony

#1
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
si un problema no tiene solucion entonces no es un problema...es algo inevitable

leogtz

Código (dos) [Seleccionar]
@echo off
setlocal enabledelayedexpansion
goto:main
:words
set /a counter=0
rem Adhiere las palabras que quieras:
for %%_ in (
cafe
perro
abeja
hola
basura
altavoz
pinocho
pimiento
carpeta
) do (
set "vector[!counter!]=%%_";
set /a counter+=1
)
goto:eof
:main
call:words
set /a counter-=1
set /a count=1
:loop
if %count% gtr 3 (goto:eof)
set /a rand=!random! %% (%counter% + 1)
set /p "=!vector[%rand%]! " < nul
set /a count+=1
goto:loop



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

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

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