Linux 终端中的游戏:更改图像:打印已打印的文本

2023-11-29

好吧,我只是在 Linux 终端上实现非常简单的纸牌游戏。 我想要实现的是改变图像的效果,基本上是在已经打印的文本上打印技巧(我想除了用 \r 重新打印同一行之外我不能这样做)。

我想做的是获取终端高度,然后打印换行符直到终端的下边缘,然后将光标定位在终端中,以便打印的最后一行位于顶部。

有什么好的方法可以做到这一点吗?我刚刚发现名为Ncurses。似乎可以做到这一点。这是一个好的选择吗?


Ncurses 在终端中创建自己的字符窗口,并允许您访问和覆盖特定位置的字符。这看起来非常适合您的游戏,您可以在屏幕上的任何位置绘制角色艺术卡。无论如何,比通过滚动 () 终端来模拟相同的效果要好得多。 ——M·奥姆

Curses 是最好的选择,因为兼容的库可用于所有操作系统(包括 Windows 命令行); ncurses 是 Linux 上最好的一款。对于 Linux 和 Unix 终端,您还可以使用ANSI 转义码, 通常被称为终端代码。例如,打印"\033[2;3H"会将光标移动到第二行的第三列,从顶部数起。不管怎样,我还是推荐使用 Curses。 – 名义动物

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux 终端中的游戏:更改图像:打印已打印的文本 的相关文章

  • 为什么pow函数比简单运算慢?

    从我的一个朋友那里 我听说 pow 函数比简单地将底数乘以它的指数的等价函数要慢 例如 据他介绍 include
  • C++ 是否可以在 MacOS 上与 OpenMP 和 boost 兼容?

    我现在已经尝试了很多事情并得出了一些结论 也许 我监督了一些事情 但似乎我无法完成我想要的事情 问题是 是否有可能使用 OpenMP 和 boost 在 MacOS High Sierra 上编译 C 一些发现 如果我错了请纠正我 Open
  • 如何在C(Linux)中的while循环中准确地睡眠?

    在 C 代码 Linux 操作系统 中 我需要在 while 循环内准确地休眠 比如说 10000 微秒 1000 次 我尝试过usleep nanosleep select pselect和其他一些方法 但没有成功 一旦大约 50 次 它
  • 在 Linux 上使用多处理时,TKinter 窗口不会出现

    我想生成另一个进程来异步显示错误消息 同时应用程序的其余部分继续 我正在使用multiprocessingPython 2 6 中的模块来创建进程 我试图用以下命令显示窗口TKinter 这段代码在Windows上运行良好 但在Linux上
  • Visual Studio 在构建后显示假错误

    我使用的是 Visual Studio 2017 构建后 sln在调试模式下 我收到错误 但是 当我通过双击错误列表选项卡中的错误来访问错误时 错误会从页面中消失 并且错误数量也会减少 我不太确定这种行为以及为什么会发生这种情况 有超过 2
  • 从客户端访问 DomainService 中的自定义对象

    我正在使用域服务从 Silverlight 客户端的数据库中获取数据 在DomainService1 cs中 我添加了以下内容 EnableClientAccess public class Product public int produ
  • 类型约束

    我有以下类层次结构 class Header IEnumerable
  • 启动时的 Excel 加载项

    我正在使用 Visual C 创建 Microsoft Excel 的加载项 当我第一次创建解决方案时 它包含一个名为 ThisAddIn Startup 的函数 我在这个函数中添加了以下代码 private void ThisAddIn
  • 为什么我的单选按钮不起作用?

    我正在 Visual C 2005 中开发 MFC 对话框应用程序 我的单选按钮是 m Small m Medium 和 m Large 它们都没有在我的 m Summary 编辑框中显示应有的内容 可能出什么问题了 这是我的代码 Pizz
  • 保护 APK 中的字符串

    我正在使用 Xamarin 的 Mono for Android 开发一个 Android 应用程序 我目前正在努力使用 Google Play API 添加应用内购买功能 为此 我需要从我的应用程序内向 Google 发送公共许可证密钥
  • 检测到严重错误 c0000374 - C++ dll 将已分配内存的指针返回到 C#

    我有一个 c dll 它为我的主 c 应用程序提供一些功能 在这里 我尝试读取一个文件 将其加载到内存 然后返回一些信息 例如加载数据的指针和内存块的计数到 c Dll 成功将文件读取到内存 但在返回主应用程序时 程序由于堆损坏而崩溃 检测
  • 在屏幕上获取字符

    我浏览了 NCurses 函数列表 似乎找不到返回已打印在屏幕上的字符的函数 每个字符单元格中存储的字符是否有可访问的值 如果没有的话Windows终端有类似的功能吗 我想用它来替换屏幕上某个值的所有字符 例如 所有a s 具有不同的特征
  • 打印大型 WPF 用户控件

    我有一个巨大的数据 我想使用 WPF 打印 我发现WPF提供了一个PrintDialog PrintVisual用于打印派生的任何 WPF 控件的方法Visual class PrintVisual只会打印一页 因此我需要缩放控件以适合页面
  • Unity:通过拦截将两个接口注册为一个单例

    我有一个实现两个接口的类 我想对该类的方法应用拦截 我正在遵循中的建议Unity 将两个接口注册为一个单例 https stackoverflow com questions 1394650 unity register two inter
  • WebBrowser.Print() 等待完成。 。网

    我在 VB NET 中使用 WebBrowser 控件并调用 Print 方法 我正在使用 PDF 打印机进行打印 当调用 Print 时 它不会立即启动 它会等到完成整个子或块的运行代码 我需要确保我正在打印的文件也完整并继续处理该文件
  • OpenGL:仅获取模板缓冲区而没有深度缓冲区?

    我想获取一个模板缓冲区 但如果可能的话 不要承受附加深度缓冲区的开销 因为我不会使用它 我发现的大多数资源表明 虽然模板缓冲区是可选的 例如 排除它以利于获得更高的深度缓冲区精度 但我还没有看到任何请求并成功获取仅 8 位模板缓冲区的代码
  • 可访问性不一致:参数类型的可访问性低于方法

    我试图在两个表单之间传递一个对象 基本上是对当前登录用户的引用 目前 我在登录表单中有一些类似的内容 private ACTInterface oActInterface public void button1 Click object s
  • 使用 omp_set_num_threads() 将线程数设置为 2,但 omp_get_num_threads() 返回 1

    我有以下使用 OpenMP 的 C C 代码 int nProcessors omp get max threads if argv 4 NULL printf argv 4 s n argv 4 nProcessors atoi argv
  • 如何减少具有多个单元的 PdfPTable 的内存消耗

    我正在使用 ITextSharp 创建一个 PDF 它由单个 PdfTable 组成 不幸的是 对于特定的数据集 由于创建了大量 PdfPCell 我遇到了内存不足异常 我已经分析了内存使用情况 我有近百万个单元格的 1 2 在这种情况下有
  • 灵气序列解析问题

    我在使用 Spirit Qi 2 4 编写解析器时遇到一些问题 我有一系列键值对以以下格式解析

