教你实现简单的贪吃蛇------C语言版

前言

贪吃蛇相信大家小时候都玩过,那么你有没有想过有一天你也能自己编程实现它呢?今天我就在这里教大家用C语言,通过自顶向下逐步求精的方法,实现一个简易的贪吃蛇。

准备工作

(首先心里要有点X数)既然是简易的,那么没有高大上的画面,我们实现的一定是字符版。为了方便我们之后的思考,我们先把最基础的几个参数和初始参数定下来。

#include<stdio.h>
#include<conio.h>

#define SNAKE_MAX_LENGTH 20
#define SNAKE_HEAD 'H'
#define SNAKE_BODY 'X'
#define BLANK_CELL ' '
#define WALL_CELL '*'
#define SNAKE_FOOD '$'
#define stay 'S'

char map[12][12] =
{ "************",
"*XXXXH     *",
"*          *",
"*          *",
"*          *",
"*          *",
"*          *",
"*          *",
"*          *",
"*          *",
"*          *",
"************"
};
int snakeX[SNAKE_MAX_LENGTH] = { 5,4,3,2,1 };
int snakeY[SNAKE_MAX_LENGTH] = { 1,1,1,1,1 };
int snake_length = 5;

对没错,那个二元字符组就是游戏界面,第二行那一条就是我们的蛇了。

一条会动、会死的蛇

秉着由简入繁的原则,我们先来实现最基本的功能,就是一条能够接受我们命令(WASD)动起来,而且撞到墙或者自己会死的蛇。让我们先敲下伪代码。

输出字符矩阵
    WHILE not 游戏结束 DO
        ch=输入的字符
        move(ch);
        输出字符矩阵
    END WHILE
    输出 Game Over!!! 

然后按照伪代码敲下main函数,以及我们秉着“自顶向下、逐步求精”的原则自己写的move函数以及判断死亡的函数。这里用到了两个小技巧,一个是getch()这个函数,可以让程序不需要每次输入后再敲个回车;另一个是p这个值(其实就是布尔值)来帮助记录蛇的死活。

void print(char map[12][12]) {

    
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值