Java - ascii绘图逻辑

时间:2013-03-21 03:01:00

标签: java drawing ascii

我正在使用for循环“绘制”java中的太空针塔。我已经在'scale 4'中绘制了它,但现在我正在尝试实现,以便用户可以输入他们想要的比例(> 2)。当我试图打印'茶碟'的底部时,我的问题出现了。塔上的其他所有东西都打印得很整齐,但我很难找到一种可以按比例打印的算法。

我确实有“反向等式”,在我的程序中将是

((row*2)-2) + scale

比例是用户选择的数字(> 2)

这将在规模4上给我以下内容:

            ||
            ||
            ||
            ||
         __/||\__
      __/:::||:::\__
   __/::::::||::::::\__
__/:::::::::||:::::::::\__
|""""""""""""""""""""""""|
\_/\/\/\/\/\_/
 \_/\/\/\/\/\/\/\_/
   \_/\/\/\/\/\/\/\/\/\_/
     \_/\/\/\/\/\/\/\/\/\/\/\_/
            ||
            ||
            ||
            ||
         |%%||%%|
         |%%||%%|
         |%%||%%|
         |%%||%%|
         |%%||%%|
         |%%||%%|
         |%%||%%|
         |%%||%%|
         |%%||%%|
         |%%||%%|
         |%%||%%|
         |%%||%%|
         |%%||%%|
         |%%||%%|
         |%%||%%|
         |%%||%%|
         __/||\__
      __/:::||:::\__
   __/::::::||::::::\__
__/:::::::::||:::::::::\__
|""""""""""""""""""""""""|

我正在努力的符号/模式是“\ /”。如你所见,我有以下数字的“\ /”:

第1行:4

第2行:6

第3行:8

第4行:10

以下内容将给我一个完整的太空针:

第1行:10

第2行:8

第3行:6

第4行:5

也许我遗漏了一些非常基本的东西,但我很想知道是否有某种逻辑我可以应用来修复它或简单的陈述。

如果您要我发布整个代码,请告诉我

提前致谢。

最终结果:

                        ||
                        ||
                        ||
                        ||
                        ||
                        ||
                        ||
                        ||
                     __/||\__
                  __/:::||:::\__
               __/::::::||::::::\__
            __/:::::::::||:::::::::\__
         __/::::::::::::||::::::::::::\__
      __/:::::::::::::::||:::::::::::::::\__
   __/::::::::::::::::::||::::::::::::::::::\__
__/:::::::::::::::::::::||:::::::::::::::::::::\__
|""""""""""""""""""""""""""""""""""""""""""""""""|
\_/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\_/
  \_/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\_/
    \_/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\_/
      \_/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\_/
        \_/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\_/
         \_/\/\/\/\/\/\/\/\/\/\/\/\/\_/
            \_/\/\/\/\/\/\/\/\/\/\/\_/
              \_/\/\/\/\/\/\/\/\/\_/
                        ||
                        ||
                        ||
                        ||
                        ||
                        ||
                        ||
                        ||
                     |%%||%%|
                     |%%||%%|
                     |%%||%%|
                     |%%||%%|
                     |%%||%%|
                     |%%||%%|
                     |%%||%%|
                     |%%||%%|
                     |%%||%%|
                     |%%||%%|
                     |%%||%%|
                     |%%||%%|
                     |%%||%%|
                     |%%||%%|
                     |%%||%%|
                     |%%||%%|
                     |%%||%%|
                     |%%||%%|
                     |%%||%%|
                     |%%||%%|
                     |%%||%%|
                     |%%||%%|
                     |%%||%%|
                     |%%||%%|
                     |%%||%%|
                     |%%||%%|
                     |%%||%%|
                     |%%||%%|
                     |%%||%%|
                     |%%||%%|
                     |%%||%%|
                     |%%||%%|
                     |%%||%%|
                     |%%||%%|
                     |%%||%%|
                     |%%||%%|
                     |%%||%%|
                     |%%||%%|
                     |%%||%%|
                     |%%||%%|
                     |%%||%%|
                     |%%||%%|
                     |%%||%%|
                     |%%||%%|
                     |%%||%%|
                     |%%||%%|
                     |%%||%%|
                     |%%||%%|
                     |%%||%%|
                     |%%||%%|
                     |%%||%%|
                     |%%||%%|
                     |%%||%%|
                     |%%||%%|
                     |%%||%%|
                     |%%||%%|
                     |%%||%%|
                     |%%||%%|
                     |%%||%%|
                     |%%||%%|
                     |%%||%%|
                     |%%||%%|
                     |%%||%%|
                     |%%||%%|
                     __/||\__
                  __/:::||:::\__
               __/::::::||::::::\__
            __/:::::::::||:::::::::\__
         __/::::::::::::||::::::::::::\__
      __/:::::::::::::::||:::::::::::::::\__
   __/::::::::::::::::::||::::::::::::::::::\__
__/:::::::::::::::::::::||:::::::::::::::::::::\__
|""""""""""""""""""""""""""""""""""""""""""""""""|

1 个答案:

答案 0 :(得分:0)

Karthink T指出我正确的方向,我改变了我的公式

((scale - row)*2) + scale

它有效!