Subpage under development, new version coming soon!
Subject: Programación
A ver, cuando mandas una orden, por ejemplo de 500000 soldados, para que esa orden sea valida y que al emitirla "cueste dinero" tiene que haber el dinero suficiente en la cuenta para que funcione y el servidor de como valida esa opcion, entiendes :P?
Pues creo que mirando en la base de datos del jugador, si la casilla de "dinero" tiene suficiente pues ocurre la accion, sino aparece un mensaje o algo diciendo que no tienes dinero suficiente, todo esto con php.
Podria ser algo asi? o estoy equivocado?
Podria ser algo asi? o estoy equivocado?
En lo de PHP podría ayudarte, pero flash... naca naca. Sería muy interesante hacer algo así. Con ello ya se tendrían las base para el sokker-latino XD
Eso, primero revisa el dinero que tienes y luego compara, si es suficiente actualiza la base de datos restando el dinero y agregando los soldados. Y si no, muestra un mensajito
if($dinero_que_tienes<$valor_de_un_soldadito*$numero_de_soldados) {
echo "Estás cagando fuera del tiesto";
} else {
restar_dinero($jugador,$valor_de_un_soldadito*$numero_de_soldados); //*
sumar_soldados($jugador,$numero_de_soldados); //*
}
* un función que modifica la base de datos, en la parte del jugador=$jugador.
if($dinero_que_tienes<$valor_de_un_soldadito*$numero_de_soldados) {
echo "Estás cagando fuera del tiesto";
} else {
restar_dinero($jugador,$valor_de_un_soldadito*$numero_de_soldados); //*
sumar_soldados($jugador,$numero_de_soldados); //*
}
* un función que modifica la base de datos, en la parte del jugador=$jugador.
Yo solo no se si seria capaz de hacerlo todo, de todas formas me voy a poner a investigar aver si tanto hacer C y php me sirve para algo xDDD Si alguien le gusta la idea y quiere hechar una mano lo podemos hacer entre varios.
A la pregunta de si puede hacerse un programa C++ que interactúe con PHP, la respuesta es sí. En realidad, PHP interactuaría con el ejecutable (independientemente del lenguaje empleado para su codificación). Para ello, dispone de funciones como exec o passthru, a las que les indicas la ruta del fichero a ejecutar y te devuelven la salida en distintos formatos...
Sin embargo, para el caso de los juegos online con muchos usuarios, lo lógico sería que fuera el ejecutable el que actualizara directamente la base de datos, y posteriormente que PHP accediera a la misma a por la información recién actualizada.
De todos modos, lo mismo que hace el programa C++ lo puede hacer PHP, así que sería cuestión de evaluar el rendimiento de ambas opciones, ya que si la complejidad de los algoritmos no fuera muy elevada, es posible que la mejora del programa C++ no resultara demasiado apreciable...
(edited)
(edited)
Sin embargo, para el caso de los juegos online con muchos usuarios, lo lógico sería que fuera el ejecutable el que actualizara directamente la base de datos, y posteriormente que PHP accediera a la misma a por la información recién actualizada.
De todos modos, lo mismo que hace el programa C++ lo puede hacer PHP, así que sería cuestión de evaluar el rendimiento de ambas opciones, ya que si la complejidad de los algoritmos no fuera muy elevada, es posible que la mejora del programa C++ no resultara demasiado apreciable...
(edited)
(edited)
A ver, un entorno web no es muy diferente de cualquier otro entorno:
Sólo consiste en un programa (servidor) que esté escuchando las peticiones de otro (cliente) en un puerto (el 80, por defecto). Cuando recibe una petición, se crea un hilo para atenderla, y el programa sigue escuchando.
Una vez finaliza la tarea solicitada por el cliente, el servidor devuelve una respuesta que el cliente pueda entender.
Por muy sencilla que sea la petición del cliente y la respuesta del servidor, la comunicación entre los dos se complica un poco pq hay un protocolo (HTTP) al que se tienen que ceñir tanto el cliente como el servidor.
Por eso se inventaron los servidores web y los lenguajes de programación web, para "quitarle" al programador toda este trabajo y facilitarle la vida. Pero, quitando eso, la programación web no tiene nada de especial.
¿Cómo comunicar un programa en C con un entorno web? Pues lo más fácil es hacerlo a travñes de una base de datos. Pero vamos, si se quiere usar un archivo de texto... o incluso que el programa en C genere páginas HTML directamente.
Lo normal, supongo, es tener programas en C que ejecuten los cáculos necesarios para el funcionamiento del juego (generación de partidos, actualizaciones diarias...), y páginas web para interactuar con el usuario.
Sólo consiste en un programa (servidor) que esté escuchando las peticiones de otro (cliente) en un puerto (el 80, por defecto). Cuando recibe una petición, se crea un hilo para atenderla, y el programa sigue escuchando.
Una vez finaliza la tarea solicitada por el cliente, el servidor devuelve una respuesta que el cliente pueda entender.
Por muy sencilla que sea la petición del cliente y la respuesta del servidor, la comunicación entre los dos se complica un poco pq hay un protocolo (HTTP) al que se tienen que ceñir tanto el cliente como el servidor.
Por eso se inventaron los servidores web y los lenguajes de programación web, para "quitarle" al programador toda este trabajo y facilitarle la vida. Pero, quitando eso, la programación web no tiene nada de especial.
¿Cómo comunicar un programa en C con un entorno web? Pues lo más fácil es hacerlo a travñes de una base de datos. Pero vamos, si se quiere usar un archivo de texto... o incluso que el programa en C genere páginas HTML directamente.
Lo normal, supongo, es tener programas en C que ejecuten los cáculos necesarios para el funcionamiento del juego (generación de partidos, actualizaciones diarias...), y páginas web para interactuar con el usuario.
vale, ya he entendido todo, no se porque no se me habia ocurrido xD pero mmm como va lo del dinero?? lo de hacer que una cuenta gane dinero con recursos y demás? esque no se me ocurre como hacerlo, sé que son con condiciones de estas, pero xDDDD soy bastante newbie aun :P
Por ejemplo con un contador, creas una condicion, si tienes tal fabrica pues el contador va sumandole tanto a tu "madera"
vale, eso es que todavia no he llegado al capitulo "contador" jajajajaja no habia oido de ellos :P
Gracias a todos por las expilaciones
Creo entender, el esquema sería algo así? (me corrigen)
El usuario entra a comprar_jugadores.php, realiza la compra, la página, alojada allá en Polonia, ejecuta un ejecutable programado en C++, pasándole los valores del jugadores y el usuario. El programa actualiza así la base de datos y luego redirecciona (o la redirección la hace el mismo script en php) al usuario a la página has_comprado_un_jugador.php.
O esto no es necesario? Porque el comprar un jugador, o todo tipo de cosas que se hacen puede hacerse directamente desde PHP. Me imagino (sin quizás saber mucho), que lo que hace el programa en C es, a tal hora, tomar los datos de la Base de datos, procesarlos y devolverlos. Para que los usuarios vean estos datos actualizados.
...sí? :P
El contador puede hacerse, o bien con esto de C si esque no me equivoqué con lo que dije recién. O bien que una página que esté abierta en cualquier parte que se actualice cada cierto tiempo. Y que esa página sea algo como "Es tiempo de actualizar? Si sí, entonces actualiza".
...a menos que alguien cierre la página y entonces no ocurre la actualización, XD
Sobre el juego de natación "Nataciokker" Si alguien más está interesado, podríamos intentar algo.
(edited)
Creo entender, el esquema sería algo así? (me corrigen)
El usuario entra a comprar_jugadores.php, realiza la compra, la página, alojada allá en Polonia, ejecuta un ejecutable programado en C++, pasándole los valores del jugadores y el usuario. El programa actualiza así la base de datos y luego redirecciona (o la redirección la hace el mismo script en php) al usuario a la página has_comprado_un_jugador.php.
O esto no es necesario? Porque el comprar un jugador, o todo tipo de cosas que se hacen puede hacerse directamente desde PHP. Me imagino (sin quizás saber mucho), que lo que hace el programa en C es, a tal hora, tomar los datos de la Base de datos, procesarlos y devolverlos. Para que los usuarios vean estos datos actualizados.
...sí? :P
El contador puede hacerse, o bien con esto de C si esque no me equivoqué con lo que dije recién. O bien que una página que esté abierta en cualquier parte que se actualice cada cierto tiempo. Y que esa página sea algo como "Es tiempo de actualizar? Si sí, entonces actualiza".
...a menos que alguien cierre la página y entonces no ocurre la actualización, XD
Sobre el juego de natación "Nataciokker" Si alguien más está interesado, podríamos intentar algo.
(edited)
"Jano ereje. decir que c es un invento de microsoft. puff. que lo copie y lo use es otra cosa. decir que C o C++ no funcione en servidores linux - Unix cuando es su ambiente habitual."
He dicho C# :P
He dicho C# :P
Ten en cuenta que si usaras programas externos para todas las funcionalidades, acabarías convirtiendo PHP en un ejecutor de programas, más que en un lenguaje de programación :-).
Para el caso que propones, lo lógico sería hacerlo directamente desde PHP, ya que lo único que hace el programa es un update en la base de datos. En definitiva, que tampoco hace falta ser tan extremista jeje.
Lo de usar un programa externo, como dice Terrion, se reservaría más bien para procesamiento por lotes, es decir, para aquellas funcionalidades que requieran mucho procesamiento (generación de partidos de todos los usuarios, actualizaciones diarias de todos los equipos, etc.). Que son aquellas en las que podría notarse, de forma más notable, la mejora de tiempos.
Esto es así porque PHP, a diferencia de Java o mismamente C++, que son lenguajes compilados, es un lenguaje interpretado. Y esto quiere decir que en casos de mucho procesamiento satura más el servidor que los otros lenguajes, reduciendo por tanto su rendimiento.
(edited)
Para el caso que propones, lo lógico sería hacerlo directamente desde PHP, ya que lo único que hace el programa es un update en la base de datos. En definitiva, que tampoco hace falta ser tan extremista jeje.
Lo de usar un programa externo, como dice Terrion, se reservaría más bien para procesamiento por lotes, es decir, para aquellas funcionalidades que requieran mucho procesamiento (generación de partidos de todos los usuarios, actualizaciones diarias de todos los equipos, etc.). Que son aquellas en las que podría notarse, de forma más notable, la mejora de tiempos.
Esto es así porque PHP, a diferencia de Java o mismamente C++, que son lenguajes compilados, es un lenguaje interpretado. Y esto quiere decir que en casos de mucho procesamiento satura más el servidor que los otros lenguajes, reduciendo por tanto su rendimiento.
(edited)
C# es de M$, pero ahora sí: funciona en unix xDDD De hecho ese es el objetivo [s]del plagio de Java[/s] Framework. Eso sí, todo hay que reconocerlo, esta vez el plagio ha ido a mejor, al contrario de lo que acostumbraban los hombres de Redmond xD Sin embargo... la mayoría de usuarios de unix son muy reacios a utilizar en sus plataformas productor del poderoso, por lo que de momento sólo se utiliza en plataformas windows (además que queda más integrado todo, igual que está más integrado php en un linux).
si para que usar c# en unix si puedes usar directamente c o c++
kruno no puedes usar c u otro programa para hacer eso, eso es mas facil hacerlo directamente en php. el programa externo lo usaras para hacer calculos mas ectensos en donde se note la mejora de usar un programa externo. y haces que se ejecute solo cada sierto tiempo con cron u otro comando mi conocimineto va mas ligado al lado unix- linux :P de echo es posible correr asp en linuix sin ningun problema.. de echo microsoft uso (no se si seguira usando) servidores unix y linux para su plataforma update. y fueron las unicas que no se calleron hace algun tiempo cuando se infectaron o las hackearon no se bien que fue :P
kruno no puedes usar c u otro programa para hacer eso, eso es mas facil hacerlo directamente en php. el programa externo lo usaras para hacer calculos mas ectensos en donde se note la mejora de usar un programa externo. y haces que se ejecute solo cada sierto tiempo con cron u otro comando mi conocimineto va mas ligado al lado unix- linux :P de echo es posible correr asp en linuix sin ningun problema.. de echo microsoft uso (no se si seguira usando) servidores unix y linux para su plataforma update. y fueron las unicas que no se calleron hace algun tiempo cuando se infectaron o las hackearon no se bien que fue :P