Foros del Web » Programando para Internet » PHP »

Interactuar entre Usuarios

Estas en el tema de Interactuar entre Usuarios en el foro de PHP en Foros del Web. Hola, como andan!! Les cuento que soy un miembro desde el 2008 de FDW (MasterXNicoX) es mi usuario anterior pero no recuerdo la contraseña ni ...
  #1 (permalink)  
Antiguo 28/11/2013, 02:22
Avatar de NicolasPerez  
Fecha de Ingreso: noviembre-2013
Ubicación: En la Compu xD
Mensajes: 5
Antigüedad: 11 años
Puntos: 0
Información Interactuar entre Usuarios

Hola, como andan!!

Les cuento que soy un miembro desde el 2008 de FDW
(MasterXNicoX) es mi usuario anterior pero no recuerdo
la contraseña ni el e-mail con el cual creé la cuenta.
Si alguien puede ayudarme a recuperarla sería genial xD


Yendo al Tema:

Supongamos que yo tengo 100 cuentas de usuario dentro
de una base de datos en mi web. Cada cuenta tiene cierta
puntuación; supongamos 50 puntos cada una.

Quiero saber si me pueden dar una idea de cómo tendría que hacer para que:

1) Aleatoria-mente 2 de los 100 usuarios compitan entre si.

2) Automáticamente dentro de esa "partida única" cada uno
de esos 2 usuarios obtenga un número del 1 al 10.

3) Quien obtenga el mayor número de los dos;
le quite al otro 1 punto de los 50 que tiene.

Quedando el Ganador con 51 puntos y el Perdedor con 49.

-----

Espero que me hayan entendido y puedan ayudarme con eso!!
Les mando un abrazo grande y éxito en todo!!.
  #2 (permalink)  
Antiguo 28/11/2013, 02:53
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Interactuar entre Usuarios

Tu pregunta parece apuntar más a programación que a bases de datos.
A nivel de SQL sería simplemente una consulta donde se selecciona dos usuarios al azar. Y eso tiene alguna que otra variación según el DBMS, del cual no has dicho nada.

Si me dices en qué lenguaje trabajarás, paso el post para allá.

En referencia a tu vieja cuenta, hay un link al pié que dice "Contáctenos".
Usalo.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 28/11/2013, 11:21
Avatar de NicolasPerez  
Fecha de Ingreso: noviembre-2013
Ubicación: En la Compu xD
Mensajes: 5
Antigüedad: 11 años
Puntos: 0
Respuesta: Interactuar entre Usuarios

Gracias por tu respuesta gnzsoloyo!!
La idea es hacerlo con PHP y las Bases de Datos con MySQL.
  #4 (permalink)  
Antiguo 28/11/2013, 12:12
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Interactuar entre Usuarios

En lo referente a MySQL, una consulta como la que necesitas para tomar dos usuarios al azar podría ser sencillamente algo como
Código MySQL:
Ver original
  1. SELECT a, b, c
  2. FROM tabla
Obviamente, esa forma no garantiza que dos ejecuciones secuenciales de la consulta no devuelvan otros usuarios que coincidan en uno o en ambos, pero eso es algo que se puede resolver parte programáticamente, parte en SQL.

Por el resto, muevo a foro de PHP.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 28/11/2013, 12:27
Avatar de marlanga  
Fecha de Ingreso: enero-2011
Ubicación: Murcia
Mensajes: 1.024
Antigüedad: 13 años, 11 meses
Puntos: 206
Respuesta: Interactuar entre Usuarios

Bueno, si añade una columna nueva a la tabla de usuarios, "partidas_jugadas", también podría hacerlo en una sola consulta (con select anidado).
  #6 (permalink)  
Antiguo 28/11/2013, 12:28
Avatar de NicolasPerez  
Fecha de Ingreso: noviembre-2013
Ubicación: En la Compu xD
Mensajes: 5
Antigüedad: 11 años
Puntos: 0
Respuesta: Interactuar entre Usuarios

Bien muchas gracias por tu ayuda GNZ!!
Espero que alguien pueda ayudarme con el resto!! Abrazo!!
  #7 (permalink)  
Antiguo 28/11/2013, 13:57
 
Fecha de Ingreso: octubre-2012
Mensajes: 135
Antigüedad: 12 años, 2 meses
Puntos: 8
Respuesta: Interactuar entre Usuarios

Puede ser que los dos jugadores no estén conectados, así que para cada combate tendrías que crear por ejemplo un archivo txt, con un id de batalla, que estuviese relacionado con la columna del jugador(batalla activa) y apuntar los números aleatorios a comparar.

Numero aleatorio: http://php.net/manual/es/function.rand.php
  #8 (permalink)  
Antiguo 28/11/2013, 19:32
Avatar de NicolasPerez  
Fecha de Ingreso: noviembre-2013
Ubicación: En la Compu xD
Mensajes: 5
Antigüedad: 11 años
Puntos: 0
Respuesta: Interactuar entre Usuarios

Buena idea botxii, y después de comparar asignar
y restar puntos en las columnas del ganador
y perdedor respectivamente, no??

Y si no quiero que un jugador sea seleccionado para
combatir 2 veces en menos de una hora más o menos
cómo tendría que hacer??

Mi idea es ir agendando los id de los jugadores que peleen
y que si la id fué registrada en un archivo txt hace menos de una
hora, seleccione otro id, y en el caso de no, registrar nuevamente el ip.

Pero no se como hacer eso de fijarme el horario... alguna idea??
  #9 (permalink)  
Antiguo 29/11/2013, 09:52
 
Fecha de Ingreso: octubre-2012
Mensajes: 135
Antigüedad: 12 años, 2 meses
Puntos: 8
Respuesta: Interactuar entre Usuarios

para que ejecute una acción cada x minutos, son los cronjobs, necesitas un hosting linux. Otra opcion es utliizar esta web https://www.setcronjob.com/.

Sí, cunado comparas se resta y suma.

para saber si ya está jugando o no, solo hay que mirar si la columna batalla activa está vacía.
  #10 (permalink)  
Antiguo 29/11/2013, 12:22
Avatar de NicolasPerez  
Fecha de Ingreso: noviembre-2013
Ubicación: En la Compu xD
Mensajes: 5
Antigüedad: 11 años
Puntos: 0
Respuesta: Interactuar entre Usuarios

Bien ahora me pongo a ver lo que me dijiste, gracias compi!!

Etiquetas: bases-de-datos-general
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 19:50.