ncurses库怎么使用(ncurses库实现网络聊天室)

使用ncurses的灵活性和强大功能在Linux上创建一个猜数字游戏。 在我的上一篇文章,我简要介绍了使用ncurses库通过C语言编写文本模式交互式应用程序。使用ncurses,我们可以控制文本在终端上的显示位置和方式。如果你通过阅读手册页探索ncurses库函数,你会发现显示文本有很多不同的方式,包括粗体文本、颜色、闪烁文本、窗口、边框、图形字符和其它功能,这些都可以使你的应用脱颖而出。 如果…

应用 ncurses 的协调性和强劲作用在 Linux 上建立一个猜数字手机游戏

通过 ncurses 在 Linux 上写一个猜谜游戏

在我的 上一篇文章,我简单介紹了应用 ncurses 库根据 C 语言表达撰写文本方式互动式运用程序。应用 ncurses,我们可以操纵文本在终端设备上的表明地方和方法。假如你根据阅读手册页探寻 ncurses 函数库,你就会发现表明文本有很多差异的方法,包含粗字体文本、色调、闪动文本、对话框、外框、图型标识符和其他作用,这种可以使你的运用出类拔萃。

假如你要探寻一个更高等级的程序来演试在其中一些有意思的作用,有一个简便的“猜数字”手机游戏,我已升级为应用 ncurses 撰写的了。该程序在一个区域内挑选一个随机数字,随后规定客户开展反复猜测,直到她们猜到这一密秘数字。当客户开展猜测时,程序会告之她们猜测的数字是太低或是太高。

小心,程序限制很有可能的数字范畴是 0 到 7。将值维持在不足的个位数字范畴内,可以更简单的应用 getch函数公式从客户载入单独数字。我都运用了getrandom核心系统进程来生成随机数,设置数字最高值为 7,以从 0 (二进制0000)到 7 (二进制0111)中选取一个随机数字。

#include 

根据应用 ncurses,我们可以提升一些有意思的视觉效果感受。根据加上函数公式,我们可以在屏幕顶端表明关键的文本信息内容,在屏幕底端表明情况信息行:

void
print_header(const char *text)
{
  move(0, 0);
  clrtoeol;

  attron(A_BOLD);
  mvaddstr(0, (COLS / 2) - (strlen(text) / 2), text);
  attroff(A_BOLD);
  refresh;
}

void
print_status(const char *text)
{
  move(LINES - 1, 0);
  clrtoeol;
  attron(A_REVERSE);
  mvaddstr(LINES - 1, 0, text);
  attroff(A_REVERSE);
  refresh;
}

根据这种函数公式,大家就可以搭建猜数字手机游戏的关键一部分。最先,程序为 ncurses 设定终端设备,随后从 0 到 7 中选取一个随机数字。表明数字标尺后,程序运行一个循环系统,了解客户的猜测。

当用户开展猜测时,程序会在屏幕上给予意见反馈。假如猜测太低,程序会在屏幕上的数字下边打印出一个左方括号。假如猜测太高,程序会在屏幕上的数字下边打印出一个右方括号。这有利于客户变小她们的选取范畴,直到她们猜到恰当的数字。

