Numeros aleatorios en python

Soliman - 11/09/2016 15:05
Es para utilizar en Blender Game
__Python__.

Me gustaría saber cómo crear un script para generar números aleatorios de un grupo de 31 número, o sea, del 1 al 31 y que pueda pedirle que me genere 6 números aleatorios de ese grupo sin repetición.

Sería algo parecido a esto, pero sería un script __Python__ cuyo uso sería para él Game Engine de Blender (BGE).
[URL]http://www.alazar.info/generador-de-numeros-aleatorios-sin-repeticion[/URL].

Agradezco a todos el interés y la información que me puedan prestar.
Soliman - 11/09/2016 15:19
Tengo esto, que me selecciona 6 nombres de una lista, pero me repite alguno, no sé si por que todavía tengo pocos objetos.
[CODE]import bpy
import random.
regalos = [sartén, jamon, mp4, munyeca, v, patin, balon,
eloj, bicicleta, anillo] for sorteo in range(6):
regalo = regalos[random, randint(0, 9)]
print(Sorteo, sorteo + 1, :, regalo).
[/CODE].
Soliman - 11/09/2016 16:01
Vale, tengo la primera parte, donde selecciona 6 de los objetos que le he indicado, pero me falta qué No SE REPITA ninguno.
[CODE]import bpy
import random.
regalos = [Alejamiento, Prohibicion, Transgresion, Conocimiento, Informacion, Venga nyo, Complicidad, Fechoria, Mediacion, Aceptacion, Partida, Prueba, Reacción del heroe, Regalo, Viaje, Lucha, Marca, Victoria, Enmienda, Regreso, Persecucion, Socorro, Regreso de incognito, Fingimiento, Tarea difícil, Cumplimiento, Reconocimiento, Desenmascaramiento, Transfiguracion, Castigo, Boda] for carta in range(6):
regalo = regalos[random, randint(0, 30)]
print(Carta, carta + 1, :, regalo)[/CODE].


🖼️

Estamos trabajando para mostrar las imágenes del foro

Adjunto #219452



-- IMÁGENES ADJUNTAS --

🖼️

Estamos trabajando para mostrar las imágenes del foro

Adjunto #219452

Juani - 11/09/2016 22:57
Buenas Solimán creo que esto te valdrá, al método sample de random le pasamos el nombre de la lista y el número
de veces que queremos que obtenga un valor aleatorio, pero de esa lista, con lo cual nunca se repiten.

-- IMÁGENES ADJUNTAS --

🖼️

Estamos trabajando para mostrar las imágenes del foro

Adjunto #219460

Soliman - 12/09/2016 07:01
Me sale esto en la consola. ¿es normal?

🖼️

Estamos trabajando para mostrar las imágenes del foro

Adjunto #219466



-- IMÁGENES ADJUNTAS --

🖼️

Estamos trabajando para mostrar las imágenes del foro

Adjunto #219466

Soliman - 12/09/2016 08:00
Creo que no lo voy a utilizar en el game. (o sí)
Sería mejor algo visual, parecido a la página qué he puesto antes, pero que se vieran los textos en lugar de números.

O si fuera en el Game, tendría que ser un poco más complejo, donde se marcasen, por ejemplo, los textos al hacer la selección.

Se trataría de poner los 31 textos, y al hacer la búsqueda, quedarán activos o marcados los 6 que resulten de la búsqueda al azar.

A ver si tengo un momento y me lo planteo mejor y subo alguna cosa ya más presentable.
Soliman - 12/09/2016 08:31
Había pensado en esto.

Que, por ejemplo, los textos fueran VISIBLES o INVISIBLES, según el resultado de la búsqueda aleatoria de 6 números (o textos).


🖼️

Estamos trabajando para mostrar las imágenes del foro

Adjunto #219467



Resumiendo, que al presionar la tirada, salgan seis textos solo, de los 31. Saludos y gracias.

-- IMÁGENES ADJUNTAS --

🖼️

Estamos trabajando para mostrar las imágenes del foro

Adjunto #219467



🖼️

