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 一般是为了等待用户按下一个键,防止程序执行完马上退出,方便用户查看输出结果。

相关推荐
mount_myj2 小时前
长长久久【C语言】
c语言
九转成圣3 小时前
Java 性能优化实战:如何将海量扁平数据高效转化为类目字典树?
java·开发语言·json
SmartRadio3 小时前
ESP32-S3 双模式切换实现:兼顾手机_路由器连接与WiFi长距离通信
开发语言·网络·智能手机·esp32·长距离wifi
laowangpython4 小时前
Rust 入门:GitHub 热门内存安全编程语言
开发语言·其他·rust·github
我叫汪枫4 小时前
在后台管理系统中,如何递归和选择保留的思路来过滤菜单
开发语言·javascript·node.js·ecmascript
_.Switch4 小时前
东方财富股票数据JS逆向:secids字段和AES加密实战
开发语言·前端·javascript·网络·爬虫·python·ecmascript
软件技术NINI4 小时前
webkit简介及工作流程
开发语言·前端·javascript·udp·ecmascript·webkit·yarn
Brendan_0014 小时前
JavaScript的Stomp.over
开发语言·javascript·ecmascript
念2344 小时前
f5 shape分析
开发语言·javascript·ecmascript
苍穹之跃4 小时前
某量JS逆向
开发语言·javascript·ecmascript