C语言-贪吃蛇 1.输入控制ncurse

这篇具有很好参考价值的文章主要介绍了C语言-贪吃蛇 1.输入控制ncurse。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、为什么要用nurse

        C语言中的gets()、scanf()、getchar()等函数是在用户输入后需要按下Enter键才能执行代码,而贪吃蛇要求按下按键后立即对蛇的方向进行操作,所以根据贪吃蛇功能的需求引入ncurse,让用户输入后就能让蛇进行对应的行动。

二、ncurse的使用

查看ncurse宏定义:

vi /usr/include/curses.h

 输入/KEY_UP查找上下左右键功能键的函数

C语言-贪吃蛇 1.输入控制ncurse,c语言 

 文章来源地址https://www.toymoban.com/news/detail-725428.html

使用这些功能键时,必须要用keypad设置功能键 

keypad(stdscr,1);    //stdscr表示从标准屏幕接收功能键,参数1代表是否接收“是”

char为1个字节最多能表示128,而宏定义中表示功能键的数大于128,所以要用字节更大的int(4字节)

#include <curses.h>

int main(){
	int key;
	
	initscr();
	keypad(stdscr,1);
	
	while(1){
		key= getch();
		printw("you input:%c\n",c);
	}
	endwin();
	
	return 0;
}

光有这些代码,在输入↑ ↓ ← →这些按键时只会输出上面的数字(0402……),我们可以使用switch函数让其输出更具可读性的提示。

#include <curses.h>

int main(){
	int key;
	
	initscr();
	keypad(stdscr,1);
	
	while(1){
		key= getch();
		switch(key){
			case 0402:
			printw("DOWN");
			case 0403:
			printw("UP");
			case 0404:
			printw("LEFT");
			case 0405:
			printw("RIGHT");
		}
	}
	endwin();
	
	return 0;
}

也可以用ncurse中的宏定义:

 

#include <curses.h>

int main(){
	int key;
	
	initscr();
	keypad(stdscr,1);
	
	while(1){
		key= getch();
		switch(key){
			case KEY_DOWN:
			printw("DOWN");
			case KEY_UP:
			printw("UP");
			case KEY_LEFT:
			printw("LEFT");
			case KEY_RIGHT:
			printw("RIGHT");
		}
	}
	endwin();
	
	return 0;
}

到了这里,关于C语言-贪吃蛇 1.输入控制ncurse的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【c语言】贪吃蛇

    当我们不想学习新知识的时候,并且特别无聊,就会突然先看看别人怎么写游戏的,今天给大家分享的是贪吃蛇,所需要的知识有结构体,枚举,以及easy-x图形库的一些基本函数就完全够用了,本来我想插入游戏的音乐,但是没找到贪吃蛇的背景音乐,所以就没加,大家可以

    2024年02月08日
    浏览(19)
  • C语言——贪吃蛇

    贪吃蛇 贪吃蛇穿墙版 贪吃蛇是久负盛名的游戏,它也和俄罗斯⽅块,扫雷等游戏位列经典游戏的⾏列。 贪吃蛇起源于1977年的投币式墙壁游戏《Blockade》,后移植到各种平台上。具体如下: 起源。1977年,投币式墙壁游戏生产商Gremlin推出了经典的街机游戏《Blockade》,两名玩

    2024年02月05日
    浏览(22)
  • 贪吃蛇(C语言)

    Snake.c

    2024年02月16日
    浏览(21)
  • 贪吃蛇---C语言---详解

    C语言已经学了不短的时间的,这期间已经开始C++和Python的学习,想给我的C语言收个尾,想起了小时候见过别人的老人机上的贪吃蛇游戏,自己父母的手机又没有这个游戏,当时成为了我的一大遗憾,这两天发现C语言实现这个项目似乎并不难,于是查了一些WindowsAPI的控制台函

    2024年02月19日
    浏览(21)
  • 贪吃蛇(C语言版)

    2024年04月25日
    浏览(14)
  • 【C语言】实现贪吃蛇游戏

    我们要用C语言来实现贪吃蛇游戏之前,得了解C语言函数、枚举、结构体、动态内存管理、预处理指令、链表和Win32 API等等的一些相关知识。 关于链表和函数,在之前的文章中都有写过了,友友们可以自行查看。剩下知识会在之后的博客中所提及,请大家多多关注。 这里主要

    2024年02月03日
    浏览(32)
  • C语言---贪吃蛇(一)---准备工作

    c语言知识我们已经学完,下来我们制作一个小游戏—贪吃蛇,来巩固我们的编程。 本次实现贪吃蛇会使⽤到的⼀些Win32 API知识,接下来我们就学习⼀下。 Windows 这个多作业系统除了协调应用程序的执行、分配内存、管理资源之外, 它同时也是⼀个很大的服务中心,调用这个

    2024年04月22日
    浏览(46)
  • C语言实战 - 贪吃蛇(图形界面)

    由于本人精力有限,暂时先把素材和代码放上,等以后有空再补教程。 目录 效果预览 准备工作 EasyX图形库 音频素材 代码编写 Transfer.h文件 game.cpp文件 main.c文件 先来看一下最终成品效果 贪吃蛇图形界面 这个贪吃蛇项目是基于EasyX图形库写的,所以需要安装一个easy图像库,

    2024年02月05日
    浏览(40)
  • 【C语言】贪吃蛇实现思路详解

      贪吃蛇小游戏主要运用了链表和线程实现游戏的运行,三要素分别是:地图-蛇身移动、增加、撞墙和咬自己-在地图范围内随机生成食物。接下来分步实现: 1. 地图 1.1 ncurse图形库库 1.2 接收功能键 1.3 通过ncurse绘制地图 2. 蛇身 2.1 静态构造蛇身 2.2 动态构造蛇身 2.3 蛇身的移

    2024年02月11日
    浏览(33)
  • C语言—贪吃蛇(链表)超详解

    目录 游戏背景 游戏展示效果 需要实现的功能 贪吃蛇地图绘制: 蛇吃食物的功能: 蛇的移动控制: 蛇撞墙死亡: 蛇撞自身死亡: 计算得分: 蛇身加速、减速: 暂停游戏: 技术要点 win32 API 控制台程序 控制台坐标 COORD   成员: ​编辑 什么是句柄? 示例用法: GetConso

    2024年04月26日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包