Cocos2dx------华容道

华容道游戏的难点就2个

1.如何把棋子显示到指定的位置

2.如何移动




17181920
13141516
9101112
5678
1234

对于第一个问题我是   把棋盘 看成 一个 4*5的表    然后  从json里读取每张图片的坐标

编号1的表示曹操,value等于14  表示曹操这张图片的左下角在表里14这个格子的左下角

编号2的表示关羽,value等于10  表示关羽这张图片的左下角在表里10这个格子的左下角

编号3,4,5,6表示将军

编号7,8,9,10表示小兵

[
{"Num":1,"Value":14},
{"Num":2,"Value":10},
{"Num":3,"Value":5},
{"Num":4,"Value":8},
{"Num":5,"Value":13},
{"Num":6,"Value":16},
{"Num":7,"Value":1},
{"Num":8,"Value":4},
{"Num":9,"Value":6},
{"Num":10,"Value":7}
]



对于第二个问题就是单纯的碰撞检测了

在华容道的界面上,如果触摸的是空白的区域则无棋子移动,

如果触摸的是曹操,关羽,将军,小兵这些图片,则判断该图片是否可以移动


按  上,右,下,左 四个方向的顺序进行判断


如果  上   方向可以移动,则向上移动1单位,第二次在触摸这个对象的时候 ,按  上(上次移动方向) ,右,左,   下(上次移动方向的反方向)的方向进行判断是否可移动

类推  如果  下  方向可以移动,则向下移动1单位,第二次在触摸这个对象的时候 ,按   下(上次移动方向),左,右  ,    上(上次移动方向的反方向)的方向进行判断是否可移动


这里碰撞判断   我写的是就判断他移动到的位置是不是  空白的,不是则就不能移动到这个位置



Cocos2dx2.2.3  win32

源码  http://yunpan.cn/cQqScHPTI5Mpu (提取码:6412)


apk

http://yunpan.cn/cQqSu7rq6NwST (提取码:0641)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值