c# - 在控制台窗口中创建单独的颜色
问题描述
我正在尝试制作一个迷宫游戏,其中玩家用图标“$”显示。
玩家可以使用箭头键在控制台窗口中移动。玩家将遇到诸如“U”之类的敌人。这个敌人只能上下移动。如果玩家接触到任何敌人,他们就会死亡。
这是我游戏的基本要点。我已经完成了游戏的碰撞和敌人,这一切都完美无缺。但是我想为游戏中的对象添加颜色。
例如,我希望我的玩家角色可以是蓝色而“U”敌人可以是红色。我无法在不导致极度缓慢或闪烁的情况下实现颜色。
我制作游戏的方式是将所有敌人写入一个char[][]
包含所有位置的数组。然后在针对特定滴答声完成所有移动和碰撞后,将char[][]
数组传输到字符串。然后我一次打印字符串以避免任何闪烁。
但是,为了更改我的字符的颜色,它们需要以单独的字符串打印。但是,这将不允许我更改单个颜色,因为Console.ForegroundColor = ConsoleColor.Blue;
会更改整个游戏的颜色,因为整个游戏都打印到一个字符串上。我想不出办法解决这个问题有没有人知道解决方案。
还有什么方法可以将不使用的东西绘制到控制台窗口,Console.Write();
或者Console.WriteLine();
因为我想向控制台输出不是字符串的东西。
解决方案
推荐阅读
- reactjs - 在下一个 js 中共享对象/在页面之间做出反应
- excel - 在数据透视表中使用计数时 Excel 数据透视表添加 % 列
- android - 如何在谷歌地图上添加多个标记而不影响 UI 线程?
- windows - 在 Visual Studio 13 上找不到要调试的 mfc100d.dll
- javascript - 限制历史状态更改以防止浏览器挂起
- hyperledger-fabric - 如何更新超级账本中资产的值
- ios - 如何解决 Xcode 9.2 中的 swift 编译器错误?
- scala - Spark Dataframe upsert 到 Elasticsearch
- qtp - 需要通过 AOM 更新存储在 ALM 上的测试脚本
- firebase - firebase 用户通过手机登录