C++ 简化 推箱子 小游戏 完整代码 参考网络资料 命令行运行 仅供初学者参考交流

这是一个为初学者准备的C++简化版推箱子小游戏代码,通过命令行运行。玩家可以使用g++编译代码,将TXT文件后缀改为.cpp,然后在命令行中进行编译和运行。游戏包含4关,按'ALT+C'可退出游戏。
摘要由CSDN通过智能技术生成

C++ 简化 推箱子 小游戏 完整代码 参考网络资料 命令行运行 仅供初学者参考交流

说明:学做了4关推箱子, 仅供初学者参考可用g++ 编译,可以将内容复制到TXT文件,将后缀改为".cpp"。打开“运行”,输“CMD”,进命令行窗口,用"CD "命令切换目录到main .cpp所在处,输入"g++ main.cpp"回车,输入"a.exe"回车,进入游戏,输入"ALT + C"退出

效果图
在这里插入图片描述
在这里插入图片描述

#墙, _空白区, _终点, $箱子, I人。

完整C++代码如下:命令行 g++ 编译 即可运行

#include <iostream>
#include <string>
using namespace std;

//学做了4关推箱子,与初学者交流
//可用g++ 编译,可以将内容复制到TXT文件,将后缀改为".cpp"。
//打开“运行”,输“CMD”,进命令行窗口,用"CD "命令切换目录到main .cpp所在处
//输入"g++  main.cpp"回车
//输入"a.exe"回车,进入游戏
//输入"ALT + C"退出

//公共变量
int gTimes = 1;//当前关数
int gStageWidth;
int gStageHeight;
int gN;

//关卡1地图,#墙 _空白区 .终点 o砖块 p人,
char gStageData_1[] = "\
########\n\
#      #\n\
# $ $__#\n\
#  I   #\n\
########";
int gStageWidth_1 = 8;
int gStageHeight_1 = 5;
int N_1 = 20;//游戏限定步数
//关卡2地图
char gStageData_2[] = "\
################### \n\
#     I  ##  #    # \n\
#   _ $  #        # \n\
#    $##  #   #   # \n\
# #     #    ###    \n\
#       _      _    \n\
##  ##  ##### $ _ # \n\
                    ";
int gStageWidth_2 = 20;
int gStageHeight_2 = 8;
int N_2 = 100;//游戏限定步数
//关卡3地图
char gStageData_3[] = "\
####################\n\
#       ##_ #     _#\n\
#   _  $  #        #\n\
#     ##  #   #_   #\n\
# #     #    ###$  #\n\
#       _       I  #\n\
##_ ### #####  $   #\n\
#       $      _   #\n\
#    #         _   #\n\
####################";
int gStageWidth_3 = 20;
int gStageHeight_3 = 10;
int N_3 = 150;//游戏限定步数

//关卡4地图
char gStageData_4[] = "\
####################\n\
#        ##_ #    _#\n\
#  _ $   ##_ #  $ _#\n\
#   ####  #   #_   #\n\
#       #    ###$$ #\n\
#    $   _ $$      #\n\
# _     #_     $   #\n\
# #   $  #    ###  \n\
# I    ### #   #_  #\n\
####################";
int gStageWidth_4 = 20;
int gStageHeight_4 = 10;
int N_4 = 150;//游戏限定步数

enum Object{
   
        OBJ_SPACE,
        OBJ_WALL,
        OBJ_GOAL,
        OBJ_BLOCK,
        OBJ_BLOCK_ON_GOAL,
        OBJ_MAN,
        OBJ_MAN_ON_GOAL,

        OBJ_UNKNOWN,
};

//函数声明
void initialize( Object* state, int w, int h, char* stageData );
void draw( const Object* state, int w, int h);
void update( Object* state, char input, int w, int h );
bool checkClear(
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值