贪吃蛇游戏的制作记录 您所在的位置:网站首页 蛇香游戏 贪吃蛇游戏的制作记录

贪吃蛇游戏的制作记录

#贪吃蛇游戏的制作记录| 来源: 网络整理| 查看: 265

关于蛇的实现代码

#include "snake.h" #include "globalvar.h" #include

int fangXiang = 1;//方向 0 右 1 上 2 左 3 下 int snakeHang[100] = { 10,11,12,13,14 };//蛇 每节所在行 int snakeLie[100] = { 10,10,10,10,10 };//蛇 每节所在列 int snakeLength = 5;//当前的长度

IMAGE imgHead[4]; IMAGE imgBody;

void snakeMove() {     //身体爬行     for (int j = snakeLength - 1; j >= 1; j--)     {         snakeHang[j] = snakeHang[j - 1];         snakeLie[j] = snakeLie[j - 1];     }

    //头爬行     switch (fangXiang)     {     case 0:         snakeLie[0]++;//右         break;     case 1:         snakeHang[0]--;//上         break;     case 2:         snakeLie[0]--;//左         break;     case 3:         snakeHang[0]++;//下         break;     } }

int enabledEat() {     return  snakeHang[0] == appleHang && snakeLie[0] == appleLie; }

void snakeGrow() {     snakeLength++; }

int enabledOver() {     return snakeHang[0] == 0 || snakeHang[0] == 19 || snakeLie[0] == 0 || snakeLie[0] == 19; }

int enabledEatSelf() {     //状态思维:     int yes = 0;     //检查     for (int i = 1; i < snakeLength; i++)     {         if (snakeHang[0] == snakeHang[i] && snakeLie[0] == snakeLie[i])         {             yes = 1;             break;         }     }     return yes; }

void snakeDown() {     if (fangXiang != 1)     {         fangXiang = 3;     } }

void snakeUp() {     fangXiang = 1; }

void snakeRight() {     fangXiang = 0; }

void snakeLeft() {     fangXiang = 2; }

void snakegraph() {     putimage(snakeLie[0] * 30, snakeHang[0] * 30, &imgHead[fangXiang]);     for (int j = 1; j < snakeLength; j++)     {         putimage(snakeLie[j] * 30, snakeHang[j] * 30, &imgBody);     } }

void snakegraphHead() {     TCHAR str[100];     for (int i = 0; i < 4; i++)     {         _stprintf(str, L".\\she\\head%d.bmp", i);         loadimage(&imgHead[i], str);     }     loadimage(&imgBody, L".\\she\\body.bmp"); }



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有