mysql で一秒ごとにカウントアップさせたい

投稿者: Anonymous

お世話になります。

PHP+mysqlで、簡単なWebシミュレーションゲーム的なものを
作ってみようと思っています。

そこで、よく見られるような、一定時間ごとに民が米や鉄を生産して
増えていくと言ったつくりをしたいのですが、これはどのような仕組みで
実現しているのかが解りません。

mysql自体に、一定時間に決まった処理をするという機能がついているのか、
それとも、サーバー側のPHPかその他の言語かなんかで一定時間ごとにSQLを
走らせているのか。別の言語でそういったプログラムを入れれば簡単そうですが、
実際はどうなのでしょうか。

少し質問の内容からは逸れてしまいますが、PHP+mysqlが使えるレンタルサーバー
などでも実現できるのでしょうか。

ここまでのことをするには、自分でサーバーを立てるしか方法がないのでしょうか。

初心者で申し訳ありませんが、ご助言をお願いいたします。

解決

時間で計算したらダメでしょうかね?

毎度毎度DBに保存させるのではなく、任意のタイミング(消費したりとか、生産数が変わったりとか)で保持させて、次回利用時に時差から増加分を計算して現在の資源数を計算する。

ブラウザ側でリアルタイムに資源が増えていく様子は、ブラウザ内でタイマー使って増やしていくってのはどうでしょう?
当然、ブラウザ側とサーバ側とでズレは発生すると思うので、何分かおきにでもサーバと同期してやると。このタイミングでサーバ側の資源テーブルを更新してやってもいいですかね。

1秒以内に何度も通信とか、ユーザが増えたりしたら…(((;゜Д゜)))ガクガクブルブル

回答者: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *