博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
贪吃蛇c语言代码 vc++6.0,贪吃蛇代码-C语言版-VC++6.0
阅读量:5254 次
发布时间:2019-06-14

本文共 1913 字,大约阅读时间需要 6 分钟。

//这是一个贪吃蛇代码,运行环境VC++6.0

//该程序不需要graphics.h头文件

/*这是一个贪吃蛇代码,运行环境VC++6.0(亲测完美运行)*/

/*该程序在dos系统下运行,不需要graphics.h头文件*/

#include

#include

#include

#include

#include

#include

#define N 21

int apple[3];

char score[3];

char tail[3];

void gotoxy(int x, int y) //输出坐标

{

COORD pos;

pos.X = x;

pos.Y = y;

SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), pos);

}

void color(int b) //颜色函数

{

HANDLE hConsole = GetStdHandle((STD_OUTPUT_HANDLE)) ;

SetConsoleTextAttribute(hConsole,b) ;

}

int Block(char head[2]) //判断出界

{

if ((head[0] < 1) || (head[0] > N) || (head[1] < 1) || (head[1] > N))

return 1;

return 0;

}

int Eat(char snake[2]) //吃了苹果

{

if ((snake[0] == apple[0]) && (snake[1] == apple[1]))

{

apple[0] = apple[1] = apple[2] = 0;

gotoxy(N+44,10);

color(13);

printf("%d",score[0]*10);

color(11);

return 1;

}

return 0;

}

void Draw(char **snake, int len) //蛇移动

{

if (apple[2]) {

gotoxy(apple[1] * 2, apple[0]);

color(12);

printf("●");

color(11);

}

gotoxy(tail[1] * 2, tail[0]);

if (tail[2])

{ color(14);

printf("★");

color(11);

}

else

printf("■");

gotoxy(snake[0][1] * 2, snake[0][0]);

color(14);

printf("★");

color(11);

putchar('\n');

}

char** Move(char **snake, char dirx, int *len) //控制方向

{

int i, full = Eat(snake[0]);

memcpy(tail, snake[(*len)-1], 2);

for (i = (*len) - 1; i > 0; --i)

memcpy(snake[i], snake[i-1], 2);

switch (dirx)

{

case 'w': case 'W': --snake[0][0]; break;

case 's': case 'S': ++snake[0][0]; break;

case 'a': case 'A': --snake[0][1]; break;

case 'd': case 'D': ++snake[0][1]; break;

default: ;

}

if (full)

{

snake = (char **)realloc(snake, sizeof(char *) * ((*len) + 1));

snake[(*len)] = (char *)malloc(sizeof(char) * 2);

memcpy(snake[(*len)], tail, 2);

++(*len);

++score[0];

if(score[3] < 16)

++score[3];

tail[2] = 1;

}

else

tail[2] = 0;

return snake;

}

void init(char plate[N+2][N+2], char ***snake_x, int *len) //初始化

{

int i, j;

char **snake = NULL;

*len = 3;

score[0] = score[3] =3;

snake =

转载地址:http://pkrav.baihongyu.com/

你可能感兴趣的文章
Redis-用思维导图二天搞定Redis用法。
查看>>
[noip模拟赛2017.7.15]
查看>>
ind2vec和vec2ind函数
查看>>
poj1511 Invitation Cards (前向星?)
查看>>
javamail发邮件无主题内容为源文件 乱码
查看>>
LoaderManager使用详解(四)---实例:AppListLoader
查看>>
阅读笔记02
查看>>
java安全编码标准
查看>>
Codeforces Beta Round #7
查看>>
ubuntu windows 双系统修改默认启动项
查看>>
微信场景二维码 做转化步骤跟踪 初步实现思路
查看>>
如何向android的framework里添加新API
查看>>
大道至简伪代码
查看>>
【原】PNG的使用技巧
查看>>
SQLite简介及SQLite在.NET中的应用
查看>>
2017 CCPC Qinhuangdao Site
查看>>
BZOJ3648 : 寝室管理
查看>>
hdu1814Peaceful Commission(2-SAT)
查看>>
判断页面是横屏还是竖屏
查看>>
1、HDFS 架构、启动过程
查看>>