Como hacen ustedes estas cosas?..

Iniciado por $Edu$, 8 Febrero 2012, 03:55 AM

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

$Edu$

Cuando en un programa se requiere de hacer cosas con probabilidades de acertar o no, por ejemplo, supongamos un programa que tenga un boton y tengas 10% de que te salga un mensaje que diga: "Haz ganado!", como lo hacen?

Porqe yo lo que hago en este caso por ejemplo es un numero Random del 1 al 100 y que si ese numero es menor o igual que 10 entonces sale el mensaje.
Esta bien como lo hago? como lo hacen ustedes?



Y ahora una cosa.. talvez es mas complicado no se.. Para hacer que una aplicacion conecte con la otra que esta en otra computadora, mediante sockets, se requiere saber la ip de la aplicacion que trabaja como servidor y el puerto.
Pero yo quiero que aparezca en una lista los conectados y que se pueda enviar desde la aplicacion una invitacion para ahi recien si crear la conexion privada entre esas 2 maquinas.

Un ejemplo por si no entienden que digo seria como cuando jugas en una web al ajedrez, vos ves muchos conectados y les envias la invitacion para jugar y ahi se empieza el juego sin tener que saber la ip de esa maquina.
Pero talvez esto es asi porque tienen un servidor prendido las 24hs puede ser? al cual se conectan todos y luego se hacen las conexiones entre los que van a jugar.

Me pierdo un poco, a ver quien me saca las dudas, gracias!

2Fac3R

Pues si, podrias hacerlo asi, depende de la complejidad que le quieras dar al programa (no especificas el lenguaje)
Zalu2
Escuela de Hackers & Programación. http://ihackndev.blogspot.com/

$Edu$

Me gustaria que me digan como lo hacen y digan en que lenguaje lo hacen de esa forma.

2Fac3R

Vale xDDD, un poco tonto el pedido pero bueh:

Código (php) [Seleccionar]
<?php
$num 
rand(1,5);
if(
$num<2){
echo 
"Este es el mensaje";
}else{
echo 
"No acertaste :P";
}
?>


Código (dos) [Seleccionar]
@echo off
:: No testeado ya que no ando en windows xD
set num= %random%
if %num%<10 ( echo Mensaje ) else echo No acertaste
pause>nul && exit


etc, etc xDD
Zalu2
Escuela de Hackers & Programación. http://ihackndev.blogspot.com/

$Edu$

No loca! solo que me digan con sus palabras xDD

Gracias igual, tu idea es igual a lo que yo digo asi que esperemos a otros a ver que hacen para lograr eso

2Fac3R

Cita de: $Edu$ en  8 Febrero 2012, 04:14 AM
Me gustaria que me digan como lo hacen

Ah vale, es que ahi lo dices :P

Cita de: $Edu$ en  8 Febrero 2012, 03:55 AM
Pero yo quiero que aparezca en una lista los conectados y que se pueda enviar desde la aplicacion una invitacion para ahi recien si crear la conexion privada entre esas 2 maquinas.

Claro, el servidor debe estar las 24 horas online. En este caso, pienso que ya entran en juego bases de datos (para la lista de conectados y poder enviar la invitacion, por ejemplo) y PHP para manejarlo.
Zalu2
Escuela de Hackers & Programación. http://ihackndev.blogspot.com/

criskapunk

Buenas,

Algo que se me ocurre (Nunca lo hice), por ejemplo, para tener el 10% de probabilidades de ganar en algún juego sería, antes de comenzar cada turno y de forma previa a los tiros de los jugadores se eligen 10 números aleatorios entre 1 y 100, se los almacena y luego se aplica la función aleatoria a los 100 números nuevamente para saber cual le salió al jugador.

No es algo muy complicado, pero bueno xD.

Un saludo.

$Edu$

Nadie ha tenido que hacer algo de esto como para explicarme como hacerlo?

$Edu$

Vamos programadores, nadie que haya hecho un programa con probabilidades o con conexiones como explico en mi primer post?

leogtz

Programar con probabilidades así no..., pero sé que eso lo podrías hacer con una distribución Bernoulli, donde:

p = 0.1
1 - p = 0.9

p es la probabilidad de ocurrencia del evento, en este caso de que el usuario acierte.

Es decir.

Si 0 <= random() <= 1 - p                 entonces acierta.
Si 1 - p <= random() < 1                   entonces falla.


Saludos.
Código (perl) [Seleccionar]

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

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