接上续,东西还没有做完 所以代码免不了改动

之前的头文件现在又改了不少,因为架构也改变了现在主要类就是GameScene、GameUI、PlayInfo、Poker这四个类  前面想的GameLoop 已经被弃

目前除了身份、武将等相关的高级功能还没添加,基本功能只剩下 出牌策略没做了。

贴一下GameUI新的头文件

#pragma once
/*
主游戏界面UI

*/

#include "cocos2d.h"
#include "ui/CocosGUI.h"

USING_NS_CC;
class PlayInfo;
class Poker;
class GameUI:public cocos2d::Layer
{
//friend class GameScene;
public:
bool init();

virtual void onEnter();
virtual void onExit();

void menuReOpen(Ref*pSender);//重开
void menuExit(Ref*pSender);//退出游戏
void menuaddpoker(Ref*pSender);
void menuusepoker(Ref*pSender);
void menugiveuppoker(Ref*pSender);

void update(float delta);
/* 玩家摸牌 显示 */
void addPoker( int ,int);
/* 玩家使用牌(包括回合内外) 显示 */
void usePoker(int num=1);
/* 玩家弃牌 显示 */
void giveupPoker( );
/* 电脑玩家弃牌 显示*/
void giveupPoke_Robot(int );
void fun1(Ref*);
/*弃牌堆的更新*/
void Updategiveupheap();

CREATE_FUNC(GameUI);

//初始化角色信息
void initRoleInfo(PlayInfo* player);
//更新角色信息(显示)
void UpdateRoleInfo(PlayInfo*player);

//初始化对手信息
void initFoeInfo(PlayInfo* player);
//更新对手信息(显示)
void UpdatFoeInfo(PlayInfo*player);

Label*CurrenState;
bool isAddPoker;
void CountDown(float dt=5.0f);//倒计时函数实现延时功能
void setTimeBarwithtime(float );
bool isCountDown;//是否在读条 即调用了CountDown
bool isEndUsePokeState;//是否结束出牌阶段

void SwapTimeBar();//交换当前回合的时间读条指针,令当前回合进行读条的Loadingbar 指针指向play的时间读条指针

void UpdateShowPokerSlot(PlayInfo*);//更新手牌槽,外部调用
void DrawShowPokerSlot();//绘制手牌槽的牌
void addgiveupheap(Poker*);//添加牌到弃牌堆
private:
std::vector<Poker*>showpokerslot;//玩家需要显示的手牌槽
std::vector<int>showIntslot;
std::vector<Poker*>giveupPokerHeap;//弃牌堆
Sprite*bg;//背景图片
Sprite*equipment;//装备栏图片
Sprite*pokerSlot;//手牌槽背景图片
Sprite*rolePicInfo;//角色ui图片信息
//Vector<Sprite*>roleHealthInfo;

Sprite*foeInfoShow;

ui::LoadingBar* timebar;
ui::LoadingBar* timebarRobot;

Label* timelabel;

Label*_showOurPokerNums;
Label*_showFoePokerNums;

};

------------------------------

虽然还有很多坑,但是基本流程是完成了

暂时放下来,有时间再填坑

https://github.com/huzhongyidihao/sanguosha

