我是编程(C#)的新手,我的学校作业是编写经典游戏Battleships的简化版本。
我有一个数组中的所有船只,以及一个看起来像这样的类(船):
public Ship(Texture2D shipsheet, Rectangle hitbox, Rectangle sourceRectangle, bool rotated)
我觉得问题是for-loop没有意识到船只需要不同的bool,就像只读一次那行一样?但是,它不应该,对吧?因为它们有不同的hitbox和sourceRectangles?所以他们不应该有不同的bool?
ships = new Ship[5];
Rectangle shipHitbox;
for (int i = 0; i < ships.GetLength(0); i++)
{
int x = Rand(0, 9) * 60;
int y = Rand(0, 9) * 60;
shipHitbox = new Rectangle(x, y, 60 + (60 * i), 60);
shipSourceRectangle = new Rectangle(0, (60 * i), 60 + (60 * i), 60);
rotated = random.Next(2) == 0 ? false : true;
ships[i] = new Ship(shipsheet, shipHitbox, shipSourceRectangle, rotated);
}
这是我第一次尝试进行随机布尔工作,我只是不明白为什么所有的船都得到了bool旋转的假或旋转是真的。 我觉得我已经尝试了一切,有什么帮助吗?
我不知道它是否清楚,但所有船只旋转一次,否则它们不会。这是随机的,但不是不同的bool分配给不同的船只。 (如果我有意义吗?)
Rand方法与此无关。这是我教授希望我们使用的方法(了解方法)。 我现在改为:(这与我的问题无关)
int x = random.Next(0, 9) * 60;
int y = random.Next(0, 9) * 60;
答案 0 :(得分:0)
您可以使用&#34; random.next&#34;方法为空(获取任何数字)然后使用mod运算符(在除法后找到余数)。你不需要三元运算符。
<script type="text/javascript">
$(function() {
$('.single-option-selector').change(function() {
return imgchange($(this).find(':selected').text());
})
});
</script>