注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

胖子爱听歌

游走于五线之间

 
 
 

日志

 
 

我的俄罗斯方块  

2010-02-16 00:12:05|  分类: 游戏编程 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

我的俄罗斯方块 - 小胖 - 胖子爱听歌

       刚好半个月,终于把它做出来了,虽然看起来糙了点。

       一月中开始懵懵懂懂地看教程,一月下旬去海南骑车,期间R先生告诉我:你先整个俄罗斯方块再说吧。于是回来后摩拳擦掌,却发现之前看的几乎全部忘光,于是总结:这样下去不行,对于没有基础的我来说,看一点忘一点。于是开始看视频教程,以为这样好记些,结果没想到那个讲解的是个结巴,我没听完一集就受不了把它删了。再后来就干脆想:管它3721,直接开始吧。于是,2月初到今天大年初二晚,历尽无数次GOOGLE+百度+F1帮助+MSDN+QQ+POPO,反正是把这孩子给整出来了。

       美术资源就两个:一个是U型的外框,那相当于是个背景图;另一个就是一个白色小方块,其实它就起了个单位小方块的作用,所有形状的积木都在它基础上计算出来。我想这样一来可以省资源,二来碰撞检测也变容易了。关于碰撞检测,我一开始是想用积木的边缘来判断,即这块的最右边会不会碰到那块的最左边,这块的最下面会不会碰到那块的最上面,诸如此类。后来发现这样不行:积木形状都是不规则的,如果要用“边”来判断,每一段“边”的位置也是不规则的,那得记录每一条边,那基本每一块会上10条边!而且一旦涉及到变形,那刚才的“最右边”就不是现在的“最右边”了,太麻烦了!所以我后来想,不如把整个区域分成一个网格,每块积木看成四个小方块组成,也就是占用四个网格(这就是刚才说的所有形状的积木都在小方块的基础上计算得来)。那么碰撞检测就简单多了:目标网格内有没有方块?有就表示碰撞了,不能移;没有则可以移。判断是否可以删除“行”也变得简单了:某“行”是否被占满了方块?是就可以删除,然后再把那行之上的方块往下移。

  评论这张
 
阅读(425)| 评论(2)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017