在控制台上绘制带星号的五角大楼

时间:2011-01-04 16:08:51

标签: console ascii-art

我在控制台上绘制了一个带有星号的三角形,带有for循环,从用户那里获取坐标。但我无法绘制五边形。五角形包含3个三角形,但是我编写的程序无法附加这些三角形。它是在控制台上的不同位置绘制3个不同的三角形。如何解决这个问题?你能帮助我吗?

1 个答案:

答案 0 :(得分:0)

有两种可能的方法。

  1. 您可以创建输出的内部表示(如二维字符数组),您可以在其中绘制图形。

    完成图像后,打印整个阵列。

  2. 使用转义序列(特定于您的终端)将光标移动到某个位置以绘制字符。

    在您的情况下,您应该清除终端一次,然后移动每个星号的光标。

  3. [编辑]至于#1:

    char[][] screen = new char[20][]; // 20 lines
    for(int i=0;i<screen.length; i++) screen[i] = new char[80]; // 80 columns
    

    现在您可以使用screen[y][x] = '*'

    绘制内容

    要打印:

    for(int i=0;i<screen.length; i++) System.out.print(new String(screen[i]));
    System.out.println();