没有合适的资源?快使用搜索试试~ 我知道了~
c语言Win32下的贪吃蛇
需积分: 9 7 下载量 200 浏览量
2011-07-09
21:34:58
上传
评论
收藏 5KB TXT 举报
温馨提示


试读
8页
用纯粹的C语言写的,在WinXP + gcc下通过编译,在VC6下应该也没问题,不过我没测试过. 没有使用图形界面,因此不存在找不到图形库的问题.纯控制台的小游戏. 上次的"点灯"有人说太无聊了,我也觉得确实太无聊,因此这次来了个大家都会玩的游戏. 空格键:启动/暂停 方向键:控制方向 主要源代码附下,200来行:
资源推荐
资源详情
资源评论

















#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include "pcc32.h"
#pragma comment(lib, "pcc32_vc6.lib") // 在VC6.0中添加这一句
// 定义地图的尺寸及坐标(均使用双字符长度)
#define MAP_WIDTH 16
#define MAP_HEIGHT 16
#define OFFSET_X 1
#define OFFSET_Y 1
#define TOTAL_WIDTH (MAP_WIDTH+OFFSET_X*2)
#define TOTAL_HEIGHT (MAP_HEIGHT+OFFSET_Y*2)
#define GotoMap(x,y) gotoTextPos((x)*2,(y))
// 定义蛇的相关参数
#define SNAKE_MIN_LEN 5
// 定义地图块的状态,分别为[空格|蛇头|蛇身|蛇尾|食物]
#define BS_SPACE 0
#define BS_HEAD 1
#define BS_BODY 2
#define BS_TAIL 3
#define BS_FOOD 4
// 定义各对象的颜色,形状,顺序同上.
PCCOLOR myColors[] = {CYAN, MAGENTA, RED, GREEN, YELLOW};
char mySharps[][3] = {"□", "◆", "■", "+", "★"};
#include <stdlib.h>
#include <time.h>
#include "pcc32.h"
#pragma comment(lib, "pcc32_vc6.lib") // 在VC6.0中添加这一句
// 定义地图的尺寸及坐标(均使用双字符长度)
#define MAP_WIDTH 16
#define MAP_HEIGHT 16
#define OFFSET_X 1
#define OFFSET_Y 1
#define TOTAL_WIDTH (MAP_WIDTH+OFFSET_X*2)
#define TOTAL_HEIGHT (MAP_HEIGHT+OFFSET_Y*2)
#define GotoMap(x,y) gotoTextPos((x)*2,(y))
// 定义蛇的相关参数
#define SNAKE_MIN_LEN 5
// 定义地图块的状态,分别为[空格|蛇头|蛇身|蛇尾|食物]
#define BS_SPACE 0
#define BS_HEAD 1
#define BS_BODY 2
#define BS_TAIL 3
#define BS_FOOD 4
// 定义各对象的颜色,形状,顺序同上.
PCCOLOR myColors[] = {CYAN, MAGENTA, RED, GREEN, YELLOW};
char mySharps[][3] = {"□", "◆", "■", "+", "★"};
// 定义蛇的运动方向[上|下|左|右]
#define DIR_UP 1
#define DIR_DOWN 2
#define DIR_LEFT 3
#define DIR_RIGHT 4
typedef struct _POINT2D
{
uint8 x, y;
}POINT2D, *PPOINT2D;
POINT2D mySnake[MAP_WIDTH*MAP_HEIGHT] = {{0}};
POINT2D myFood = {0};
int snakeLength = SNAKE_MIN_LEN;
int snakeDir = DIR_RIGHT;
int isFood = 0;
int isOver = 0;
void drawMap(void);
void initSnake(void);
void drawSnake(void);
void moveSnake(void);
void drawBlock(int x, int y, int bs);
int isInSnake(int x, int y);
void drawFood(void);
void doGame(void);
void gameOver(void);
int main()
剩余7页未读,继续阅读
资源评论


Lunifer12
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


安全验证
文档复制为VIP权益,开通VIP直接复制
