win 10 + vs2017+C++的运行环境练习的2048游戏(附源码)

使用C++和Cocos2d在Visual Studio 2017环境下开发的2048游戏,附带完整源码。通过删除默认demo,创建CardSprite类并实现游戏逻辑,详细步骤和代码注释清晰。
摘要由CSDN通过智能技术生成

学习cocos2dx练习的2048游戏!练习做完了很久,是跟写的,似懂非懂的,最近感觉又所顿悟。自己就在没看教程的前提下再次写了一次。把源码都放上来了,自己觉得注释清楚了的,有想交流的请留言,请不吝留言狠批,欢迎大家来喷!!!!!!!!!!!

 

首先创建项目:cocos new TZFE -p com.xxx.tzfe -l cpp -d d:\cocos

首先把demo中部需要的代码删除掉:


 

bool HelloWorld::init()
{
    if ( !Scene::init() )
    {
        return false;
    }

}

也就是这个函数(方法)保留成这样就行,然后编译运行一下,显示的已经是空项目就好了。

 

新建CardSprite.h和CardSprite.cpp两个文件:承载数字格子用的

 

CardSprite.h::::文件代码如下:

#ifndef _CARDSPRITE_H_
#define _CARDSPRITE_H_
#pragma once
#include "cocos2d.h"
class CardSprite:public cocos2d::Sprite
{
public:
    /*
    1.number 显示的数字
    2.width 单元格的宽
    3.height 单元格的高
    4.CardSpriteX 单元格的x轴
    5.CardSpriteY 单元格的Y轴
    */
    static CardSprite *createCardSprite(int numbers,int width,int height,float CardSpriteX,float CardSpriteY);
    virtual bool init();
    CREATE_FUNC(CardSprite);

    //设置数字
    void setNumber(int num);
    //获取数字
    int getNumber();

private:
    //定义数字
    int number;
    //初始化方法
    void enemyInit(int numbers, int width, int height, float CardSpriteX, float CardSpriteY);
    //定义显示的数字的控件
    cocos2d::Label *lableCardSpriteNumber;
    //定义单元格的背景
    cocos2d::LayerColor *labyerCardSpriteBG;
};


#endif // !_CARDSPRITE_H_


 

 

再完善CardSprite.cpp文件代码如下:

#include "CardSprite.h"
USING_NS_CC;
/*
1.number 显示的数字
2.width 单元格的宽
3.height 单元格的高
4.CardSpriteX 单元格的x轴
5.CardSpriteY 单元格的Y轴
*/
CardSprite *CardSprite::createCardSprite(int numbers, int width, int height, float CardSpriteX, float CardSpriteY)
{
    CardSprite *enemy = new CardSprite();
    if (enemy&&enemy->init())
    {
        enemy->autorelease();
        enemy->enemyInit(numbers,width, height,CardSpriteX, CardSpriteY);
        return enemy;
    }
    else
    {
        delete enemy;
        enemy = NULL;
        return NULL;
    }
}
bool CardSprite::init()
{
    if (!Sprite::init())
    {
        return false;
    }
    return true;
}

//设置数字
void CardSprite::setNumber(int num)
{
    number = num;


    //判断数字的大小来设置字体的大小
    if (number >= 0)
    {
        lableCardSpriteNumber->setSystemFontSize(40);
    }
    if (number >= 16)
    {
        lableCardSpriteNumber->setSystemFontSize(30);
    }

    if (number >= 128)
    {
        lableCardSpriteNumber->setSystemFontSize(26);
    }

    if (number >= 1024)
    {
        lableCardSpriteNumber->setSystemFontSize(18);
    }
    //改变单元格颜色
    if (number==0)
    {
        labyerCardSpriteBG->setColor(cocos2d::Color3B(200, 190, 180));
    }
    if (number == 0)
    {
        labyerCardSpriteBG-&
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
搭建点云开发环境需要安装以下软件: 1. Visual Studio 2017:用于编写C++代码。 2. Qt 5.10.1:用于构建GUI界面。 3. PCL 1.8.1:点云库。 4. VTK 8.0:用于可视化点云数据。 以下是具体的步骤: 1. 安装 Visual Studio 2017,选择 C++ 工作负载。此外,还需要安装 CMake。 2. 下载 Qt 5.10.1 安装包并安装。需要安装的组件有:Qt 5.10.1 MSVC2017 64-bit、Qt Visual Studio Tools、Qt Charts 和 Qt Data Visualization。 3. 下载 PCL 1.8.1 for Windows,并解压到一个目录下。 4. 下载 VTK 8.0 for Windows,并解压到一个目录下。 5. 打开 CMake,设置源代码路径为 PCL 的根目录,设置构建路径为一个新的目录(例如:PCL_build)。点击 Configure,选择 Visual Studio 15 2017 Win64 作为生成器,点击 Finish。 6. 在 CMake 中,找到 VTK_DIR 设置项,将其设置为 VTK 的安装目录(例如:D:/VTK-8.0.0/build)。点击 Configure,然后点击 Generate。 7. 打开 Visual Studio 2017,选择 File > New > Project,选择 Qt Widgets Application。设置项目名称、位置和解决方案名称,然后点击 Create。 8. 在项目属性中,选择 C/C++ > General,将 Additional Include Directories 设置为 PCL 的 include 目录(例如:D:/PCL-1.8.1/include/pcl-1.8)和 VTK 的 include 目录(例如:D:/VTK-8.0.0/include/vtk-8.0)。 9. 在项目属性中,选择 Linker > General,将 Additional Library Directories 设置为 PCL 的 lib 目录(例如:D:/PCL-1.8.1/lib)和 VTK 的 lib 目录(例如:D:/VTK-8.0.0/build/bin/Release)。 10. 在项目属性中,选择 Linker > Input,将 Additional Dependencies 设置为以下库:pcl_common_release.lib、pcl_io_ply_release.lib、pcl_visualization_release.lib、vtkCommonCore-8.0.lib、vtkFiltersCore-8.0.lib、vtkInteractionStyle-8.0.lib、vtkRenderingCore-8.0.lib。 11. 编写代码并构建项目,即可开始点云开发。 以上是在 Windows 10、Visual Studio 2017、Qt 5.10.1、PCL 1.8.1 和 VTK 8.0 环境下的点云开发环境搭建步骤。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值