Cocos2d-X开发中国象棋《六》游戏开始功能的实现

我在前面的博客Cocos2d-X开发中国象棋《四》设计游戏场景中介绍了在游戏场景上场景了一个开始按钮,并没有实现开始的功能

游戏开始功能的实现效果:

实现思路:

1、显示随机位置的棋子

2、将棋子移动到棋盘上的指定位置

具体实现方式:

首先在SceneGame类中定义一个initStone()函数用于初始化棋子

initStone()函数实现了3个功能

1、创建棋子

2、将棋子设置到随机位置

3、隐藏棋子

initStone()中的代码:

//初始化32个棋子
void SceneGame::initStone()
{
    CCSize winSize = CCDirector::sharedDirector()->getWinSize();

    //摆棋子
    for(int i=0; i<32; i++)
    {
        //创建棋子
        _s[i] = Stone::create(i, _redSide);
        addChild(_s[i]);

        //设置棋子的初始位置为随机位置
      _s[i]->setPosition(ccp(CCRANDOM_0_1() * winSize.width,
                             CCRANDOM_0_1() * winSize.height));

      //隐藏棋子
      _s[i]->setVisible(false);
    }
}

然后在SceneGame的Init函数中调用initStone()函数

定义一个开始按钮的响应函数Start()

Start()实现了2个功能:

1、显示隐藏的棋子

2、将棋子移动到棋盘上的指定位置

Start()实现代码

 //实现开始
void SceneGame::Start(CCObject*)
{
    //摆棋子
    for(int i=0; i<32; i++)
    {
        //显示棋子
      _s[i]->setVisible(true);

      //将棋子移动到棋盘上指定的位置
      CCMoveTo* move = CCMoveTo::create(1, this->getStonePos(_s[i]->getX(), _s[i]->getY()));
      _s[i]->runAction(move);
    }
}



时间: 2024-08-23 23:32:15

Cocos2d-X开发中国象棋《六》游戏开始功能的实现的相关文章

Cocos2d-X开发中国象棋《一》

在介绍开发过程前先展示一下游戏 打开游戏后会进入一个欢迎界面 欢迎界面上有两颗棋子红色的帅和黑色的将,可以通过触摸两颗棋子进入游戏场景 当单击红棋子时,玩家持红旗 当单击黑棋时,玩家持黑棋 单击开始显示棋子 通过鼠标点击走棋 单击悔棋可以实现悔棋 单击新局后再单击开始可以实现重新下棋 单击下面的小喇叭可以实现声音的开关 吃掉对方的将后会显示游戏结果 单击游戏结果后重新开始游戏 移植到Android上的效果 开始界面 游戏界面1 游戏界面2 游戏结果界面 代码和资源下载:http://downlo

中国象棋小游戏(实验三)

一.题目简介 中国象棋历史悠久,本实验的目的是设计一个中国象棋小游戏的java程序,实现中国象棋游戏的基本功能. 二.结对分工及过程 本人和赵岳刚同学分工协作,由一人搜集资料,另一人收集整理,在一人编写代码的同时,由另外一人负责观察代码写的有没有问题,大大提高了工作效率. 三.代码地址 https://github.com/CaesarLH/text3/blob/master/Chess.txt 四.测试情况 过程截图: 1.开始 2.棋子信息 3.棋子走法 4.定义胜利条件 5.其他具体规则

Cocos2d-x开发中国象棋《十一》在游戏中添加背景音乐

在上一节中实现了悔棋,在这节将介绍如何在游戏中添加背景音乐 看一下效果: 实现思路: 当单击后游戏中播放背景音乐,并且背景音乐切换按钮由变成 当单击后停止播放背景音乐,并且背景音乐切换按钮由变成 当游戏进入后台后停止播放背景音乐 当游戏恢复后继续播放背景音乐 实现代码: 在SceneGame类中定义一个成员函数Voice(CCObject*)用于实现背景音乐的切换,Voice(CCObject*)中的代码 //播放背景音乐 void SceneGame::Voice(CCObject*) { s

