用easyx图形库实现推箱子游戏的方法-创新互联

创新互联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();

本文名称:用easyx图形库实现推箱子游戏的方法-创新互联
网页链接:http://azwzsj.com/article/dijjdo.html