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

相关推荐
Joy T17 分钟前
Agent 确定性上下文设计:从 Prompt 参数注入到能力分层
java·开发语言·微服务·架构·prompt·agent context
专注仿真4 小时前
引擎扩展性与集成设计深度剖析:从 14 个扩展点到 DIS→HLA 演进之路
开发语言·算法·仿真引擎·推演引擎
Best-Wishes4 小时前
科来网络分析系统(技术交流版)使用说明书
开发语言·junit·php
代码不停4 小时前
自动化测试(java)
java·开发语言·selenium·自动化
鬼手点金6 小时前
opencode-rules 插件
java·开发语言·前端·人工智能·chrome·git·github
爱上网的小舟6 小时前
星际战士2启动错误怎么办?5种游戏报错解决方法
开发语言·php
阿里嘎多学长7 小时前
2026-10-12 GitHub 热点项目精选
开发语言·程序员·github·代码托管
wangchunyu1148 小时前
Python 数据可视化实战入门教程
开发语言·python·信息可视化
wuyk5559 小时前
嵌入式驱动开发:量产级工程化实战(第9篇)——低功耗下的通信可靠性
c语言·驱动开发·stm32·单片机·嵌入式硬件
学逆向的10 小时前
C 突破编译器限制
c语言·开发语言·网络安全