求贪吃蛇AI~

来源:百度知道 编辑:UC知道 时间:2024/05/17 08:04:46
/** @file
贪食蛇的AI实现文件。
*/

#include "Contestant.h"

//////////////////////////////////////////////////////////////////////////
// 可取的行走方向(Decision)
//////////////////////////////////////////////////////////////////////////
#define UP Player::Up /**< 向上移动。 */
#define DOWN Player::Down /**< 向下移动。 */
#define LEFT Player::Left /**< 向左移动。 */
#define RIGHT Player::Right /**< 向右移动。 */

//////////////////////////////////////////////////////////////////////////
// 地图上可能存在的物品(Thing)
//////////////////////////////////////////////////////////////////////////
#define GROUND Map::Ground /**< 空旷的地面。 */
#define BLOCK Map::Block /**< 不能走的障碍。 */
#define SNAKE Map::Snake /**< 自己的身体,也不能穿过去。 */
#define DOOR Map::Door /**< 关着的门,吃到钥匙之后就会自动变成地面。 */
#define KEY Map::Key /**< 钥匙,吃到之后会打开所有的门。 */
#define APPLE Map::Apple /**< 苹果,吃到之后身

/**********************************************************
*YM12864R-3 液晶驱动(3线串行方式) LCD Module
*控制芯片:ST7920
*版本:V1.3
*日期:2007-6-6
*创建人:飞扬
**********************************************************/
#include <AT89x52.H>
/************* 用累加器操作速度比较快 *******************/
sbit B_0 = B^0;
sbit B_7 = B^7;

/****************** 液晶模块引脚定义 *******************/

sbit LCD_CS = P1^0;//LCD模块片选端,高电平有效
sbit LCD_SID = P1^1;//LCD串行数据输入端
sbit LCD_CLK = P1^2;//LCD串行同步时钟,上升沿读取SID数据

/**************** 常用操作命令和参数定义 *****************/

#define DisplayClear 0x01 //清屏指令(00000001)
#define ReturnHome 0x02 //光标回到"00H"(0000001X)
#define EntryMode 0x06 //进入点设定,光标右移,AC加1(00000110)
#define DisplayOn 0x0c //整体显示开,光标关,反白关
#define DisplayOff 0x08 //整体显示关
#define CursorOn 0x0e //光标显示开
#define Reverse 0x0d //反白显示开
#define Basic 0x30 //基本指令
/*******