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

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

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

转载于:https://www.cnblogs.com/ximeng/archive/2009/03/28/1423874.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值