正在绘制的框内有N个盒子

时间:2015-09-08 11:54:07

标签: java offset greenfoot

这是我想要复制的内容:

目前,我的代码如下:

public void boxes() {
    setLocation(20,20);
    for(int j =0; j < 5; j = j+1) {
    setLocation(20+50*j,20+50*j);
        for (int i= 0; i<4; i= i+1) {
            move(600-(50*j)); 
            turn(90);
    }
  }
}

结果是:

请不要给我写任何代码,我更倾向于只是一般性的解释,我是如何做到的,以便绘制的框不会在同一点结束。我一直试图在过去的两个小时内弄清楚它没有运气,而我目前所拥有的是迄今为止我所获得的最好成绩。谢谢!

这基于http://www.greenfoot.org/scenarios/3535

2 个答案:

答案 0 :(得分:2)

问题在于您传递给move()函数的值,它应该是:

move(600-(50*j*2));

原因是正方形的每个边缘的长度应该比前一个正方形的偏移量短两倍,因为它会更快地开始offset个单位并且更快地结束offset个单位({{1在这种情况下)。

答案 1 :(得分:0)

j选择下一个方格。 问问自己:

  • 很高兴知道:绘图的终点与开始点相同
  • 你从里面开始(50,50)。你是如何从前一个终点来的?
  • 要绘制的新长度是多少