创新互联www.cdcxhl.cn八线动态BGP香港云服务器提供商,新人活动买多久送多久,划算不套路!
专注于为中小企业提供成都网站设计、网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业灵武免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了超过千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。小编给大家分享一下用easyx图形库实现推箱子游戏的方法,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨方法吧!
#include#include //#include #include #include #include //播放音乐需要的头文件 #include #pragma comment(lib,"winmm.lib") //格子边长 #define SPACE 60 //6.3.1 定义变量 IMAGE png[12];//5张图,定义5个变量,定义一个数组 #define MapMany 6 //枚举方向 enum CH { right = 1, left = 2, up = 3, down = 4 }ch; //定义一个全局三维数组 //0表示空地“ ” 1表示墙“■” 2代表目的地“⊙” 3代表人站在空地上“♀” 4代表箱子“□” //5箱子与目的地重合“◆” 6,人站在目的地上“♀” //下面定义地图 int map[MapMany][10][10] = { //图一 { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, { 1, 2, 0, 1, 1, 0, 0, 0, 2, 1 }, { 1, 0, 0, 1, 1, 0, 0, 0, 0, 1 }, { 1, 0, 0, 1, 1, 1, 1, 0, 4, 1 }, { 1, 0, 0, 1, 1, 1, 1, 0, 0, 1 }, { 1, 0, 0, 1, 1, 1, 0, 0, 0, 1 }, { 1, 0, 0, 1, 1, 1, 0, 0, 0, 1 }, { 1, 4, 0, 0, 0, 0, 0, 3, 0, 1 }, { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 }, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, }, //图二 { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, { 1, 0, 1, 2, 0, 0, 0, 4, 0, 1 }, { 1, 0, 1, 0, 0, 0, 0, 0, 0, 1 }, { 1, 0, 1, 0, 0, 1, 1, 0, 0, 1 }, { 1, 0, 1, 0, 0, 1, 1, 0, 0, 1 }, { 1, 0, 1, 1, 1, 1, 1, 0, 3, 1 }, { 1, 0, 1, 1, 1, 1, 1, 0, 0, 1 }, { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 }, { 1, 2, 0, 0, 4, 0, 0, 0, 0, 1 }, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, }, //图三 { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, { 1, 2, 0, 1, 0, 0, 3, 0, 0, 1 }, { 1, 0, 0, 1, 0, 0, 0, 0, 0, 1 }, { 1, 0, 0, 1, 1, 1, 1, 0, 0, 1 }, { 1, 4, 0, 1, 1, 1, 1, 0, 0, 1 }, { 1, 0, 0, 1, 1, 0, 0, 0, 4, 1 }, { 1, 0, 0, 1, 0, 0, 0, 0, 0, 1 }, { 1, 0, 0, 0, 4, 0, 1, 0, 0, 1 }, { 1, 2, 0, 0, 0, 0, 1, 0, 2, 1 }, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, }, //图四 { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 }, { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 }, { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 }, { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 }, { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 }, { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 }, { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 }, { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 }, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, }, //图五 { { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 }, { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 }, { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 }, { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 }, { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 }, { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 }, { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 }, { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1 }, { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }, }, //图六 { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, } }; //定义当前关卡 int WhatMap = 0;//初始化位第0张地图 void DrawMap(int n); void initscreen(); void ManUp(); int KbHit(); void ManUp(); void ManRight(); void ManLeft(); void ManDown(); int GameOver(); void drawGame();