Linux环境下c语言贪吃蛇项目

目录

贪吃蛇

一.运行环境

二.ncurses库的使用

三.图形界面规划

四.初始化食物,蛇

四.蛇的移动

五.定义两个线程

六.完整代码


贪吃蛇

贪吃蛇是一种经典的计算机游戏,玩家通过操作蛇的移动方向,让蛇吃到食物的过程中不断变长,直到蛇头碰到游戏界面边缘或撞到自己的身体为止。贪吃蛇最早出现在20世纪70年代,现在已经成为了一个非常流行的休闲游戏。本项目可在Linux环境运行,使用ncurses库获取用户键盘输入,和界面刷新,并用线程让两个循环一起执行。文中贪吃蛇的移动使用二维数组实现。

一.运行环境

Linux 是一种自由和开放源代码的类 Unix 操作系统,它最初是由林纳斯·托瓦兹在1991年创建的。它被广泛用于服务器及其他大型计算机系统上,也被应用于个人电脑和移动设备这样的嵌入式系统上。Linux 操作系统具有高度的可定制性、安全性、稳定性和可靠性,可用于各种不同的用途。它是开源软件运动的一部分,意味着它的源代码是公开的,可以被任何人自由地使用、修改和分发。

二.ncurses库的使用

1.安装ncueses库 

$ sudo apt-get install libncurses5-dev libncursesw5-dev  //Ubuntu

2.引用头文件

#include <curses.h>

编译时要链接    -lcurses

1)initscr();             初始化屏幕,启动curses模式

2)getch();              获取一个字符      例:  int c = getch();

3)endwin();           退出curses模式

4)move(0,0);         锁定光标在(0:0)

5)refresh();            刷新界面

6)noecho();           不显示按键符号

7)printw();              和printf一样在终端输入

8)在Ncurses中使用功能键必须调用:key(stdscr,1);

三.图形界面规划

定义二维数组map[20][20];

规定数组大于0打印蛇身,数组小于0打印食物

实现两个功能计时和得分

void mymap(){
    move(0,0);
    int i;
    int j;
    tTime++;
    second++;
    if(second > 60)
    {
        second = 0;
        minute++;
    }
    if(minute > 60)
    {
        minute = 0;
        hour++;
    }
    for(i=0;i<20;i++){
        for(j=0;j<20;j++){
            if((i==0)||(i==19)||(j==0)||(j==19)){
                printw("$$");
            }
            else if(map[i][j]>=1){
                printw("()");
            }
            else if(map[i][j]==-1){
       
  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值