2017-08-02 3 views
1

あなたが行くことができるウェブサイトであるプロジェクトをやっていると、ノードjsサーバはあなたが一緒に遊ぶことができるゲームの新たなインシュランスを作ります。ノードjsサーバ上で複数のゲームをホスト

app.set('view engine', 'ejs'); 
app.get('/game/:id', function (req, res) 
{ 
    res.render('game', {game: req.params.id}); 
}); 

だからbasicilyは、例えば、URL /ゲーム/ 2でのゲームのための新しいページを作る:私はとき2人が接続し、新しいゲームは以下のコードを使用して行われるホスティングゲームの一部を行っています

問題は、同じサーバー上で複数のゲームを実行していることですが、どこで起動するかはわかりません。最近、1つのゲームがあり、複数の人が参加できるノードjsでスネークゲームを行ったが、複数のゲームをどのように分離するのだろうか?私は現在のすべてのゲームをリストするサーバー上のgamesList []を持っていると思っていますが、現在のゲームのロジックはどこに行くのでしょうか?

誰かが正しい方向に向いているとすれば、たとえ誰かが同じことをしたオープンソースの例であっても、ちょうど単純なティックタックのつま先がそれは素晴らしいだろうが、私はそれを見つけることができませんでした。任意のヘルプはappriciatedです:)

答えて

0

あなたのサーバー上のオブジェクトを持つことは間違いなくトリックを行うでしょう。 オブジェクトをキーとしてidsとし、値として保存する必要のある情報を作成できます。

私はこの質問を完全に理解しているかどうかはわかりませんが、それが役立つことを願っています。

+0

しかし、それはティックタックトウであれば、勝者を見る機能があることを意味します。そのようなロジックはどこに行き、私はすべてのものをどのようにリンクしますか?私は誰かが私に例やビデオを教えてくれることを期待していました –

+0

あなたができることは、サーバ上の状態を追跡するオブジェクトを持つことです。それがチックタックだった場合、あなたは次のようになります: '' ' { GAME_ID:[[1、-1,0]、[ - 1,0,0]、[0,0,1]] } '' ' または何か。そしてあなたのプレイヤーはmove_positionのような情報を、彼らがどんな色であったか、そしてゲームのIDとともにサーバーに送ります。 ___ この情報を使用して、サーバーのゲーム状態を更新します。私は現在の状態と移動を取る関数を書くだろう。要求のIDを使用して、サーバー上のどのゲームについて話しているかを把握し、更新します。 –

+0

ohhhhh私はそれが理にかなっていると思います。クライアントは、クリックするとマウスの位置を送信します。各ゲームについて、そのプレイヤーがどんなゲームにいるかを確認してから、一度そのIDを取得してください。 placeChecker(id、x、y)のような関数を実行し、ロジックを実行し、出力をゲームオブジェクトに戻します。 Thats天才、おかげで私は完璧に今理解する:) –

関連する問題