Chinaunix首页 | 论坛 | 博客
  • 博客访问: 173375
  • 博文数量: 45
  • 博客积分: 1228
  • 博客等级: 中尉
  • 技术积分: 450
  • 用 户 组: 普通用户
  • 注册时间: 2010-08-26 11:37
文章分类
文章存档

2013年(4)

2012年(3)

2011年(20)

2010年(18)

我的朋友

分类: LINUX

2010-09-16 10:38:41

2010-09-08

vi 编辑器:

使用括号表达式 来替换

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

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

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

       nmap #5 :! make 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,从而导致做左侧边界的碰撞检测时出错。

阅读(1488) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2010-09-16 16:54:40

很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com