文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>vi 查找匹配和俄罗斯方块的总结。

vi 查找匹配和俄罗斯方块的总结。

时间:2010-09-16  来源:Acikee

2010-09-08

vi 编辑器:

使用括号表达式 来替换

       %s/\(.*\) \(.*\)/\2 , \1表示以空格隔开的两个字符翻转然后中间加逗号的形式替换

       :!sort对全文进行排序。:r filename当前位置插入其他文件

       : runtime! syntax/2html.vim讲代码以网页格式存储

       :nmap #5 :! make<CR> 将F5 设置为make 命令

       : s/[A-Z]/&^(ctrl + V)M(回车)/g

       :s/[A-Z]/circle “&” at L&^(ctrl+V)M(回车)/g 将A-Z的大写字符替换为每行circle…的句子

       : gg=G 将格式对齐。

       . 为重复上次命令。 %t$ 复制全部内容到文件尾。

       :ab ilp I love programming 自定义字符缩写

       :unab ilp 取消自定义缩写

今天讲的vim 编辑器中间老师不让用上下左右,感觉很别扭啊,以前写程序都是使劲按方向键的。而在VI里面总是要esc 后按 h j k l来控制方向。以后慢慢适应吧!希望能找到一些好的解决方案。

2010-9-9

今天不上课休息,上午去把包裹接了,去的路上才发现自己口袋里面一分钱没装,还好我拿着公交卡呢,可接完包裹以后发现公交车站牌,远的还不如我走路回去呢!结果悲剧的,自己一个人把那个大麻袋背回去了。下午有点空闲时间了,总结一下前两天写的那个俄罗斯方块。

       俄罗斯方块中最重要的一点是要把屏幕当做一块块的来看,而不是当做一个像素一个像素的来看,然后就是坐标系的转换,因为你的方块变形和绘制都要在一个4*4的坐标里做,而方块的移动,碰撞检测都要在屏幕的大坐标系里面做,中间让老师看的时候老师说了两点意见,1. Switch 中的每个case内容要保持清晰,最好只有简单的一两句话。2.要使函数最大化的复用,其中对每个方向做检测的时候都写了一个函数 checkleft(), checkright(),checkdown(). Moveleft()…………………..类似这样,还有一个getdown()函数用于检测方块往下掉的时候还有多少距离能触底,以便画出方块的影子。这些东西都可以抽象为一个函数 check(int direction, int step)函数, direction用来确定要检测的方向,step用于要检测的方向上 下step块是否可以碰撞的块。如果step 为-1的话可以检测还有多少块可以产生碰撞。Move 可以确定检测结果后再决定要移动的步子。

       程序写的过程中有一个bug :当方块处于左边界位置时变形后,左移就可能导致方块的小坐标step_x < 0,从而导致做左侧边界的碰撞检测时出错。

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载