本文主要是介绍2048 游戏中添加分数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1. 声明两个变量
在HelloWorldScene.h中声明两个变量:
1 2 3 4 5 | //游戏总分 int score; //定义显示分数的控件 cocos2d::LabelTTF* labelTTFCardNumber; |
声明了游戏总分和显示分数的控件
2. 加入分数标签和数字
在游戏界面的上面,左边是“分数”标签,右边是分数。
在HelloWroldScene.cpp的Init()函数中,添加如下代码:
01 02 03 04 05 06 07 08 09 10 11 | //在上方加入游戏的分数 //加入“分数”label auto labelTTFCardNumberName = LabelTTF::create( "SCORE" , "HiraKakuProN-W6" ,80); labelTTFCardNumberName->setPosition(Point(visibleSize.width/3,visibleSize.height-40)); addChild(labelTTFCardNumberName); //加入具体的分数 labelTTFCardNumber = LabelTTF::create( "0" , "HiraKakuProN-w6" ,80); labelTTFCardNumber->setPosition(Point(visibleSize.width-400,visibleSize.height-50)); addChild(labelTTFCardNumber); |
3. 卡片合并的时候,要添加分数
当卡片合并的时候,需要添加分数。四个上下左右滑动的函数,都要添加。例如向左滑动时:
[JavaScript] 纯文本查看 复制代码
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | bool HelloWorld::doLeft(){ bool isdo = false ; for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { for (int x1 = x + 1; x1 < 4; x1++) { if (cardArr[x1][y]->getNumber() > 0) { if (cardArr[x][y]->getNumber() <= 0) { cardArr[x][y]->setNumber(cardArr[x1][y]->getNumber()); cardArr[x1][y]->setNumber(0); x--; isdo = true ; } else if (cardArr[x][y]->getNumber() == cardArr[x1][y]->getNumber()){ cardArr[x][y]->setNumber(cardArr[x][y]->getNumber()*2); cardArr[x1][y]->setNumber(0); //改变分数 score += cardArr[x][y]->getNumber(); labelTTFCardNumber->setString(String::createWithFormat( "%i" ,score)->getCString()); isdo = true ; } break ; } } } } return isdo; } |
这篇关于2048 游戏中添加分数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!