- 博客(0)
- 资源 (8)
空空如也
Excel下实现贪吃蛇小游戏.txt
Excel下实现贪吃蛇小游戏
上次我们在Excel下实现了一个华容道式的小游戏,使用了Excel中的小部分属性和功能,不到100行语句就完成了。这次我们要把贪吃蛇搬到Excel中,就不那么容易了。
首先要解决游戏显示的问题。对我们来说,小游戏最好的平台是Excel的工作区,由于大小可调、颜色可填的单元格操作方便,我们完全可以把它们当像素来使用。于是我们的贪吃蛇游戏就有了以单元格为基础的像素形式的显示方式了。
其次是游戏的控制方法。在这里我摸索了好久,其中走了弯路不说,我最后的结论是在Excel中要实现按键事件的方法是引入窗体,然后在窗体中响应Keydown与Keypress事件。这样的话,既可以快速响应还可以根据情况修改对应按键。
最后是游戏的定时问题。所有的游戏事实上都是在一个时间大循环里面定时接收输入信息更新状态的程序,我们的小游戏都不例外。老实说,我写这个游戏大部分的思考时间就浪费在如何实现游戏定时这里。Excel的VBA中与定时有关的只有onTime函数,没有其他相关函数提供了,onTime函数可以实现某一事件在指定时间发生,但只能以秒为最小单位,对我们要在一秒内更新数十次信息的小游戏不适合,我们只能另找方法。用过VB的人都知道VB控件中有个定时控件,用它来实现游戏定时是最好的,但在Excel中却没有,难道我要把VB中的定时控件移植到VBA中?这也是个很值得研究的课题,但是我想到了另外的方法。VB的程序员都知道要想VB程序发挥大作用一定离不开调用系统的API,于是我查看了系统相关API的帮助,发现系统API中实现相应功能的有settimer与killtimer函数,具体定义和用法大家可以参考相关帮助,但从字面大家都已经可以知道它们就是我们要找的东西了。那么现在的问题就是如何在vba环境下调用系统API。心想微软称vba就是office中的vb,那么在vba中调用系统API应该也与在VB中的一样。一试,呵呵,果然非虚,这微软真不是盖的(后在msdn中发现ms office vba从2000版本开始支持调用系统API,大家可以拓展office应用了)。
2009-04-18
Linux精华教程.CHM
掌握Linux的目录结构
既然目录是用来方便文件管理的工具,那么Linux下面不同的目录到底保存了哪一类的文件呢?
目录名称 意义
/bin 该目录中存放Linux的常用命令,在有的版本中是一些和根目录下相同的目录。
/boot 该目录下存放的都是系统启动时要用到的程序,当用lilo引导Linux时,会用到这里的一些信息
/dev 该目录包含了Linux系统中使用的所有外部设备,它实际上是访问这些外部设备的端口,你可以访问这些外部设备,与访问一个文件或一个目录没有区别。例如在系统中键入“cd /dev/cdrom”,就可以看到光驱中的文件;键入“cd /dev/mouse”即可看鼠标的相关文件。
/cdrom 该目录在刚安装系统时是空的,你可以将光驱文件系统挂在这个目录下, 例如“mount /dev/cdrom /cdrom”
/etc 该目录存放了系统管理时要用到的各种配置文件和子目录,例如网络配置文件、文件系统、X系统配置文件、设备配置信息、设置用户信息等。
/sbin 该目录用来存放系统管理员的系统管理程序。
/home 如果建立一个名为“xx”的用户,那么在/home目录下就有一个对应的“/home/xx”路径,用来存放该用户的主目录。
/lib 该目录用来存放系统动态连接共享库,几乎所有的应用程序都会用到该目录下的共享库
/lost+found 该目录在大多数情况下都是空的。但当突然停电、或者非正常关机后,有些文件就临时存放在这里。
/mnt 该目录在一般情况下也是空的,你可以临时将别的文件系统挂在该目录下。
/proc 可以在该目录下获取系统信息,这些信息是在内存中由系统自己产生的
/root 如果你是以超级用户的身份登录的,这个就是超级用户的主目录
/tmp 用来存放不同程序执行时产生的临时文件
/usr 用户的很多应用程序和文件都存放在该目录下
2009-04-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人