cocos2dx实现单机版三国杀(二)的更多相关文章

  1. cocos2dx实现单机版三国杀(一)

    首先需要一个UI交互类 GameUI   -layer 一个游戏驱动类,负责游戏逻辑的循环 暂时定为GameScene- scene GameScene obj 调用update 更新游戏,addch ...

  2. cocos2dx 制作单机麻将(二)

    cocos2dx 制作单机麻将(二) 打乱麻将顺序2 前面解说了怎样打乱初始给定的麻将牌堆, 另一种是打乱随意给定的麻将牌堆 //混乱扑克2 void RandAppointCardData(BYTE ...

  3. 转 cocos2dx内存优化 (之二)

    一.cocos2dx之如何优化内存使用(高级篇) 本文由qinning199原创,转载请注明:http://www.cocos2dx.net/?p=93 一.内存优化原则 为了优化应用内存,你应该知道 ...

  4. cocos2d-x 滚动文字(二)

    http://blog.csdn.net/kuovane/article/details/8131789 首先送上demo,下载地址为:demo下载地址 一,怎么在文字前面空两隔?只需在xml里的文字 ...

  5. cocos2d-x开发记录:二,基本概念(动作,动画,坐标系统)

    既然我们选择用cocos2d,那么他里面的一些基本概念我们肯定是要熟悉下的,以下资料来源于官网,英语好的可以直接去官网看. 一.Actions(动作) 动作都由于CCNode对象发出.这些动作通常修改 ...

  6. cocos2dx lua 绑定之二:手动绑定自定义类中的函数

    cococs2dx 3.13.1 + vs2013 + win10 1.首先按照<cocos2dx lua 绑定之一:自动绑定自定义类>绑定Student类 2.在Student类中增加一 ...

  7. Cocos2d-x内存管理研究<二>

    http://hi.baidu.com/tzkt623/item/46a26805adf7e938a3332a04   上一篇我们讲了内核是如何将指针加入管理类进行管理.这次我将分析一下内核是如何自动 ...

  8. cocos2d-x的初步学习二十一之iosandroid跨平台环境配置

    这篇文章中,我们将来构建下跨平台开发的环境配置,我自己也是参考了别人了文章,折腾了几个小时,尤其是android的配置相对麻烦些.... 参考自子龙山人:http://www.cnblogs.com/ ...

  9. 场景切换特效Transition——Cocos2d-x学习历程(十二)

    Transition 场景切换 在游戏中通常会用到一些场景的切换,比如从加载界面切换到欢迎界面.游戏中的所有场景存放在一个栈中,有且只有一个场景可以处于激活状态.直接replaceScene(即不适用 ...

随机推荐

  1. Python异常捕捉的一个小问题

    问题: names = ['taotao','songwenjing','liu','li']I = iter(names)while True: try: s = next(I) except Ex ...

  2. __repr__()

    class A : def __init__(self,name): self.name=name #def __str__(self): # return '**%s**'%self.name de ...

  3. App后台开发运维和架构实践学习总结(3)——RestFul架构下API接口设计注意点

    1. 争取相容性和统一性 这里就要求让API设计得是可预测的.按照这种方式写出所有接口和接口所需要的参数.现在就要确保命名是一致的,接口所需的参数顺序也是一致的.你现在应该有products,orde ...

  4. HDU 4451 容斥原理

    题目大意: n件衣服,m条裤子,k双鞋子进行搭配 妈妈指明了哪些衣服和裤子不能搭配,哪些裤子和鞋子不能搭配,问最后有几种搭配方法 先假设都能搭配 n*m*k 每次遇到衣服和裤子不能搭的,就要减一次k, ...

  5. HDU 4923 (贪心+证明)

    Room and Moor Problem Description PM Room defines a sequence A = {A1, A2,..., AN}, each of which is ...

  6. [USACO06FEB]数字三角形

    题目描述 FJ and his cows enjoy playing a mental game. They write down the numbers from 1 to N (1 <= N ...

  7. python元组声明要带逗号

    python元组声明要带逗号 t2, t3, t4 = (2), (2,),() print(type(t2),type(t3), type(t4)) #<class 'int'> < ...

  8. 走进windows编程的世界-----画图相关

    Windows画图 1 图形绘制      1.1 图形绘制的方式      获取到画图句柄-设备描写叙述表(DC),使用对应的画图的API,在设备上绘制图形.          1.2 颜色     ...

  9. Java Web开发基础(1)-Servlet

    概述 Servlet技术是对webserver的扩展,要理解这个,可能先了解一下什么是Webserver以及它的功能,特别是它的不足是非常有帮助的,可參考:点击打开链接.另外.Servlet也是一个用 ...

  10. 快学Scala习题解答—第十章 特质

    10 特质 10.1 java.awt.Rectangle类有两个非常实用的方法translate和grow,但可惜的是像java.awt.geom.Ellipse2D这种类没有. 在Scala中,你 ...