[自用7.]C++补充项目-推箱子游戏-未执行版

模块划分

地图初始化 

台面搭建

地图表示

将上图划分为小的方格,使用二维数组代表每个方格,二维数组中存储不同的数字代表方格不同的功能,比如:墙、箱子、小人、目标位置、路

道具表示 

: 0,地板: 1,箱子目的地: 2, 小人: 3, 箱子: 4, 箱子命中目标: 5

例如:

#include <graphics.h>
#include <iostream>
#include <stdlib.h>
#include <string>
using namespace std;

//使用宏定义,方便代码的后期维护
#define RATIO 61
#define SCREEN_WIDTH 960
#define SCREEN_HEIGHT 768
#define LINE 9
#define COLUMN 12
#define START_X 100
#define START_Y 150

IMAGE images[6];//全局变量设置图标种类数目

/*游戏地图*/
int map[LINE][COLUMN] = {
    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
    { 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0 },
    { 0, 1, 4, 1, 0, 2, 1, 0, 2, 1, 0, 0 }, 
    { 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0 },
    { 0, 1, 0, 2, 0, 1, 1, 4, 1, 1, 1, 0 },
    { 0, 1, 1, 1, 0, 3, 1, 1, 1, 4, 1, 0 },
    { 0, 1, 2, 1, 1, 4, 1, 1, 1, 1, 1, 0 },
    { 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0 },
    { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
};

int main(void){
    IMAGE bg_img;

    //搭台
    initgraph(SCREEN_WIDTH, SCREEN_HEIGHT);//创建画面,并设置其大小
    loadimage(&bg_img, _T("blackground.bmp"), SCREEN_WIDTH,
    SCREEN_HEIGHT, true);//加载画面背景图片
    putimage(0, 0, &bg_img);//放置画面背景图片,并设置其位置

    //加载道具图标
    loadimage(&images[0], _T("wall.bmp"), RATIO, RATIO, true);
    loadimage(&images[1], _T("floor.bmp"), RATIO, RATIO, true);
    loadimage(&images[2], _T("des.bmp"), RATIO, RATIO, true);
    loadimage(&images[3], _T("man.bmp"), RATIO, RATIO, true);
    loadimage(&images[4], _T("box.bmp"), RATIO, RATIO, true);
    loadimage(&images[5], _T("box.bmp"), RATIO, RATIO, true);

    for(int i = 0; i< LINE; i++){
        for(int j = 0; j < COLUMN; j++){
            putimage(START_X+j*RATIO, START_Y+i*RATIO,
            &images[map[i][j]]);//在对应位置放置道具图标
        }
    }
    system("pause");
    return 0;
}

 备注:由于设备问题,上述代码未执行,仅供参考,后期会补充执行后的版本

  • 8
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值