求类似2048移动的算法

rollrock1987 2014-05-24 09:56:58
看到2048这个游戏,感觉挺有兴趣,想自己做一个。但是在算法上遇到了问题。

比如int a[4] ={2,0,2,0};
往右移动的时候,变成{0,0,0,4} 其中每个数移动的长度为{3,0,1,0}(数值0不需要移动)

比如int a[4] ={2,2,2,0};
往右移动的时候,变成{0,0,2,4} 其中每个数移动的长度为{2,2,1,0}(数值0不需要移动)

比如int a[4] ={2,4,2,0};
往右移动的时候,变成{0,2,4,2} 其中每个数移动的长度为{1,1,1,0}(数值0不需要移动)


比如int a[4] ={4,2,2,0};
往右移动的时候,变成{0,0,4,4} 其中每个数移动的长度为{2,2,1,0}(数值0不需要移动)

规则就是 如果往右边移动,那从最右边开始,两个相邻的非0数据(中间的0可以忽略)如果相等,那就相加这2个数并且合并在一起。不相等就往右边直接移动。

我现在想得到2个结果,第一个是 这个数组移动后的结果,第二个是每个数移动的长度,自己写了2天了,还是没写对。
C语言,希望大家能帮下,谢谢!!!!!
...全文
746 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
rollrock1987 2014-05-27
  • 打赏
  • 举报
回复
自己已完成谢谢
欢乐的小猪 2014-05-26
  • 打赏
  • 举报
回复
http://developer.51cto.com/art/201404/435063.htm
一起来玩玩呗 2014-05-25
  • 打赏
  • 举报
回复
.............................................................................................................我想说其实自己先在纸上画画思路,这游戏挺简单的

33,010

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