【2048强势来袭】第五期:游戏自动生成随机卡片

来源:互联网 发布:js 将换行用 br 表示 编辑:程序博客网 时间:2024/05/14 16:19

我们都知道在2048这个游戏中,卡片会自动随机生成。那么现在我们就来完成这一部分的功能。


1. 声明自动生成卡片函数


在HelloWorldScene.h中,我们需要声明自动生成卡片函数

//自动生成卡片void autoCreateCardNumber();

2. 具体实现函数


在HelloWorldScene.cpp中,我们来具体实现自动生成卡片这个函数

//自动生成卡片void HelloWorld::autoCreateCardNumber(){int i = CCRANDOM_0_1()*4;int j = CCRANDOM_0_1()*4;//判断是否这个位置已存在卡片if(cardArr[i][j]->getNumber() > 0){autoCreateCardNumber();}else{cardArr[i][j]->setNumber(CCRANDOM_0_1()*10 < 1 ? 2: 4);}}

除了要生成在随机位置上之外,我们还要先判断这个位置是否已经存在卡片了。如果已经存在卡片了,我们还要再调用一次这个函数。如果不存在的话,我们就在这个位置上产生一个2或者4.


3. 调用函数


在init()函数中,我们来调用这个函数。我们可以在游戏刚开始的时候,创建两个卡片,所以调用两次这个函数:

//创建2张自动生成卡片autoCreateCardNumber();autoCreateCardNumber();




最后要特别感谢一下帅印。


0 0