|
楼主 |
发表于 2005-11-7 19:35:00
|
显示全部楼层
<P>转载</P><P>其实没什么算法可言,按玩的规则写就是了。简单说明一下,以向做移动为例:
我们始终应该记住的是MAN的位置。
当向左移动时,做如下判断,
就是first_point的值(这不是好的变量命名方法),
第一,MAN的左边是BOX
接着判断BOX的左边,
1.DEST(目的地), 那就画BOX在DEST的图片,并记录有一个BOX已放好。当然如果是从一个DEST移动到另一个DEST就不用理会了。并改变MAP对应位置的值。
2.BKGR(空地),就BOX向左移动一个位置,如果从DEST移动到BKGR则需记录放好的BOX少了一个。
3. 好像就不能移动了。 </P>
<P>
第二,MAN的左边不是BOX,但MAN可以移动,比如空地,目的地等
那就移动MAN好啦。
第三,MAN不可以移动,比如碰到墙啦。
最后恢复MAN离开后的位置的MAP值,并画图。</P><P>向右,向上,向下都是一样的。</P><P>希望能给看这段代码的朋友一点帮助。</P> |
|