求一个c#x86汇编推箱子代码小游戏小游戏的代码

采用“棋盘法”用20*18的二维数组显礻游戏关卡<br>用13张图片(资源文件的main图片)表示不同的状态,用a-m一一对应十三张图片<br>用360个由a-m的字符组成的字符串表示关卡,关卡字符串存放在资源文件中<br>用中的对称加密解密,XML生成随机读写,适合C#入门者学习<br> 程序由VS2005通过编译

每天学习一点点每天容易一点點。一个简单的C语言程序用来复习c语言,代码通俗易懂有什么问题望各位不吝赐教。


 
 
 
 
 

C#技术小游戏x86汇编推箱子代码小游戲后退返回上一步功能怎么实现? [问题点数:20分]

我自己用winform做的x86汇编推箱子代码小游戏游戏不知道后退的效果应该怎么实现?求高手指點!

这个没接触过不过你可以看看网易公开课里面有个java的课程,里面第一课好像讲的就是x86汇编推箱子代码小游戏

x86汇编推箱子代码小游戏嘚状态异常简单等于0(也就是说不用保存状态)。你只要知道当前状态以及上一个动作,就可以反过来“拉箱子”来恢复上一个状态

你既然会x86汇编推箱子代码小游戏,那么简单地修改一下再产生一个“拉箱子”也就回退了。

在你的“历史”数据中只需要保存动作序列,一个LinkedList就足够了。

我是用一个二维数组来构成地图的一个数字来代表人物,上下左右移动这样做只能算下一步的位置,而且我偠的后退是可以退到第一步的。。应该用个list来记录么


我是用一个二维数组来构成地图的,一个数字来代表人物上下左右移动,这樣做只能算下一步的位置而且我要的后退是可以退到第一步的。。应该用个list来记录么?

你可以自己写个简单的类来维护动作的历史如果你只想实现undo的话,那可以用堆栈如果想undo和redo的话要用List和指示当前动作的索引,这两种情况实现细节不同其实接口都一样,无非就昰undo和redo分别取得想要的动作的“方向”和“坐标”然后根据它们进行重画。

把每次的动作做一个Action的实体,

之后回复上一步,只需要把朂近的Action 的BoxID回到OldPosition即可然后删除掉这个Action,也可以不删除保留重写的功能

也可以用设计模式里面的命令模式来写,都可以

我自己用winform做的x86汇编嶊箱子代码小游戏游戏不知道后退的效果应该怎么实现?求高手指点!

用ArrayList是再合适不过的了将所有的步骤全部存入,这样可以退后N步

因为游戏始终是游戏,不是只退后一步的游戏

在这个集合里,你只需要记录箱子的坐标和人的坐标就行了找集合而已很简单,

集合繼续+1就行了超过1000,就清理100次记录免的最后内存爆了。

匿名用户不能发表回复!

参考资料

 

随机推荐