c语言第一个小游戏:贪吃蛇小游戏01

hello啊大家好 今天我们用一个小游戏来增强我们的c语言!

那就是贪吃蛇

为什么要做一个贪吃蛇小游戏呢?

因为这个小游戏所涉及到的知识有c语言的指针、数组、链表、函数等等可以让我们通过这个游戏来巩固c语言,进一步认识c语言。

一.我们先做准备工作

需要用到ncurse这个老古董。要记住一般ncurses是在Linux系统上比较适配的,所以我们这边都是在Linux虚拟机里面运行的

因为ncurse 的按键响应牛逼,但是我们并不要去了解ncurse这个东西,因为他已经被时代淘汰了,我们只需要去时候他的方向键锻炼我们c语言对数据结构的处理,和控制语句的使用才是我们的目的。

要用ncurse的时候 头文件为#include <curses.h>

initscr(); ncurse初始化函数,调用 curses 库函数来初始化 屏幕,开启 curses 模式,让程序能够对屏幕进行操作。

printw() 在ncurse模式下的printf

getch() 等待用户输入,如果没有这句话,程序就退出了,看不到运行的结果,也就是看不到printw里面的话

getch 函数会等待用户输入,且输入时不会在屏幕上回显字符

Endwin 程序退出,调用改函数来恢复shell终端的显示,如果没有这句话,shell终端字乱码,坏掉

编译ncurse程序的时候 要在后面添加-lcures gcc xxx.c -lcurses

我们这边输入这个代码,我们理解一个各个函数的作用

第一个getchc = getch(); 使用 getch 函数从用户输入获取一个字符,并将其赋值给变量 c。getch 函数会等待用户输入,且输入时不会在屏幕上回显字符。

运行后输入一个k变成这样,此时还没有程序结束,因为第二个getch()这里的 getch 一般是为了等待用户按下一个键,防止程序执行完马上退出,方便用户查看输出结果。

相关推荐
逑之1 小时前
C语言笔记10:sizeof和strlen,指针与数组
c语言·笔记·算法
SmartRadio7 小时前
CH585M+MK8000、DW1000 (UWB)+W25Q16的低功耗室内定位设计
c语言·开发语言·uwb
rfidunion7 小时前
QT5.7.0编译移植
开发语言·qt
rit84324997 小时前
MATLAB对组合巴克码抗干扰仿真的实现方案
开发语言·matlab
大、男人8 小时前
python之asynccontextmanager学习
开发语言·python·学习
hqwest8 小时前
码上通QT实战08--导航按钮切换界面
开发语言·qt·slot·信号与槽·connect·signals·emit
AC赳赳老秦8 小时前
DeepSeek 私有化部署避坑指南:敏感数据本地化处理与合规性检测详解
大数据·开发语言·数据库·人工智能·自动化·php·deepseek
不知道累,只知道类9 小时前
深入理解 Java 虚拟线程 (Project Loom)
java·开发语言
国强_dev9 小时前
Python 的“非直接原因”报错
开发语言·python
YMatrix 官方技术社区9 小时前
YMatrix 存储引擎解密:MARS3 存储引擎如何超越传统行存、列存实现“时序+分析“场景性能大幅提升?
开发语言·数据库·时序数据库·数据库架构·智慧工厂·存储引擎·ymatrix