我正在使用适用于iPhone的Appcelerator Titanium开发一款简单的棋盘游戏(javascript - 并不是真的对这个问题很重要)。
我的问题不是特定于语言,而是一般的编程和数学问题。
我有一个10个字乘10行(100个单元格)的“单元格”网格。这是一个棋盘游戏,比如跳棋/选秀。
从顶部开始向下移动,行标记为“A”到“J”
从左侧开始向右移动,列标记为“0”到“9”
每个单元格为32x32(像素)。
我可以将一个令牌拖到网格上/上方,当我发布时,它会向我报告我释放的位置的x / y坐标,例如:124,302。我在变量中可以使用这些坐标。
所以我的问题是,如何确定我释放的细胞的中心点,以便我可以将该标记置于该细胞中心?
关于如何实现这一目标的任何想法?
答案 0 :(得分:2)
使用整数除法来“舍去”原始坐标。
x = (x / 32) * 32 + 16;
y = (y / 32) * 32 + 16;
因为数字是2的幂,所以你也可以使用位操作。
x = (x & ~0x1F) | 0x10;