一步步写俄罗斯方块(二)

     接着上一篇,有了移动的小方块后我们就要设计背景了。由于是建立的单文档应用程序,所以要画背景还是很简单的。由于要考虑到重绘的问题所以可以在OnPaint 函数中画背景。用一个二维的数组存储背景的数据。该数组为Max [20][10]。该背景的长为10,高为20。长和高可以依自己的需要改变。然后在OnCreate函数中进行初始化。将其全部初始化为0。这样在OnDraw函数中将背景画出。这样一个背景就有了。背景有了,移动的方块有了,再就要考虑越界的问题了。我们可以在视类中添加一个成员函数Beyong 函数来判断是否越界了。Beyong函数的代码怎样写呢?我们可以判断小方块的横坐标,如果其横坐标超过了背景的范围就表明小方块越界了。反之就没有越界。在这里就需要给小方块添加键盘的响应消息了,这样小方块才能被我们控制。为视类添加WM_KeyDown消息,如果向右就使小方块的横坐标自增,如果向左就使小方块的横坐标自减。在这里需要说明的是在小方块的移动过程中需要将移动前的坐标保存下来。在OnDraw函数中进行绘图的时候首先将要上一次画的小方块清除,然后再画这次的小方块这样就可以看到正常方块移动。

     判断了小方块左右是否越界,再就要判断小方块是否到达背景的底部。当第一个方块到达背景的底部时只需要判断该方块的纵坐标是否到达了背景的底部。当第二个方块下来时就要判断其是否落到上个方块的上面。

posted on 2009-03-28 11:17  寻找人类  阅读(265)  评论(0编辑  收藏  举报