0

現在 YII FRAMEWORK を使用しており、PHP を使用してこのゲームを開発しています。

解決したい問題の正しいコードを知りたい..

if-else を使用しようとすると、while ループが答えになると思います。

私はこのデータベース名gameWaitingを持ってbuttonおり、ゲーム名にこれを持っていますcreateGame

プレーヤーがボタンをクリックcreateGameすると、データベースに挿入されます。

gameWaitingこのプレーヤーが別のプレーヤーを待っていたことを意味するという名前のデータベースにありました。

次に、別のプレーヤーが createGame をクリックすると、このプレーヤーが自動的にゲームをロードします。

しかし、どうすればコードをループして別のプレイヤーを待つことができますか...

これは正しいコードですか?

$game = mysql_query( "SELECT * FROM game " );
while( $game_is_not_empty_loop > empty($game) ){
  // CODES HERE
}

使用しようとしましif elseたが、ゲームの待機を停止します。また、別のプレイヤーを待つように sleep(30) を入れようとしますが、それは役に立たないと思います...

お願い助けて。

4

2 に答える 2

1

いいえ、コードが間違っています。データベースにクエリを実行するのは1回だけで、後で作成されたゲームを知ることはできません。

したがって、最初の解決策は、ゲームが見つかるまでデータベースに常にクエリを実行することです。

しないでください!それはおそらくあなたのデータベースを殺すでしょう。

プロセス間通信の別のものを見つけるか、データベースにクエリを実行する頻度を減らします。10秒ごとに問題がない場合もあれば、それ以下の場合もあります。

于 2012-10-03T13:14:39.303 に答える
1

whileループではできません。私はそのようなタイプのゲームをすでに作成しています。解決するには、アルゴリズムを作成し、高度に最適化されたデータ フィールドを管理して、待っているプレーヤーと 2 番目のプレーヤーを見つける必要があります。これは複雑すぎます。

于 2012-10-03T13:14:20.070 に答える