int
main
{
  int number, guess;

  initscr;
  cbreak;
  noecho;

  number = random0_7;
  mvprintw(1, COLS - 1, \"%d\", number); /* debugging */

  print_header(\"Guess the number 0-7\");

  mvaddstr(9, (COLS / 2) - 7, \"0 1 2 3 4 5 6 7\");

  print_status(\"Make a guess...\");

  do {
    guess = read_guess;

    move(10, (COLS / 2) - 7   (guess * 2));

    if (guess  number) {
      addch(\']\');
      print_status(\"Too high\");
    }

    else {
      addch(\'^\');
    }
  } while (guess != number);

  print_header(\"That\'s right!\");
  print_status(\"Press any key to quit\");
  getch;

  endwin;

  return 0;
}

拷贝这一程序,自身试着编译程序它。别忘记你需要告知 GCC c语言编译器连接到 ncurses 库:

$ gcc -o guess guess.c -lncurses

我留有了一个调节行,因此你能够见到屏幕右上方周边的密秘数字:

通过 ncurses 在 Linux 上写一个猜谜游戏

图1:猜数字手机游戏。留意右上方的密秘数字。

逐渐应用 ncurses

该程序使用了 ncurses 的很多其他函数公式,你能从这种函数公式逐渐。例如,print_header函数公式在屏幕顶端垂直居中以粗字体文本打印消息,print_status函数公式在屏幕左下方以反方向文本打印消息。应用它来协助你进行应用 ncurses 程序编写。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2022年5月13日 下午1:43
下一篇 2022年5月13日 下午1:43

相关推荐

  • 企业网络营销策略分析,企业该如何运用网络营销

    企业常见的网络营销策略很多,例如充分利用于百度平台、加强推广和网站运营的结合、配置适合的网络营销团队等。 网络营销无时不刻都在变化,因此网络营销策略更应该因时而变,有效果的策略继续保持,无效的策略选择调整或放弃,那么针对移动互联网的时代,我想说几个网络营销策略。 第一个网络营销策略是内容营销 那什么是内容呢?大家可以试想一想:原创文章是内容、产品视频介绍是内容、产品 PDF文档是内容,我刚才提供下…

    2022年7月16日
    630
  • 今日头条粉正悄然打破格局:粉丝不再重要

    今日头条粉正悄然打破格局:粉丝不再重要

    2022年9月26日
    460
  • 什么是电池校正(电脑电量校准方法)

    方法一: 标准校准方法:许多品牌的笔记本计算机都使用此BIOS中的电池校准功能,在其BIOS中集成了电池校准程序。通用英语术语是“电池校准”,意思是“电池校准”。直接进入此BIOS完成电池校准操作。以华硕笔记本电脑为例。只需谈论如何操作它。其他书籍的操作方法相似。开机,出现启动屏幕后,按[F2]进入BIOS菜单;使用左右方向键选择进入电源菜单。 进入电源菜单,您可以看到“开始电池校准”选项,选择它…

    2022年5月9日
    1320
  • 千元以下智能机推荐,2020年热门千元以下智能机大全

    近期千元机市场异常火爆,人们对于这一价位段的关注力度始终是最强的,这当然与性价比有着巨大的关系,显然近期上市的几款新品在货源方面均是脱销的节奏,本来在这一阶段手机市场就非常火热,再加上产品本身的吸引力,使得这些手机就更有销路。 如今的千元机已经不再是“傻大黑丑”代名词,在千元机市场内有很多美型手机,他们有着不错的外观、均衡的硬件配置以及极具诱惑力的价格,今天小编就为大家盘点几款千元以下的美型机。 …

    2022年9月29日
    630
  • 淘宝店如何做推广, 新手必备推广方法

    淘宝店铺怎么做推广?淘宝店铺的推广方式有多种多样的技巧,每一种推广方式只要应用得好了,店铺就不怕没流量。像直通车这个推广方式,是所有推广渠道中最难最重要的一项必做工作。要怎么把直通车开好,关键词的选择和设置是关键。只要把关键词优化好了,店铺的点击和自然流量还有转化就慢慢的上去了。那么淘宝店铺要怎么样做推广?怎么样开好直通车呢?  怎么做淘宝推广?有哪些推广方式 其实内容营销并不是只有手淘首页的那些…

    2022年5月18日
    940
  • 淘宝店铺介绍怎么写才吸引人,淘宝店铺描述范文

    尽管近年来出现了越来越多的各大电商平台,但是淘宝的地位还是不可动摇的。淘宝开店依然是很多人心目中的首选,在开店的时候却有不少的商家是不知道应该怎样去写自己店铺的简介的。其实不同行业的淘宝店铺的介绍是各不相同的,下面就让小编来给大家讲一下淘宝店铺简介应该怎样去写才能吸引到人。 一、淘宝店铺简介应该怎样写? 1、淘宝店铺介绍的文字要精辟简洁; 2:文字不能与淘宝店铺介绍离题; 3:淘宝店铺介绍中可加入…

    2022年6月2日
    660
  • 菜籽油哪个牌子好(常见性价比高的7大品牌)

    菜籽油就是我们俗称的菜油,又叫油菜籽油、香菜油、芸苔油、香油、芥花油,是用油菜籽榨出来的一种食用油,是我国主要食用油之一,主产于长江流域及西南、西北等地。菜籽油色泽金黄或棕黄,有一定的刺激气味,具有一定的软化血管、延缓衰老的功效,人体对菜籽油的吸收率很高,那么究竟哪些品牌的菜籽油好呢? 金龙鱼 包邮金龙鱼葵花籽食用植物调和油5L/桶食用油人气爆款炒菜清香 ¥42.9 淘口令: ¥DuohcV5yV…

    2022年10月21日
    780
  • 独特的微信公众号名称大全,赶快给你的公众号取一个好听的名字吧

    E客先生之前写过一些文章呼吁每个人都注册一个属于自己的微信公众号,自媒体不是行业大咖的专属,我们每个人都是自己的自媒体,然而如何打造属于自己的自媒体,微信公众平台就是一个绝好机会,只要你有想法,你有能力,你有资源,一切都有可能。 谈到微信公众号,很多朋友在第一步,给微信公众平台命名的时候就开始犯糊涂,不知道如何取才好,或者就是随便取一个!E客先生很负责人的要告诉大家,微信公众号自媒体不是这么玩的,…

    2022年8月10日
    550
  • 公众号数据采集平台,公众号发布数量统计报告分析

    运营公众号通常会进行数据分析,但把后台的数据复制粘贴,把那些能人看得到的数据写出来,这样也没什么意义,重要的是挖掘数据背后的信息,从而对运营进行有效的指导。 记得有一次,拓途数据小编在微信上问一个在新媒体行业较有经验的长辈:“老师,微信公众号主要分析哪些方面的数据?” 然后呵呵!这位老师没有理会我。 其实也情有可原,你没交人家学费,又没有什么身份地位,人家凭什么用自己的时间来给你解答疑惑。 于是只…

    2022年6月12日
    630
  • 电脑还原系统怎么还原D盘软件,快速帮你一键还原D盘软件

    GHOST误操作盘区数据恢复方法教程 很多朋友在尝试安装ghost版系统或者恢复之前ghost系统备份的时候,不小心将ghost覆盖到其他盘区,或者很多资料程序没做备份直接覆盖了系统盘,这时候怎么办呢?原来的盘区数据有没可能恢复呢?答案是肯定的。本文就教大家如果在GHOST误操作后,恢复覆盖前的数据。 如果我们在恢复分区时这样选择:Local—Disk—from image。Ghost就认为我们现…

    2022年9月10日
    560

发表回复

登录后才能评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信