0

嘿伙计们,伙计们。高中 Comp Sci 学生报告。

现在我们正在做一些绘图和多边形的工作,挑战之一是让它以各种方式在屏幕上移动。(从左到右等)看,如果我知道该语言或有能力在基础水平上学习它,这将不是问题。但是我们的老师只是给我们一些环境和一些代码来复制、粘贴和查看,从长远来看,这些都没有真正的帮助,除了最基本的东西。

所以,我的朋友们,我可以通过绘制点来制作一个多边形,如下所示:

int xPoints[]={  xP*684/1000,xP*706/1000, xP*661/1000, xP*687/1000,
                 xP*735/1000,xP*760/1000, xP*723/1000, xP*713/1000,
                 xP*698/1000,xP*686/1000, xP*669/1000, xP*653/1000,
                 xP*639/1000,xP*639/1000, xP*641/1000, xP*648/1000};


int yPoints[]={ yP*354/1000, yP*354/1000, yP*472/1000, yP*472/1000,
                yP*354/1000, yP*354/1000, yP*452/1000, yP*471/1000,
                yP*487/1000, yP*498/1000, yP*503/1000, yP*504/1000,
                yP*492/1000, yP*473/1000, yP*455/1000, yP*440/1000};
int numPoints=16;

但是我一生都无法弄清楚需要什么样的特定输入或代码才能使其移动。(我的意思是在屏幕上翻译)任何让我走上正轨的提示将不胜感激。我完全没有办法自己解决这个问题。

编辑:哎呀,是的,它是Java。

4

4 回答 4

1

欢迎来到 SO!你需要把它分解成你需要弄清楚如何去做的小部分。想到的一些是

  1. 创建一个窗口来绘制。

  2. 在那个窗口中画一条线。

  3. 在窗口中绘制一个多边形。

  4. 从 (x, y) 沿给定方向移动一个点。

这些中的每一个都可能进一步细分。通常解决编程问题都是从这种思维开始的。当您尝试执行这些操作以及您提出的任何其他操作时,请随时回来提出更多问题。

于 2013-02-26T00:19:15.427 回答
0

我不知道 IBM VisualAge,但如果你有任何绘图方法/循环,你应该增加 xP 向右移动,减少它向左移动等,例如使用 for 循环。

于 2013-02-26T00:11:20.523 回答
0

假设它是一个 java.awt.Polygon,你有没有看过

Polygon.translate(int dx, int dy); ???

如果是其他类型的多边形,请检查是否有类似的方法。

于 2013-02-26T00:20:48.310 回答
0

也许是一个for循环?

for(int i=0;i<xPoints.length;i++)
    xPoints[i]+=1;// shift 1 unit
for(int i=0;i<yPoints.length;i++)
    yPoints[i]+=1;// shift 1 unit
于 2013-02-26T00:22:14.660 回答