2009年12月07日

原创 推箱子游戏求解算法二


下一步需要做的就是划分逻辑
1、视图状态保存类。需要包含视图编号,箱子位置,人的位置。H值,G值。

2、H值计算类。

3、A*path算法类,用于判断小人能否走到对应位置。

4、推箱子的原始视图类。(当然,也可以不单独提出来,就当做第一个类)

5、逻辑判断类。
阅读全文>

发表于 @ 2009年12月07日 14:28:00 | 评论( loading... ) | 编辑| 举报| 收藏

原创 推箱子游戏的求解算法


不用过多介绍推箱子游戏,条件很简单,在一个N*m的方框中,有若干个箱子,障碍物,一个小人,只能推动箱子到对应的位置。

算法简介:
每一个箱子都有4个方向可以移动,除去对应位置有障碍物、箱子,以及小人不能到达对侧,那么实际上可走方向很少。
箱子每移动一步,将当前箱子各个位置,小人位置进行存储,当做一张视图。
由此可以构建很多视图。
每次都从是途中寻找最佳视图计算。

开始之前,需要考虑如下问题:
1、如何寻找最佳视图。
这里需要引入一个简单的评估函数。
F=G+H。
G即为步进值。指当前视图是箱子推动了多少步出现的。
举例来说,还是用一个箱子来说,第一步向右推,第二步向下推,第三步向左推。G值为3.
如果把箱子直接向下推,G值为1.这个时候我们来看这2个视图,箱子位置一样,G值不同,为了寻找最佳算法,当然是保留第二种视图状态。

H为最佳理论值。
举例来说:当一个箱子移动到一个目标点时,最佳距离=|箱阅读全文>

发表于 @ 2009年12月07日 13:56:00 | 评论( loading... ) | 编辑| 举报| 收藏

2008年10月15日

原创 Flash如何加载外部wav文件


这里只写一下思路。
swf是可以内嵌wav文件,并且播放的,但是,动态播放外部的wav文件,flashplayer却不支持。只支持mp3。

思路:
1、动态构造一个swf。
2、以字节形式加载外部的wav文件。
3、将此wav数据内嵌到构造的swf文件中。
4、通过类调用(也就是资源库)的方式,播放此swf内部的wav信息。

目前已经完成,可以播放外部的wav文件,甚至可以自己合成wav文件播放,混音等等特效都可以进行。

使用:
配合tts,可以完成网页朗读等应用。阅读全文>

发表于 @ 2008年10月15日 14:55:00 | 评论( loading... ) | 编辑| 举报| 收藏

2008年07月24日

转载 程序员应该以不变应万变

重视知识的本质:对于程序员来说这一点尤其重要,程序员行业的知识芜杂海量,而且总是在增长变化。很多人感叹跟不上新技术。 应对这个问题的办法只能是:抓住不变量。大量的新技术其实只是一层皮,背后的支撑技术其实都是十来年不变的东西。 底层知识永远都不过时。 算法数据结构永远都不过时。 基本的程序设计理论永远都不过时。 良好的编码习惯永远都不过时。 分析问题和解决问题的能力永远都不过时。 强大的学习能力和旺盛的求知欲永远都不过时。 你大脑的思维方式永远都不过时。 阅读全文>

发表于 @ 2008年07月24日 17:49:00 | 评论( loading... ) | 编辑| 举报| 收藏

原创 SharpPcap使用心得

本来想编写一个抓网络数据包的程序,需要用的winPcap,可是用的语言是c#,不好直接使用,发现网上有一个封装好的的SharpPcap,这个倒不错。使用需要注意的一点是:还是必须安装winPcap。阅读全文>

发表于 @ 2008年07月24日 10:33:00 | 评论( loading... ) | 编辑| 举报| 收藏

2008年07月01日

原创 烦恼

烦恼来自于何处?有人说来自于太闲。当人闲下来的时候,脑子就开始胡思乱想,烦恼就接踵而来。就像我现在,很想写blog,满脑子都是乱七八糟的东西,可是不知道怎么下笔,想的东西太多,思维太乱的原因。有时候说:静一静,理理思路,静和闲不同,静者不思索,闲者不务实。阅读全文>

发表于 @ 2008年07月01日 15:10:00 | 评论( loading... ) | 编辑| 举报| 收藏

2008年06月17日

原创 台球中的物理学

一、碰撞(Collision) 1.基本概念: 碰撞,一般是指两个或两个以上物体在运动中相互靠近,或发生接触时,在相对较短的时间内发生强烈相互作用的过程。 碰撞会使两个物体或其中的一个物体的运动状态发生明显的变化。 碰撞过程一般都非常复杂,难于对过程进行仔细分析。但由于我们通常只需要了解物体在碰撞前后运动状态的变化,而对发生碰撞的物体系来说,外力的作用又往往可以忽略,因而可以利用动量、角动量以及能量守恒定律对有关问题求解。 2.特点: 1)碰撞时间极短 2)碰撞力很大,外力可以忽略不计,系统动量守恒 3)速度要发生有限的改变,位移在碰撞前后可以忽略不计 3.碰撞过程的分析: 讨论两个球的碰撞过程。碰撞过程可分为两个过程。开始碰撞时,两球相互挤压,发生形变,由形变产生的弹性恢复力使两球的速度发生变化,直到两球的速度变得相等为止。这时形变得到最大。这是碰撞的第一阶段,称为压缩阶段。此后,由于形变仍然存在,弹性恢复力继续作用,使两球速度改变而有相互脱离接触的趋势,两球压缩逐渐减小,直到两球脱离接触时为止。这是碰撞的第二阶段,称为恢复阶段。整个碰撞过程到此结束。 阅读全文>

发表于 @ 2008年06月17日 08:22:00 | 评论( loading... ) | 编辑| 举报| 收藏

2008年05月18日

原创 江北农场

江北农场阅读全文>

发表于 @ 2008年05月18日 13:13:00 | 评论( loading... ) | 编辑| 举报| 收藏

2008年03月06日

转载 Adobe和WPF相关概念比较

又是一篇很好的介绍Adobe的AIR和WPF以及相关技术概念的文章,看了之后,至少对未来技术有了更清楚的了解,虽然还是很模糊,但是,一次比一次清晰,我想这也是研究前沿技术常遇到的问题,当新概念出来的时候,很长一段时间,让人难以明白概念的意义。阅读全文>

发表于 @ 2008年03月06日 09:58:00 | 评论( loading... ) | 编辑| 举报| 收藏

2008年02月13日

原创 无线网卡收不到数据包

今天着实郁闷了一把,平时上网一点没有问题的本本,今天说什么都无法受到数据包,具体情况如下:三星的笔记本,有2块网卡,其中一个是无线网卡。连接环境A,有一个无线路由, 列表中可以看见,也可以正常连接,但是,只有发出的数据包,没有受到的数据包。其他人的本本可以连接,一切正常。如果把本本设置成自由获取ip,获得的ip莫名其妙,不正确,如果手动设置,收不到数据包。将本本移到另外一个环境B,也有一个无线路由,可以连接,能够受到数据包。这两个环境没有什么区别,但是为何出现这种情况?阅读全文>

发表于 @ 2008年02月13日 15:50:00 | 评论( loading... ) | 编辑| 举报| 收藏

Copyright © mamihong
Powered by CSDN Blog