码迷,mamicode.com
首页 > 其他好文 > 详细

【来写个2048吧】—— 游戏结束检测与添加分数

时间:2014-05-07 15:14:04      阅读:283      评论:0      收藏:0      [点我收藏+]

标签:游戏开发   cocos2d-x   2048   

一、 游戏结束检测
//检测游戏是否结束
void GameScene :: doCheck()
{
        bool isGameOver = true ;
        //判断每一个的上下左右和自己是否相同
        for ( int y = 0 ; y < 4; y++)
        {
               for ( int x = 0 ; x < 4; x++)
               {
                      if ( cardArr [x ][ y]-> getNumber () == 0 ||
                            ( x< 3 && cardArr[ x ][y ]-> getNumber() == cardArr [x + 1][ y ]->getNumber ()) ||
                            ( x> 0 && cardArr[ x ][y ]-> getNumber() == cardArr [x - 1][ y ]->getNumber ()) ||
                            ( y< 3 && cardArr[ x ][y ]-> getNumber() == cardArr [x ][ y+ 1 ]->getNumber ()) ||
                            ( y> 0 && cardArr[ x ][y ]-> getNumber() == cardArr [x ][ y- 1 ]->getNumber ()) )
                      {
                            isGameOver = false;
                      }
               }
        }
        if ( isGameOver )
        {
               //重来
               Director ::getInstance ()-> replaceScene( TransitionFade ::create ( 1, GameScene ::createScene ()));
        }
}

然后在上下左右每滑动一次添加doCheck()函数来判断游戏是否结束

二、添加游戏分数
在GameScene.h中声明
        //分数
        int score ;
        //显示分数控件
        LabelTTF * cardNumberTTF ;
        //设置分数
        void setScore ( int score );

然后setScore代码如下
//设置分数
void GameScene :: setScore( int score )
{
        cardNumberTTF ->setString ( __String:: createWithFormat ("%i" , score)-> getCString ());
}

首先在init()中加上如下代码,用来初始化变量
        score = 0;
        cardNumberTTF = LabelTTF:: create ("0" , "Consolas" , 70 );
        cardNumberTTF ->setPosition ( Point( visibleSize .width / 2 + 340 , visibleSize .height / 2 - 100 ));
        addChild (cardNumberTTF );

然后在doLeft(),doRight(),doUp(),doDown()中,当两张卡片相等时分数增加
   //改变分数
   score += cardArr[ x ][y ]-> getNumber();

最后还是在每次调用doXXX()后面加上setScore(score)即可。
bubuko.com,布布扣




【来写个2048吧】—— 游戏结束检测与添加分数,布布扣,bubuko.com

【来写个2048吧】—— 游戏结束检测与添加分数

标签:游戏开发   cocos2d-x   2048   

原文地址:http://blog.csdn.net/wxk_bigworld/article/details/25206229

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!