如何在Console中创建2D图像而不在C#中使用任何现有解决方案?

问题描述 投票:0回答:1

我是编程的新手

所以,我想重新发明轮子。我计划仅使用C#中的Console创建自己的2D游戏,例如Mario等。我的问题是,如何在控制台中创建/绘制像素以制作图像?还是唯一的方法是使用Unicode字符?

[我知道Mario(或其他类似游戏)是在汇编语言(当然,没有像OpenGL =的任何库)上创建的)。是否可以在C#上创建类似的东西?我不想使用WinForms应用,Unity,OpenGL等等等

c# graphics console-application game-development
1个回答
0
投票

您只能在控制台上打印字符。

Box-drawing characters允许您创建框架和其他原始几何形式。示例:

││┅┆┎┎┎┛├├├├├┣┥┮┮┮┮┮┮┮┳┵┾┾┾┾┾┾┾╃╅╎╎╎╎╎╎╎╓╕╞╞╞╞╞╞╞╩╩╩╩>>>>

使用ASCII Art,您可以打印不同密度的字符以创建阴影。 (诺曼德·维勒的艺术,细节)

                              _______
                       _,,ad8888888888bba,_
                    ,ad88888I888888888888888ba,
                  ,88888888I88888888888888888888a,
                ,d888888888I8888888888888888888888b,
               d88888PP"""" ""YY88888888888888888888b,
             ,d88"'__,,--------,,,,.;ZZZY8888888888888,
            ,8IIl'"                ;;l"ZZZIII8888888888,
           ,I88l;'                  ;lZZZZZ888III8888888,
         ,II88Zl;.                  ;llZZZZZ888888I888888,
        ,II888Zl;.                .;;;;;lllZZZ888888I8888b
       ,II8888Z;;                 `;;;;;''llZZ8888888I8888,
       II88888Z;'                        .;lZZZ8888888I888b
       II88888Z; _,aaa,      .,aaaaa,__.l;llZZZ88888888I888
       II88888IZZZZZZZZZ,  .ZZZZZZZZZZZZZZ;llZZ88888888I888,
       II88888IZZ<'(@@>Z|  |ZZZ<'(@@>ZZZZ;;llZZ888888888I88I
      ,II88888;   `""" ;|  |ZZ; `"""     ;;llZ8888888888I888
      II888888l            `;;          .;llZZ8888888888I888,
     ,II888888Z;           ;;;        .;;llZZZ8888888888I888I
     III888888Zl;    ..,   `;;       ,;;lllZZZ88888888888I888
     II88888888Z;;...;(_    _)      ,;;;llZZZZ88888888888I888,
     II88888888Zl;;;;;' `--'Z;.   .,;;;;llZZZZ88888888888I888b
     ]I888888888Z;;;;'   ";llllll;..;;;lllZZZZ88888888888I8888,
     II888888888Zl.;;"Y88bd888P";;,..;lllZZZZZ88888888888I8888I
     II8888888888Zl;.; `"PPP";;;,..;lllZZZZZZZ88888888888I88888
     II888888888888Zl;;. `;;;l;;;;lllZZZZZZZZW88888888888I88888
     `II8888888888888Zl;.    ,;;lllZZZZZZZZWMZ88888888888I88888
      II8888888888888888ZbaalllZZZZZZZZZWWMZZZ8888888888I888888,
      `II88888888888888888b"WWZZZZZWWWMMZZZZZZI888888888I888888b
       `II88888888888888888;ZZMMMMMMZZZZZZZZllI888888888I8888888
        `II8888888888888888 `;lZZZZZZZZZZZlllll888888888I8888888,
         II8888888888888888, `;lllZZZZllllll;;.Y88888888I8888888b,
        ,II8888888888888888b   .;;lllllll;;;.;..88888888I88888888b,
        II888888888888888PZI;.  .`;;;.;;;..; ...88888888I8888888888,

或大纲(例如ejm97的示例)

 w  c(..)o   (
  \__(-)    __)
      /\   (
     /(_)___)
     w /|
      | \
     m  m

您可以使用设置光标位置

Console.SetCursorPosition(left, top);

并且还设置前景色/背景色,控制台大小等。>

© www.soinside.com 2019 - 2024. All rights reserved.