2011-09-11 29 views
0

我有一对嵌套在一起的拆分面板。问题是,我正在中心面板内呈现一个8x8平铺游戏。基本上,面板的高度和宽度需要是8的奇数倍数,所以我可以很容易地找到显示中心的瓷砖。强制调整大小为8的奇数倍

我使用VB.net使所有的.NET解决方案是可以接受的:)

编辑对不起,这是混淆了一下......

我的意思是,我需要的宽度和高度被8整除。数字8乘以应为奇数:

再次编辑下面这些数字并不是指大小。他们指的是两个数字相乘。我已将它们更改为*以显示此内容。以下这些数字适用于高度和宽度。壹号应为奇数,其他8.8 * X

5 * 8 - 良好

6 * 8 - 坏

+0

什么?我认为8的所有倍数甚至...我错过了什么? – corsiKa

+0

我不确定实际的问题是什么 - 如果您有偶数,请增加或减少使其成为奇数。但是,不,你不是说你需要宽度和高度可以被八整除。 –

回答

1

您可以检查,如果事情是这样做MOD 2到数奇数。所以只是做

if number mod 2 == 1: 
    code for board 
0

你说,你需要的高度和宽度都可以被8整除,但在你的例子中只有高度可以被整除。反正这里的做到这一点的一种方法:

的地方变成一个调整大小事件处理这样的:

Dim Height as Integer = SplitControl1.Panel1.Width 
    If Height mod 8 <> 0 then 
    Height -= (Height mod 8) 
End If 

Height += 9 //This ensures that the Height is not 0 and still is divisible by 8 + 1 (to be odd) 

Dim Width as Integer = SplitControl1.Panel1.Width 
If Width mod 8 <> 0 then 
    Width -= (Width mod 8) 
End If 

Width += 9 //This ensures that the Width is not 0 and still is divisible by 8 + 1 (to be odd) 

终于

SplitControl1.Panel1.Width = Width 
SplitControl1.Panel1.Height = Height 
+0

我在OP中再次解释了这一点。对困惑感到抱歉。想象一下,你把面板分成8x8的正方形。穿越瓷砖的数量应该是奇数,但仍然可以看到8x8的全方格(而不是正方形的一半)。 – FreeSnow

相关问题