Estamos trabajando para mostrar las imágenes del foro

Adjunto #219468

Juani - 12/09/2016 13:51

Me sale esto en la consola. ¿es normal?

Supongo que ya te habrás dado cuenta de que esto te salía porque el script no se ejecuta si no pulsas barra espaciadora.

La forma qué planteas en el útimo mensaje, los textos ¿Qué quedarían en la misma posición donde están? Solo quieres que se hagan visibles cuando
ya tengamos los 6 aleatorios, en el mismo sitio donde se encuentran ahora?
Soliman - 12/09/2016 13:57
[QUOTE=Juani;951252]Supongo que ya te habrás dado cuenta de que esto te salía porque el script no se ejecuta si no pulsas barra espaciadora.

La forma qué planteas en el útimo mensaje, los textos ¿Qué quedarían en la misma posición donde están? Solo quieres que se hagan visibles cuando
ya tengamos los 6 aleatorios, en el mismo sitio donde se encuentran ahora?[/QUOTE]Es una idea qué todavía no la tengo terminada, pero puede ser de cualquier forma.
Tal vez sería el que fueran INVISIBLES y que al generarse los números, estos se hicieran VISIBLES, pero puede ser cualquier otra opción de momento.

En HTML lo tengo, pero sería para utilizar en una web que tal vez es la opción más sencilla, pues el Blender en la web tiene bastantes limitaciones
Pero bueno, si puedo hacer las dos cosas mejor.

Se aceptan nuevas ideas.
Soliman - 12/09/2016 14:05
[QUOTE=Juani;951252]Supongo que ya te habrás dado cuenta de que esto te salía porque el script no se ejecuta si no pulsas barra espaciadora.

La forma qué planteas en el útimo mensaje, los textos ¿Qué quedarían en la misma posición donde están? Solo quieres que se hagan visibles cuando
ya tengamos los 6 aleatorios, en el mismo sitio donde se encuentran ahora?[/QUOTE]Si, ya probé y salen los números, pero me extraño que salgan esas cosas que no veo el motivo por el que salen.

Gracias.

Sobre el tema en concreto, te comento que son las cartas del Propp.

Se trata de puntos recurrentes para generar cuentos, donde seleccionando una serie de cartas al azar, se puede (o se intenta) luego, crear un cuento con las indicaciones de las cartas.

Me pareció interesante y hasta he creado nubes de palabras para lo que serían las cartas.

Subo las imágenes para que lo veas.

-- IMÁGENES ADJUNTAS --

🖼️

Estamos trabajando para mostrar las imágenes del foro

Adjunto #219481

Juani - 12/09/2016 14:26
¿Algo así? Los textos se verán mientras tengas pulsada la barra espaciadora. Se puede hacer lo que se te ocurra cambiar el color, la escala, el formato de letra, lo que quieras. Tu decide que es lo que quieres exactamente e intentamos hacerlo.

-- IMÁGENES ADJUNTAS --

🖼️

Estamos trabajando para mostrar las imágenes del foro

Adjunto #219482

Soliman - 12/09/2016 15:22
[QUOTE=Juani;951255]¿Algo así? Los textos se verán mientras tengas pulsada la barra espaciadora. Se puede hacer lo que se te ocurra cambiar el color, la escala, el formato de letra, lo que quieras. Tu decide que es lo que quieres exactamente e intentamos hacerlo.[/QUOTE]
JO, y todo eso con solo cuatro líneas de código.

Te felicito y ¡muchas gracias¡
Según vaya haciendo avances pongo el resultado. Saludos.
Soliman - 12/09/2016 15:48
He estado probando y el problema qué veo, es que no se quedan fijos (aunque sea por un rato).

Pues para copiar los textos, no se puede hacer con una sola mano, pues esta ocupada presionado.

Si no se pueden quedar fijos, tal vez la opción de cambio de color sería la correcta.
Soliman - 12/09/2016 16:21
Además, si añado objetos a la escena, se quedan marcados tantos textos como objetos he añadido.
Juani - 12/09/2016 21:38
Buenas Solimán te lo pongo de otra manera, ahora no tendrás problema en añadir objetos. El Always los hará todos invisibles menos la cámara y la luz.

