我正在用 C++ 制作瓷砖游戏。现在,当游戏加载所有图块时,它们会根据:
tilesize -> 它们是正方形,所以这是宽度和高度
tile_count_x
tile_count_y
我有以下变量:
桌面宽度
桌面高度
游戏窗口宽度
游戏窗口高度
tile_count_x
tile_count_y
基于这些值,我正在寻找一种算法,该算法将在给定桌面和 tile_count 约束的情况下设置适当的窗口大小。然后在此范围内,我希望我的图块有一个偏移量,它将在窗口周围与 x% 接壤,这基本上也将决定图块大小:
示例:如果我有 10 * 3 的瓷砖,那么:
______________________________
Window Title _[]X
------------------------------
| |
| [][][][][][][][][][] |
| [][][][][][][][][][] |
| [][][][][][][][][][] |
| |
------------------------------
我只是不确定执行此操作所需的公式。
编辑(来自评论):
- Tilesize 变化,tilecountx 和 y 是静态的
- 我希望游戏窗口与桌面分辨率一样大,但我也希望它的纵横比尊重 tilecoutx 和 tilecounty
我找到了我的意思的一个例子,在 Windows 中打开扫雷