C# 如何使用随机函数让矩形在不同的位置生成?
我希望我的绿色矩形食物体随机繁殖。我知道我应该使用随机函数,但我有问题。当我运行它时,什么也没发生。你能帮帮我吗 这是我当前的代码: `使用制度; 使用System.Windows.Forms; 使用系统图 命名空间WindowsFormsApp1 { 公共部分类Form1:Form { int sx=100,sy=100,fx=200,fy=200C# 如何使用随机函数让矩形在不同的位置生成?,c#,C#,我希望我的绿色矩形食物体随机繁殖。我知道我应该使用随机函数,但我有问题。当我运行它时,什么也没发生。你能帮帮我吗 这是我当前的代码: `使用制度; 使用System.Windows.Forms; 使用系统图 命名空间WindowsFormsApp1 { 公共部分类Form1:Form { int sx=100,sy=100,fx=200,fy=200 public Form1() { InitializeComponent(); } privat
public Form1()
{
InitializeComponent();
}
private Rectangle foodBody;
Random random = new Random();
private Rectangle snakeBody;
private void Form1_Load(object sender, EventArgs e)
{
snakeBody = new Rectangle(sx, sy, 15, 15);
foodBody = new Rectangle(Random.Next(this.Width), random.Next (this.Height),15,15); //Breakpoint
}
private void Form1_Paint(object sender, PaintEventArgs e)
{
e.Graphics.FillRectangle((Brushes.Red),snakeBody);
e.Graphics.FillRectangle((Brushes.Green),foodBody);
}
private void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyData == Keys.Right)
{
snakeBody.X += 5;
}
if (e.KeyData == Keys.Left)
{
snakeBody.X -= 5;
}
if (e.KeyData == Keys.Up)
{
snakeBody.Y -= 5;
}
if (e.KeyData == Keys.Down)
{
snakeBody.Y += 5;
}
this.Refresh();
}
private void moveTimer_Tick(object sender, EventArgs e)
{
Invalidate();
}
}
}
`创建一个
随机的对象(在表单1
类的顶部):
使用表单中的随机位置创建一个新的矩形
对象:
foodBody = new Rectangle(random.Next(this.Width), random.Next(this.Height), 15, 15);
首先,谢谢你的回答。但我可能做错了什么。现在,当我尝试运行它时,它不会显示蛇身和食物体矩形。在分配食物体的行上放置一个断点。确保this.Width
和this.Height
是窗体的宽度和高度。@Hashinu-如果您在h使用Random
,然后编辑您的问题并包含使用Random
的代码。
foodBody = new Rectangle(random.Next(this.Width), random.Next(this.Height), 15, 15);