X



ソーシャルゲームの部屋割りプログラムはどう書けばいいかな
■ このスレッドは過去ログ倉庫に格納されています
0001以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/09/04(日) 07:29:42.383ID:ntdp6nOS0
とりあえずWebSocketでJSONのやり取りをするとして
0002以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/09/04(日) 07:30:29.979ID:ntdp6nOS0
参加のキャンセルが出来るようにしたい
部屋割り完了と同時にキャンセルされたらどうしよ
0003以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/09/04(日) 07:34:15.648ID:ntdp6nOS0
WebSocket接続を担当するクラスを仮にWsとして
接続してきた人たちのWsインスタンスをキューに入れる
0004以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/09/04(日) 07:38:55.278ID:ntdp6nOS0
部屋割りが完了するまで以下をasynchronousに行う

キャンセルを意味するJSONオブジェクトが送られてきたら受領のJSONを返し接続を切る
何も送られてこなくても接続が切れたらキャンセルと見なす
0005以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/09/04(日) 07:54:38.751ID:ntdp6nOS0
asynchronousにpop可能なキューが必要だな…
pipeとかchannelに近い物を用意する事にしよう

Wsインスタンスをキューに格納するのではなくchannelに送る事にする
そんで非同期にchannelのレシーバからインスタンスを受け取って、1グループ分集まったらその時点で生きている接続をチェック
死んでるWsをドロップして、また1グループ分集まるのを待つ
集まったら全員にキャンセルを無効にする旨のJSONを送る
数秒待機ののち、返答がないプレイヤーについては接続を切断、ドロップ
待機中に切断されたプレイヤーもドロップ
返答があったプレイヤーにはキャンセルの再有効化を通知し、再びchannelに送る
キャンセルの無効化通知に対して全員から返答があった場合、以降のキャンセルリクエストを無視する事にして部屋割り完了
0006以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/09/04(日) 07:54:56.353ID:ntdp6nOS0
こんな感じだろうか…
0007以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/09/04(日) 07:55:54.158ID:+d0uXCfka
なにこれスクリプト?
0008以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/09/04(日) 07:57:34.053ID:ntdp6nOS0
どうだと思う?
0009以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/09/04(日) 07:58:08.904ID:vxi/WCFfM
スクリプトだとおも!
0010以下、5ちゃんねるからVIPがお送りします
垢版 |
2022/09/04(日) 08:01:14.049ID:ntdp6nOS0
お風呂はいろ
じゃあな
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況