私はC++でタイルゲームを作っています。現在、ゲームが読み込まれると、すべてのタイルが以下に基づいて配置されます。
tilesize->正方形なので、これが幅と高さです
tile_count_x
tile_count_y
私は次の変数を持っています:
desktop_width
desktop_height
game_window_width
game_window_height
tile_count_x
tile_count_y
これらの値に基づいて、デスクトップとtile_countの制約を考慮して適切なウィンドウサイズを設定するアルゴリズムを探しています。次に、この範囲内で、タイルにウィンドウの周囲のx%に隣接するオフセットを設定します。これにより、基本的にタイルサイズも決定されます。
例:タイルが10 * 3ある場合、次のようになります。
______________________________
Window Title _[]X
------------------------------
| |
| [][][][][][][][][][] |
| [][][][][][][][][][] |
| [][][][][][][][][][] |
| |
------------------------------
これを行うために必要な式がよくわかりません。
編集(コメントから):
- タイルサイズの変更、tilecountxおよびyは静的です
- ゲームウィンドウをデスクトップ解像度で可能な限り大きくしたいのですが、アスペクト比もtilecoutxとtilecountyを尊重したいです。
私が言っていることの例を見つけました。Windowsでマインスイーパを開きます