Pulsando barra espaciadora se harán visibles y de color rojo, ponle el que quieras. Necesitaría saber todo lo que tienes que hacer porque si no el script no está adaptado a tus necesidades. Por ejemplo, si pulsas barra salen 6 textos, pero si vuelves a pulsar vuelven a salir otros 6 más, supongo que, no querrás eso. Es que no sé exactamente lo que necesitas. Un saludo, las gracias no las merece es puro placer para mí, estoy aprendiendo contigo sobre algo real, no un ejercicio aburrido.

-- IMÁGENES ADJUNTAS --

🖼️

Estamos trabajando para mostrar las imágenes del foro

Adjunto #219515

Juani - 12/09/2016 21:45
¿Qué piensas hacer con las cartas? Mostrarlas en vez de los textos?
Soliman - 13/09/2016 07:21
[QUOTE=Juani;951274]¿Qué piensas hacer con las cartas? Mostrarlas en vez de los textosí.[/QUOTE]Es que en verdad, no lo tengo desarrollado todavía, pero una parte sería para internet para subir imágenes y otra información, o si lo planteo de otra forma, el que sean las cartas de la baraja. Pero todavía no lo tengo muy claro.

Lo del Game va saliendo desde cero, pero puede ser de muchas formas.

En realidad, se trata de una sola tirada y que salgan esas cartas.
Se podría hacer mucho más complejo si se quisiera, donde sería más o menos lo que hace el Generador de números aleatorios, donde la cantidad de cartas a seleccionar se pudiera variar, (por ejemplo, 5 cartas, o 2 cartas, etc) sobre las 31 que tiene la baraja.

Y hasta para hacerlo mucho más completo, sería el crear las cartas y que al seleccionar la tirada, salieran esa seis cartas en lugar de los textos, pero eso ya sería mucho lío.

Pero como digo, con un simple tirada de 6 cartas seleccionadas, ya va bien de momento. Saludos.
:075:.
Soliman - 14/09/2016 07:15
En esta página voy guardando toda la información.
[URL]http://BlenderCyclesdatos.jimdo.com/cartas-del-propp/[/URL].

Para la parte del Game, lo he estado pensando mejor y no veo necesario hacer un ejecutable, para solo hacer una tirada.

Pero me servirá para hacer un vídeo demostrativo. (De echo ya he creado el Runtime y funciona, pero, solo sirve para una tirada). Saludos.
Juani - 17/09/2016 20:47
Buenas Solimán te pongo un ejemplo para mostrar gráficamente las cartas seleccionadas. Si tienes claro lo que quieres que hagan las cartas cuando el usuario haga la tirada me cuentas y lo hacemos. De ponerlo bonito te encargas tu que eres el as. Vaya, puedes hacer la tirada a 2 a 5 o a las cartas que quieras. Barra espaciadora para qué se selecciones las cartas.

-- IMÁGENES ADJUNTAS --

🖼️

Estamos trabajando para mostrar las imágenes del foro

Adjunto #219584

Soliman - 17/09/2016 21:49
[QUOTE=Juani;951507]Buenas Solimán te pongo un ejemplo para mostrar gráficamente las cartas seleccionadas. Si tienes claro lo que quieres que hagan las cartas cuando el usuario haga la tirada me cuentas y lo hacemos. De ponerlo bonito te encargas tu que eres el as. Vaya, puedes hacer la tirada a 2 a 5 o a las cartas que quieras. Barra espaciadora para qué se selecciones las cartas.[/QUOTE]Gracias.

Pues ya está todo, he creado el ejecutable y funciona.

En realidad, solo sirve para una tirada, pues con el resultado de esas cartas, se copia y se crea la historia.

Se pueden utilizar las 6 o solo 4 o 5, y cambiando la posición se intenta crear una historia corta.

En eso se basa toda esta historia. Saludos.

[video=youtube_share;ymTY3vFo6NA]https://youtu.be/ymTY3vFo6NA[/video]