level 6
hack绝望
楼主
/*
在WIN-TC编译通过
编译时间:2009-12-10
作品名:贪吃蛇
编译人:FENGZI
*/
#include<stdio.h>
#include<graphics.h>
#include<time.h>
#include<stdlib.h>
#include<bios.h>
/*键值表*/
#define ESC 0x11b
#define UP 0x4800
#define DOWN 0x5000
#define LEFT 0x4b00
#define RIGHT 0x4d00
#define ENTER 0x1c0d
#define SPACE 0x3920
/*游戏宽度*/
#define L_num_x 26
#define L_num_y 17
#define SNAKE_NUM (L_num_x*L_num_y)
#define START_X 60
#define START_Y 40
/*颜色*/
/*背景*/
#define CLO_back BLACK
/*地图*/
#define CLO_map YELLOW
/*snake*/
#define CLO_snake RED
/*食物*/
#define CLO_food GREEN
/*游戏速度*/
#define GAME_SPEEH 80000
/*游戏数据*/
int game[L_num_x][L_num_y]={0};
int snake_num;
int snakelife=1; /*1为生存,0为死亡*/
struct SNAKE
{
int x;
int y;
}snake[SNAKE_NUM];
int food=0;
long score=0; /*分数*/
float beishu=1; /*游戏速度设置数据*/
/*函数声明*/
void setgraph(void); /*设置图形函数*/
void setgamedata(void); /*设置游戏数据*/
void drawgamepicture(void); /*画游戏背景框图*/
void draw_key(int x,int y,int color); /*画格子函数*/
void gamemain(void); /*游戏主函数*/
void randfood(void); /*食物生成函数*/
void movesnake(int x,int y); /*snake 移动函数*/
void chacksnake(void); /*检查snake是否撞墙函数*/
void printfscore(void); /*分数输出函数*/
void gameover(void); /*游戏结束函数*/
/**/
/*设置图形函数*/
void setgraph(void)
{
int gd=DETECT,gm;
registerbgidriver(EGAVGA_driver);
initgraph(&gd,&gm,"");
}
/*设置游戏数据*/
void setgamedata(void)
{int i,j;
/*设置地图*/
for(i=0;i<L_num_x;i++)
for(j=0;j<L_num_y;j++)
{
if(i==0 || j==0 || i==L_num_x-1 || j==L_num_y-1)
game[i][j]=-1;
else
game[i][j]=0;
}
/*snake初始化,默认3节,从snake[1]开始,便于理解*/
snake_num=3;
for(i=1;i<=3;i++)
{snake[i].x=L_num_x/2+i-5;
snake[i].y=L_num_y/2;
draw_key(snake[i].x,snake[i].y,CLO_snake);
}
2009年12月09日 19点12分
1
在WIN-TC编译通过
编译时间:2009-12-10
作品名:贪吃蛇
编译人:FENGZI
*/
#include<stdio.h>
#include<graphics.h>
#include<time.h>
#include<stdlib.h>
#include<bios.h>
/*键值表*/
#define ESC 0x11b
#define UP 0x4800
#define DOWN 0x5000
#define LEFT 0x4b00
#define RIGHT 0x4d00
#define ENTER 0x1c0d
#define SPACE 0x3920
/*游戏宽度*/
#define L_num_x 26
#define L_num_y 17
#define SNAKE_NUM (L_num_x*L_num_y)
#define START_X 60
#define START_Y 40
/*颜色*/
/*背景*/
#define CLO_back BLACK
/*地图*/
#define CLO_map YELLOW
/*snake*/
#define CLO_snake RED
/*食物*/
#define CLO_food GREEN
/*游戏速度*/
#define GAME_SPEEH 80000
/*游戏数据*/
int game[L_num_x][L_num_y]={0};
int snake_num;
int snakelife=1; /*1为生存,0为死亡*/
struct SNAKE
{
int x;
int y;
}snake[SNAKE_NUM];
int food=0;
long score=0; /*分数*/
float beishu=1; /*游戏速度设置数据*/
/*函数声明*/
void setgraph(void); /*设置图形函数*/
void setgamedata(void); /*设置游戏数据*/
void drawgamepicture(void); /*画游戏背景框图*/
void draw_key(int x,int y,int color); /*画格子函数*/
void gamemain(void); /*游戏主函数*/
void randfood(void); /*食物生成函数*/
void movesnake(int x,int y); /*snake 移动函数*/
void chacksnake(void); /*检查snake是否撞墙函数*/
void printfscore(void); /*分数输出函数*/
void gameover(void); /*游戏结束函数*/
/**/
/*设置图形函数*/
void setgraph(void)
{
int gd=DETECT,gm;
registerbgidriver(EGAVGA_driver);
initgraph(&gd,&gm,"");
}
/*设置游戏数据*/
void setgamedata(void)
{int i,j;
/*设置地图*/
for(i=0;i<L_num_x;i++)
for(j=0;j<L_num_y;j++)
{
if(i==0 || j==0 || i==L_num_x-1 || j==L_num_y-1)
game[i][j]=-1;
else
game[i][j]=0;
}
/*snake初始化,默认3节,从snake[1]开始,便于理解*/
snake_num=3;
for(i=1;i<=3;i++)
{snake[i].x=L_num_x/2+i-5;
snake[i].y=L_num_y/2;
draw_key(snake[i].x,snake[i].y,CLO_snake);
}