C++でゲームアプリを作っています。オブジェクトの2次元として表されたマップstd::vector
がありTile
ます。
プレイヤーの移動に合わせてそのマップを更新する必要があります。サーバーアプリケーションから、グローバルマップの新しい部分を含む行または列を取得します。これは、ローカルクライアントのマップに配置する必要があります。次に例を示します。
図 1 には、プレイヤーが移動する前のローカル マップがあります。一番上の行はオブジェクト 1、中央は 2、下は 0 で満たされています。プレイヤーが上に移動すると、新しい一番上の行がオブジェクト 3 で満たされ、他のすべての行が下がり、前の一番下の行が消えるはずです。
必要なオブジェクトをfor
ループで移動するだけでそれを行うことができますが、標準ライブラリに何らかのアルゴリズムが既に存在するか、この種の変更を実現するための多くの効率的な方法が好まれているかどうかを考えていました。
編集:
申し訳ありませんが、行と列に対してこの操作を行うことに違いがあることに気づきませんでしたが、実際には違いがあります。そのため、コラムでもタイトルを編集する必要がある場合があるため、タイトルも編集しました。