用链表来实现贪吃蛇游戏

**

贪吃蛇是我们很经常玩的小游戏,而如果用链表来做一个贪吃蛇游戏,你就会对链表有一个深刻的认识,而且链表作为c语言的重点,也是c语言的独特魅力所在 算了,不说那么多了,上干货

**
snake.c

#include <curses.h>
#include <stdlib.h>
#include <pthread.h>
#include "LIST.h"
#define MAP_WIDTH 20
#define MAP_HEIGHT 20
extern struct Snake *g_snake;
extern struct Snake g_food;

int g_flag = 0;

int g_direction = KEY_RIGHT;
int commitsuicide() {
    struct Snake *p;
    p = g_snake;
    struct Snake *tmp;
    tmp = g_snake->next;
    while (tmp != NULL) {
        if ((p->x == tmp->x) && (p->y == tmp->y)) {
            return 0;
        }
        tmp = tmp->next;
    }
    return -1;
}

void initFood() {
    int judge = 0;
    do {
        int x = rand() % 20 + 1;
        int y = rand() % 20 + 1;
        g_food.x = x;
        g_food.y = y;
        g_food.next = NULL;
        if ((g_food.x == g_snake->x) && (g_food.y == g_snake->y)) {
            judge = 1;
        }
    } while (g_food.x == 0 || g_food.x > 18 || g_food.y == 0 || g_food.y > 18 ||
             judge == 1);
}

int foodFind(int x, int y) {

    if ((g_food.x == x) && (g_food.y == y)) {
        return 0;
    }

    return -1;
}
int headTofood() {

    if ((g_food.x == g_snake->x) && (g_food.y == g_snake->y)) {
        return 0;
    }
    return -1;
}
void ini
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值