• 締切済み

一定時間ごとにカウントアップする方法

お世話になります。 PHPにて、簡単なミニゲームを作ろうと思っています。 時間の経過ごとに、経験値が加算されたり、減ってしまった体力が 回復したりさせたいのですが、この『一定時間ごとに処理を行う方法』を 教えていただきたいのです。 もちろん、これはオフラインのときも行われている処理になります。 ひょっとすると、これはPHPではなく、データベース側の問題かも しれませんので、その時はデータベースの方法を教えていただきたいと 思います。 初心者で申し訳ありません。 何卒よろしくお願いいたします。

  • PHP
  • 回答数3
  • ありがとう数0

みんなの回答

  • notnot
  • ベストアンサー率47% (4848/10262)
回答No.3

>しかし、この方法ですと、オンラインのときに値が加算されていきません。 それは勘違いですね。なぜそう思ったのでしょう?

  • notnot
  • ベストアンサー率47% (4848/10262)
回答No.2

前回のときの値と時刻をDBに記録しておいて、次回のアクセス時に、前回からの経過時間を計算し、その時間に相当するだけのポイントを値に加算すればいいです。 オフラインで何かを処理する必要はありません。

tatapatank
質問者

補足

回答ありがとうございます。 しかし、この方法ですと、オンラインのときに 値が加算されていきません。オンライン、オフラインのときに 両方とも処理を行いたいのです。 引き続き、回答をお願いいたします。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

>一定時間ごとに処理を行う方法 定期的にajaxなど非同期処理でDBにアクセスし、前回更新時間との差をとりながら 一定時間の経過を図ることになるでしょう。 >もちろん、これはオフラインのときも行われている処理になります。 この場合オフラインで体力回復は不正の温床になるためありえないですね

tatapatank
質問者

補足

回答ありがとうございます。 オフラインのときも、処理は行います。 戦国ixaのようなものを想像していただければよいかなと。 オンライン時にも、見ているだけで資源がたまっていき、 オフライン時にもログインした瞬間に経過時間分加算されていく感じです。 その時には、前回ログオフ時間から計算して、ログイン直後に 加算すればよいのかもしれませんが。 この二つの方法で表現するしかないのでしょうか。 よろしくお願いします。

関連するQ&A

  • PHPで一定時間が経過すると処理が発生、は可能?

    ■質問1 ・PHPで、一定時間が経過すると処理が発生みたいなことはできるでしょうか? ■質問2 ・PHPで、指定時刻になったら処理が発生みたいなことはできるでしょうか?

    • ベストアンサー
    • PHP
  • 一定時間が経過したら処理を行う.

    一定時間が経過したら、ある処理を行いたいです。 if(一定時間が経過したら){  // 処理 } 例えばこのプログラムを実行してから1日たったら というようにしようと考えています. どのような条件をつければよいでしょうか?

  • 一定時間経過したExcelの強制終了方法を教えてください

    一定時間経過したExcelの強制終了方法を教えてください ExcelBookがAutoopenになっていて、マクロが起動します。 マクロが起動してから一定時間が経過したら、マクロでそのBookを強制終了したいのですが(保存等一切しなくてよいです)・・・ マクロは現行のまま処理(画面入力や検索する物です)を継続しつつ、 一定時間のカウントを行いたいのです。 時間経過後にマクロの処理中であっても強制終了させたいのです。 何方か、ご教授ねがいませんかm(_ _)m よろしくお願いいたします。

  • 処理時間のカウント

    PHPで、とある処理からの経過時間を表示することは可能でしょうか? (例)  (1) 画面1で、ボタンを押し処理1開始。経過時間カウントスタート  (2) 画面2に遷移  (3) 画面3に遷移  (4) 画面4で、処理1開始から30秒経過していれば次の処理に進む 御存知の方、御教示いただければ倖いです。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • 掲示板、新規投稿時にNEWの文字を一定時間表示させる。

    phpにて掲示板を作成しています。 新規投稿にはnewの文字を表示させて、 48時間経過すると自動的に消えるようにしたいです。 どのような方法がありますでしょうか? 初心者で申し訳ありませんがどうぞよろしくお願いします。

    • 締切済み
    • PHP
  • C言語 一定時間計る

    C言語で、今クイズを作っています。 プレイヤーに考える時間を与え、その時間が経過したら自動的に不正解というようなソフトを作りたいです。 ただし、この場合一定時間、処理を停止させるのではなく、プレイヤーの入力を待ちながら処理を停止させ、一定時間終わると自動で次の処理(次の問題の表示)に移るようにしたいです。 サンプルソースなどもあればうれしいです。環境はBCCです。回答よろしくお願いします。

  • VB2005 でLOOP処理を一定時間経過したら抜けさせる方法

    VB2005の初心者です。 標準モジュールで、Loop処理で一定時間経過したらLoopを抜ける処理を作りたいのですが、どうすれば良いのでしょうか。 Formではないため、System.Windows.Forms.Timerは使えません。 標準モジュールなので、System.Timers.Timer を使うのかと思ったのですが、Intervalで設定した時間が経過したことをどのように知ることができるのでしょうか。 ソースは下記のような単純なループです LtimTimer = New Timers.Timer LtimTimer.Interval = 60000 LtimTimer.AutoReset = False LtimTimer.Enabled = True Do If '設定時間が経過' Then Exit Do End If 反復処理 Loop '設定時間が経過' 部分に、どのように書けば良いのでしょうか。 何かヒントになるようなことでも良いので、 皆様の知恵をお借りできれば幸いです。 よろしくお願い致します。

  • phpのプログラムで一定間隔で処理をする方法

    phpのプログラムで一定間隔で処理をする方法 phpのプログラムで5秒に1回しか処理しない方法はありますか? 同時に2人がアクセスしても、2人目のアクセスは5秒待ち状態になるようにしたいです。 ユーザー側からのアクセスで実行されるのが前提なので、 制限の掛ける方法で悩んでいます。 どうぞよろしくお願い致します。

    • ベストアンサー
    • PHP
  • 一定時間経過した後に動作させる

    cgiを表示させてから任意の一定時間が経過した後に、処理を実行させたいのですが、Perlでそのような事は可能でしょうか? 例えば以下のような感じです。 ページを表示させてから1分経過した後に if($xx =~ $zz){処理} を実行。

    • ベストアンサー
    • Perl
  • PC使用開始後に一定時間経過したら教えてくれるタイマー

    PCの過熱予防と、ユーザーの視力回復のために、 PCを起動してから一定の時間が経過したら自動的に教えてくれるタイマーがあったら教えてください。