私はテレグラムボットでゲームを作成していますが、すでに「プレイ中」の状態になっています。最も難しいのは、タイムアウトターンアルゴリズム(私にとって)です。ここでゲームのタイムアウトあたりのロジック
が内訳です:開始
ゲーム..ゲームの目的は、質問に答えることです4人の選手
を手に入れました。質問は次のとおりです。 動物の名前を挙げてください。答えるため
順序である:プレーヤーC - >プレーヤーB - >プレーヤーD - >プレーヤー A.
は、各プレイヤーは(少なくすることができる)答えるために最大5秒を有します。
さてさて、ゲームは3 .. 2 .. 1で始まります。GO !!
プレーヤーC答え:犬(1秒)
プレーヤーBの答え:猫(1秒)
プレーヤーD答え:鹿(1秒)
プレーヤー回答:bird(2秒)
そして、再生に戻るとそれは5秒で、私のロジックは で、oldTurnId(Player C)=== currentTurnId(Player C)かどうかをチェックします。この場合、プレイヤーCは、時間切れであることを通知され、彼は退場されるが、 プレイヤーCは2回目に答えようとしている。
I have this columns on my table : previousTurnId, currentTurnId, nextTurnId
。
しかし、私はこの問題に取り組むための方向を見つけることができません。
参考までに、node.jsを使用してこのゲームを作成していますが、主要な部分は、このタイムアウトあたりのロジックのためにsetTimeOutをたくさん使用しています。
誰もがこの問題に取り組んでいますか?
ありがとうたくさんの人、 すべての援助をいただければ幸いです。何がしたいことはclearTimeoutあるよう
おかげ
えーえ、明るいアイデアのいくつか、私もそのことを知ってはいけません。とにかく、ありがとう。後で試してみて、結果を更新します。ありがとう!! – Webster
タイムアウト後に 'setTimeout'によって呼び出された関数にパラメータを渡すことを意味しますか? 'setTimeout'を' function startPlayerTimeout(player){戻り値setTimeout(function(){removePlayer(player);};で単にラップすることができます。 } ' – cejast
大丈夫ですが、私はそれをラップすると、私は右からclearTimeout関数を使用することはできません? – Webster