推箱子小游戏
//K.h #pragma once class K { //抽象化机器人K //地图大小 #define cx 10 #define cy 10 #define wall1 0xA8 //▓占2个字节 WINDOWS下 #define wall2 0x88 // //为K定义方向,方向符号请无视。 public: enum FX { y = '>', //朝右Y z = '<', //左 -Y s = '^', //上 -X x = 'V' //下 X }; protected: int map[cx][cy]; //0 代表平地可活动; //1 表示墙 //2 表示箱子 //3 箱子的归属 int bakmap[cx][cy]; //做一个备用地图 int ix,iy; //机器人现在的坐标(iy行,第ix列) int fx; //机器人现在的方向 private: void gotoxy(int x,int y){ //移动当前的IX,IY的坐标 ix=x; iy=y; showmap(); } public: K(int tx,int ty,int ifx){ //类构造函数 loadmap(); //机器人K的初使化位置与方向 ix=tx; iy=ty; fx=ifx; showmap(); } void setfx(int sfx){ //设置机器人朝向 fx=sfx;