分类: LINUX
2010-09-16 10:38:41
vi 编辑器:
使用括号表达式 来替换
%s/\(.*\) \(.*\)/\2 , \1表示以空格隔开的两个字符翻转然后中间加逗号的形式替换
:!sort对全文进行排序。:r filename当前位置插入其他文件
: runtime! syntax/2html.vim讲代码以网页格式存储
:nmap #5 :! 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来控制方向。以后慢慢适应吧!希望能找到一些好的解决方案。
今天不上课休息,上午去把包裹接了,去的路上才发现自己口袋里面一分钱没装,还好我拿着公交卡呢,可接完包裹以后发现公交车站牌,远的还不如我走路回去呢!结果悲剧的,自己一个人把那个大麻袋背回去了。下午有点空闲时间了,总结一下前两天写的那个俄罗斯方块。
俄罗斯方块中最重要的一点是要把屏幕当做一块块的来看,而不是当做一个像素一个像素的来看,然后就是坐标系的转换,因为你的方块变形和绘制都要在一个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,从而导致做左侧边界的碰撞检测时出错。
chinaunix网友2010-09-16 16:54:40
很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com