社区
C#
帖子详情
C#技术小游戏推箱子后退,返回上一步功能怎么实现?
ed13888
2012-06-15 02:36:10
我自己用winform做的推箱子游戏,不知道后退的效果应该怎么实现?求高手指点!
...全文
882
10
打赏
收藏
C#技术小游戏推箱子后退,返回上一步功能怎么实现?
我自己用winform做的推箱子游戏,不知道后退的效果应该怎么实现?求高手指点!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wapjia43106140
2012-06-18
打赏
举报
回复
自己做算法管理上次的记录操作吧。
风吹腚腚凉
2012-06-17
打赏
举报
回复
[Quote=引用楼主 的回复:]
我自己用winform做的推箱子游戏,不知道后退的效果应该怎么实现?求高手指点!
[/Quote]
用ArrayList是再合适不过的了,将所有的步骤全部存入,这样可以退后N步,
因为游戏始终是游戏,不是只退后一步的游戏,
在这个集合里,你只需要记录箱子的坐标和人的坐标就行了,找集合而已很简单,
集合继续+1就行了,超过1000,就清理100次记录免的最后内存爆了。。。
ed13888
2012-06-16
打赏
举报
回复
我是用一个二维数组来构成地图的,一个数字来代表人物,上下左右移动,这样做只能算下一步的位置,而且我要的后退是可以退到第一步的。。。。应该用个list来记录么?
gsralex
2012-06-16
打赏
举报
回复
把每次的动作,做一个Action的实体,
Action
public int BoxID{get;set;}
public Point OldPosition{get;set;}
public Point NewPosition{get;set;}
然后加入到堆栈即可,可以用FCL提供的Stack<T>
之后,回复上一步,只需要把最近的Action 的BoxID回到OldPosition即可,然后删除掉这个Action,也可以不删除,保留重写的功能
也可以用设计模式里面的命令模式来写,都可以
showlie
2012-06-16
打赏
举报
回复
[Quote=引用 6 楼 的回复:]
我是用一个二维数组来构成地图的,一个数字来代表人物,上下左右移动,这样做只能算下一步的位置,而且我要的后退是可以退到第一步的。。。。应该用个list来记录么?
[/Quote]
你可以自己写个简单的类来维护动作的历史,如果你只想实现undo的话,那可以用堆栈,如果想undo和redo的话要用List和指示当前动作的索引,这两种情况实现细节不同,其实接口都一样,无非就是undo和redo分别取得想要的动作的“方向”和“坐标”。然后根据它们进行重画。
以专业开发人员为伍
2012-06-15
打赏
举报
回复
在你的“历史”数据中,只需要保存动作序列,一个LinkedList,就足够了。
以专业开发人员为伍
2012-06-15
打赏
举报
回复
推箱子的状态异常简单,等于0(也就是说不用保存状态)。你只要知道当前状态,以及上一个动作,就可以反过来“拉箱子”来恢复上一个状态。
你既然会推箱子,那么简单地修改一下再产生一个“拉箱子”,也就回退了。
threenewbee
2012-06-15
打赏
举报
回复
唉,难道你不知道有种东西叫堆栈么?
我和我的代码互怼
2012-06-15
打赏
举报
回复
这个没接触过,不过你可以看看网易公开课里面有个java的课程,里面第一课好像讲的就是推箱子
good_jobs
2012-06-15
打赏
举报
回复
记录下前一个位置
c#
项目和微信小程序开发项目实战失物招领
在
实现
本项目
功能
的基础上,需要具备一定的基础知识,包含但不限于
c#
相关技能,以及微信小程序相关技能。如果上述技能基础比较薄弱,学习完本课程后,可加深进
一步
理解。 本课程,主要讲解了,如何开发项目实战,从...
人人网移动开发架构
前言 说起手机操作平台的发展先要说移动终端的发展,因为平台的发展离不开移动终端,近十年移动终端发展和未来移动终端趋势大体可分为以下四个个阶段: 第一个阶段:
功能
终端。满足用户基本通信需求,如发短信、打电话,附加些贪食蛇、
推箱子
小游戏
。 第二个阶段:智能化的终端。可扩展第三方应用,
实现
上网浏览等互联网基础
功能
,以诺基亚S60手机为代表的。 第三个阶段:互联网和平台化的终...
关于人人网开发框架
前言 说起手机操作平台的发展先要说移动终端的发展,因为平台的发展离不开移动终端,近十年移动终端发展和未来移动终端趋势大体可分为以下四个个阶段: 相关厂商内容 送给光棍节的促销,电子商务的背后—《架构师》11月刊免费下载! 第一个阶段:
功能
终端。满足用户基本通信需求,如发短信、打电话,附加些贪食蛇、
推箱子
小游戏
。 第二个阶段:智能化的终端。可扩展第三方应用,
实现
上网浏览等互联网基础
功能
,以...
人人网移动开发架构及相关服务器架构
前言 说起手机操作平台的发展先要说移动终端的发展,因为平台的发展离不开移动终端,近十年移动终端发展和未来移动终端趋势大体可分为以下四个个阶段: 相关厂商内容 送给光棍节的促销,电子商务的背后—《架构师》11月刊免费下载! 第一个阶段:
功能
终端。满足用户基本通信需求,如发短信、打电话,附加些贪食蛇、
推箱子
小游戏
。 第二个阶段:智能化的终端。可扩展第三
继续当搬运工之人人网移动端架构解析
人人网移动端架构解析 前言 说起手机操作平台的发展先要说移动终端的发展,因为平台的发展离不开移动终端,近十年移动终端发展和未来移动终端趋势大体可分为以下四个个阶段: 第一个阶段:
功能
终端。满足用户基本通信需求,如发短信、打电话,附加些贪食蛇、
推箱子
小游戏
。 第二...
C#
110,545
社区成员
642,580
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章