随机推荐

  • CSS 引用每个奇怪的嵌套子元素?

    我正在尝试制作一个评论系统 其中嵌套评论具有斑马背景颜色 蓝色背景回复白色背景回复蓝色背景 有没有办法引用这些嵌套的子项 而不是将它们称为 comment comment comment comment comment comment co
  • 使用 Bintray 在 jCenter 上发布 Android Studio 库时遇到问题

    我按照本教程在 Jcenter 上发布示例 Android Studio 库 http crushingcode co publish your android library via jcenter 看起来很清楚 我已通过此链接使用此库创
  • Databricks - 创建永久用户定义函数 (UDF)

    我能够创建一个 UDF 函数并使用 Spark UDF 方法注册到 Spark 但是 这仅限于每个会话 如何在Cluster启动时自动注册python UDF函数 这些功能应该可供所有用户使用 示例用例是将时间从 UTC 转换为本地时区 这
  • 字符串未被识别为有效的日期时间“格式 dd/MM/yyyy”

    我正在尝试将字符串格式化值转换为具有格式的日期类型dd MM yyyy this Text 22 11 2009 DateTime date DateTime Parse this Text 问题是什么 它有第二个覆盖 要求IFormatP
  • C 语言中的简单字符解释

    这是我的代码 include
  • 如何在 cytoscapejs 中操作后保存图形的整个状态

    我在 Angular 中使用 cytoscapejs 我希望用户在完成一些操作 例如平移 缩放 移动节点和边缘 后保存图形的状态 我尝试将整个对象保存在临时变量中 并尝试通过单击按钮使用保存的对象重新加载图形来渲染图形 const cy c
  • 从通话中转接 Twilio 呼叫

    我没有从 Twilio 文档中找到关于此问题的明确答案 我正在尝试构建一个电话系统 该系统可以在通话时且仅通过电话将对方置于保持状态 示例 有两名特工在现场与我一起工作 我通过手机 远离计算机 接到电话 发现另一位客服人员需要与我通话的人通
  • android旋转屏幕导致文本颜色更改为默认值

    在我创建井字棋游戏的 Android 应用程序中 我在下面有这段代码 如果是玩家一步 则将其选择设置为X具有特定的颜色 否则它必须是玩家 2 因此将文本设置为O供他们选择不同的颜色 Override public void onClick
  • 如何在 C# 中对两个列表进行笛卡尔连接?

    如何对两个包含整数的列表进行笛卡尔连接 这可以用 linq 来完成吗 假设您的意思是 交叉连接 或 笛卡尔连接 var query from x in firstList from y in secondList select new x
  • 在 XAMPP for Linux 中使用 mailtodisk / mailoutput

    与 Windows 不同 我在 Linux 中使用 mailtodisk PHP 选项时遇到问题 看起来它根本不存在 在 php ini 的邮件部分中 没有引用它 mail function For Win32 only http php
  • 是否可以通过 Java API for GLES 在 Android 上使用像素图?

    我正在尝试在 Android 上使用 OpenGL ES 实现离屏渲染 我的最终目标是提高我在普通 java 和 Bitmap int API 中所做的纹理映射的性能 我尝试了 pbuffer 方法 类似于来自相关论坛主题 它显示出相当低的
  • 在SSIS中执行Sql任务时出错

    I was trying to insert data from variable into database via SSIS I made use of Execute XML Task below is the screenshot
  • 验证对象必须至少有一个operator/meteor mongo

    我编写了一个将用户地址保存到集合中的方法 但是 我不断收到错误 When the modifier option is true validation object must have at least one operator 这是我的架
  • 如何检测用户何时从 Facebook 删除应用程序

    我是 Facebook SDK 的新手 我想知道如何检测用户何时从其 Facebook 帐户删除应用程序 目前 如果我们删除该应用程序 并且想要从我的应用程序中发布某些内容 我会收到一条错误消息 尝试这个 FBSession renewSy
  • Python Pandas applymap na_action 参数未被识别

    当我尝试在 Pandas 的 applymap 函数中使用参数 na action 时 出现此错误 类型错误 applymap 得到了意外的关键字参数 na action Example gt gt gt df pd DataFrame 1
  • Java 1.4 中 Lock.tryLock() 的替代方案

    我想知道是否有现有的替代方案或如何实现以下语义java util concurrent locks Lock tryLock 在 Java 5 之前 如果锁已被另一个线程持有 则可以立即退出 如果您需要一个Lock支持一个tryLock操作
  • 如何在每次打印调用后打印新行

    我想在带有换行符的函数中获得尽可能多的星星 但我无法通过换行来获取它们 public class prac11 public static void main String args printStars 1 printStars 2 pr
  • 无法让我的脚本使用发布请求填充结果

    我使用 python 结合 selenium 创建了一个脚本来解析id vikey and cbhtmlfragid意味着在 post http 请求中使用时用作有效负载 因为我发现很难刮id vikey and cbhtmlfragid使
  • 为什么将项目写入控制台只写入名称空间和类名而不是数据? [复制]

    这个问题在这里已经有答案了 对于大多数人 熟练的程序员 来说 这个标题听起来可能不太好 但我已经进入学习 C 基础知识的第三周了 我不知道如何解决下一个任务 我将存储一些城市的温度 首先询问用户城市名称 然后询问该城市的实际温度 所有这些东
  • Linux 终端中的游戏:更改图像:打印已打印的文本

    好吧 我只是在 Linux 终端上实现非常简单的纸牌游戏 我想要实现的是改变图像的效果 基本上是在已经打印的文本上打印技巧 我想除了用 r 重新打印同一行之外我不能这样做 我想做的是获取终端高度 然后打印换行符直到终端的下边缘 然后将光标定