游戏说明:玩家通过键盘录入 w,s,a,d控制小人向不同方向移动,
其中w代表向上移动,s代表向下移动,a代表向左移动,d 代表向右移动,
当小人在箱子后面的时候可以推着箱子向前移动,当箱子移动到出口的位置,玩家胜利
地图如下:
##########
#O #### #
# X#### #
# #
###### #
# #### #
# #
# ######
#
##########
说明: # 代表墙, O代表小人 ,' ' 代表路, X代表箱子
推箱子游戏代码
http://blog.csdn.net/hgj125073/article/details/8278243
二维数组描述游戏网格, 每个网格对应四种状态.
w,s,a,d 当前小人位置为a[i][j],
以w键为例:
判断a[i+1][j]的值
如果是2,return;
如果是0or4, [i][j] = 0, a[++i][j] = 1, 刷新显示;
如果是3, a[i][j] = 0, 判断a[i+2][j]的值,
如果是4, a[++i][j] = 1, a[i+1][j] = 3, 胜利
如果是0, a[++i][j] = 1, a[i+1][j] = 3 , 刷新显示
推箱子其实关键就是碰撞判断,楼上的代码啊都不错
Word文档,非常牛逼详细的教程http://pan.baidu.com/s/1boWDYWJ