私のチームは、バックエンド用にJavascript、CodeIgniter、MySQLを使用してシミュレーションゲームを作成する予定です。PHPとMySQLの節約ゲームの進捗状況のご連絡
食べる、遊ぶ、学習するなどのアクティビティ用のボタンがあり、ゲーム環境では1日に3段階、1日、正午、夜が含まれます。そして、各段階で、ユーザーはそれらの活動の中から選ぶことができ、それらの活動は特定のキャラクターパラメーター(知性、フォーカス、楽しみなど)を増加させ、ゲームは次の段階に進む。それが夜になると、ゲームは翌日に進むでしょう。
ゲームの進行状況を保存する方法についてのフィードバックが必要です。ここで私は念頭に置いていたものです:
などのパラメータ/統計情報、お金、など、ユーザーのデータが含まれていますその(明らかに)ユーザーのためのテーブルがあります統計情報などをに分離されている必要がありますと思いますか別のテーブルがあるので、統計の増加の歴史はありますか?
節約のため、すべてのアクティビティを記録するログテーブルをユーザーが使用することを考えています。したがって、1日目のフェーズ1(フェーズデー)でEatを選択すると、user_id = 1、day = 1、phase = 1、activity = eatのようにログテーブルに挿入されます。
を彼らはゲームを続行するとき、私はこのテーブルから読み取られ、この最新の行を取得します:だから、ユーザーが再生停止し、一日1相の夜の後にゲームを終了すると、たとえば、データベースがありますuser_idに変更し、最新の行が1日目のフェーズ3であることを確認した後、ゲームインターフェイスには2日目のフェーズ1が表示されます。これは、1日のフェーズが最初から固定されている必要があることを意味します例えば、これらのフェーズの外にランダムな追加の時間フェーズ(統計を増やす追加の機会と考える)。user_id = 1, day = 1, phase = 1, activity = eat user_id = 1, day = 1, phase = 2, activity = play user_id = 1, day = 1, phase = 3, activity = sleep
あなたはどう思いますか?説明が十分明確であることを願っています。
リンクありがとうございます。私はそれに手を差し伸べるかもしれない。しかし、ちょうど、別のクエリ呼び出しと同等のストアドプロシージャではないと思いますか?つまり、1クエリ+ 1ストアドプロシージャを呼び出すコードで2クエリを呼び出す間に違いがありますか? – Henson
ストアドプロシージャを使用すると、すべてのSQL文をMySQLデータベース内の関数の下に格納することができます。たとえば、1つのストアドプロシージャで行うことができるアクションを1つ選択するためには、これは、基本的にMySQLによってすでにコンパイルされているため、そのクエリを実行する準備ができている理由はいくつかありますが、ブラウザ - >コード - > MySQLとの間の通信はそれほどありません。その上に値として関数に送られたものは、自動的にSQLではなくデータとして扱われるため、SQLインジェクションの機会は少なくなります。 – jason
説明に感謝します。私はちょっと今それのハングアップを取得します。 – Henson