Cocos2d-X开发中国象棋《十二》游戏结果的显示与隐藏

在上一节中实现了游戏中实现播放背景音乐,这节将实现游戏结果的显示与隐藏 先看一下效果图 当玩家赢了后会显示玩家赢了的对话框 当点击对话框后会隐藏对话框和棋子 单击开始后会改变玩家棋子的颜色 当玩家输了后会显示玩家输了的对话框 游戏结果的实现思路: 1.当玩家赢了后,显示一个对话框,对话框中的内容为"恭喜你,你赢了" 2.当玩家输了后,显示一个对话框,对话框中的内容为"对不起,你输了" 3.当点击对话框后,会隐藏对话框,隐藏棋子 4.单击开始后,会发现改变了玩家棋子的

Cocos2d-X开发中国象棋《四》设计游戏场景

设计完开始界面后就要设计游戏界面了 为了理清设计思路先看一张游戏界面效果图 游戏界面设计思路: 1.在窗口上放一张桌子 2.在桌子上放一个棋盘 3.在棋盘右边添加新局按钮,暂不实现具体的功能 4.在棋盘右边添加开始按钮,暂不实现具体的功能 5.在棋盘右边添加悔棋按钮,暂不实现具体的功能 6.在棋盘右边添加难度按钮,暂不实现具体的功能 7.在棋盘右边添加声音按钮,暂不实现具体的功能 8.在棋盘右边添加返回按钮,暂不实现具体的功能 9.在桌子右边添加一个Voice标签 10.在桌子右边添加一个Ret

Cocos2d-X开发中国象棋《十》悔棋

在上一节中实现了走棋规则,这节中将实现悔棋 首先看一下悔棋的效果: 通过观察上图中的演示可知,当单击悔棋按钮后,移动了的棋子会回到原来的位置上, 实现方式: 首先在SceneGame类中定义一个成员变量CCArray* _steps,用于保存每步棋的棋子信息 //保存每步走的棋子 CCArray* _steps; 在SceneGame类中的成员函数init()中插入下面的代码用于创建一个数组用于保存每步棋的信息 //创建数组 _steps = CCArray::create(); _steps-

Cocos2d-X开发中国象棋《七》新局功能的实现

我在上一节中介绍了开始功能的实现,在这篇博客中将介绍新局功能的实现 首先看一下效果图 通过观察上图的实现效果可知新局的实现思路 1.隐藏选择框 2.隐藏32个棋子 3.初始化32个棋子 首先在SceneGame的init()中添加下面的代码用于创建选择框 //创建一个选择框 //当选中某个棋子的时候,选择框会套在选好的棋子上 _selectSprite = CCSprite::create("selected.png"); addChild(_selectSprite); //隐藏选择

基于HTML5实现的中国象棋游戏

棋类游戏在桌面游戏中已经非常成熟,中国象棋的版本也非常多.今天这款基于HTML5技术的中国象棋游戏非常有特色,我们不仅可以选择中国象棋的游戏难度,而且可以切换棋盘的样式.程序写累了,喝上一杯咖啡,和电脑对弈几把吧,相信这HTML5中国象棋游戏的实现算法你比较清楚,可以打开源码来研究一下这款HTML5中国象棋游戏. 在线预览   源码下载 实现的代码. html代码: <div class="box" id="box"> <div class=&qu

Qt版本中国象棋开发(四)

内容:走法产生 中国象棋基础搜索AI, 极大值,极小值剪枝搜索, 静态估值函数 理论基础: (一)人机博弈走法产生: 先遍历某一方的所有棋子,再遍历整个棋盘,得到每个棋子的所有走棋情况(效率不高,可以改进) 1 void SingleGame::getAllPossibleMove(QVector<Step *> &steps) 2 { 3 int min, max; 4 if(this->_bRedTurn) 5 { 6 min = 0, max = 16; 7 } 8 els