那哦现在又碰到问题 了 是关于时钟中断函数 的
应该说 我根本就不知道什么是时钟中断 应该去借什么书来了解关于时钟中断呢???
或者你有什么资料能够 用比较通俗的语言来介绍 关于始终中断的东西么??
我在网上找了一些资料 虽然注释很多 但是我仍然看不懂(惭愧啊 惭愧~~)
各位路过的也顺便给我这菜鸟些指点~~谢~~!!
[此贴子已经被作者于2006-9-20 14:53:00编辑过]
关于我的用bioskey()的误解 希望大家别犯我这样的错误
我写俄罗斯方块 方块移动的函数() 本来是想在按DOWN键 方块向下 按LEFT 向LEFT。。。
结果发现需要按3下DOWN才移动 后来才明白尽管bioskey是在if的条件中 但是系统会顺序执行bioskey(0) 参数为0 会等待你输入一个方向 所以如果按第一下DOWN 方块会下移1格
再按DOWN 执行第2个条件句(条件不成立什么都不执行) 再按DOWN 才执行第3个条件句(条件仍然不成立)
void move()/*该函数在主函数中的循环结构中*/
{
if(bioskey(0)==DOWN)
{setfillstyle(SOLID_FILL,BLACK);
drawshape(x,y,0,shape);
setfillstyle(SOLID_FILL,BLUE);
drawshape(x,(y+SIZE),0,shape);
y=y+SIZE;
}
if(bioskey(0)==RIGHT)
{setfillstyle(SOLID_FILL,BLACK);
drawshape(x,y,0,shape);
setfillstyle(SOLID_FILL,BLUE);
drawshape(x+SIZE,y,0,shape);
x=x+SIZE;
}
if(bioskey(0)==LEFT)
{setfillstyle(SOLID_FILL,BLACK);
drawshape(x,y,0,shape);
setfillstyle(SOLID_FILL,BLUE);
drawshape(x-SIZE,y,0,shape);
x=x-SIZE;
}
}
改成下面的 问题解决
void move()
{
key=bioeysk(0);
if(key==DOWN)
{setfillstyle(SOLID_FILL,BLACK);
drawshape(x,y,0,shape);
setfillstyle(SOLID_FILL,BLUE);
drawshape(x,(y+SIZE),0,shape);
y=y+SIZE;
}
if(key==RIGHT)
{setfillstyle(SOLID_FILL,BLACK);
drawshape(x,y,0,shape);
setfillstyle(SOLID_FILL,BLUE);
drawshape(x+SIZE,y,0,shape);
x=x+SIZE;
}
if(key==LEFT)
{setfillstyle(SOLID_FILL,BLACK);
drawshape(x,y,0,shape);
setfillstyle(SOLID_FILL,BLUE);
drawshape(x-SIZE,y,0,shape);
x=x-SIZE;
}
}
[此贴子已经被作者于2006-9-23 1:54:03编辑过]
在编程爱好者上面看到这篇文章,考了下来,看完后很感动,希望这篇文章对大家都有点启发,本来想单独发一篇帖子.
这些日子我一直在写一个实时操作系统内核,已有小成了,等写完我会全部公开,希望能
够为国内IT的发展尽自己一份微薄的力量。最近看到很多学生朋友和我当年一样没有方向
,所以把我的经历写出来与大家共勉,希望能给刚入行的朋友们一点点帮助。
一转眼我在IT行业学习工作已经七年多了,这期间我做过网页,写过MIS、数据库,应
用程序,做过通信软件、硬件驱动、协议栈,到现在做操作系统内核和IC相关开发,这中
间走了很多弯路,也吃了不少苦。
我上的是一个三流的高校,就连同一个城市的人多数都不知道。因为学校不好也就没
有指望能靠学校名气找一个好工作。所有的希望都寄托在自己的努力上了,大一开学前的
假期我就开始了学习,记得我买的第一本书是《计算机基础DOS3.0》,大家别吓着了,其
实当时已经普及了DOS6.22了,只是我在书店里看到了DOS4.0,5.0,6.0的书,以为像英语
那样是第四、五、六册,记得当时到处找DOS1.0,现在想想也幸好我没有找到:)开学前
我学完了PASCAL,那时既没有计算机也没有人可以请教,我连程序是什么的概念都没有,
只好死记硬背代码,然后拿纸写,我一直到大三才有了一台486,在这之前用纸写了多少程
序我也记不清楚了,只知道最长的一个我拿A4大小的草稿纸写了30多页,我的C语言、C++
、VC都是在这样的条件下入门的。所以说条件是可以克服的,希望我的经历多少给条件艰
苦的同学们一点信心。第一次上机是在我姐夫的机房,我的心情激动的无与伦比,但是一
上机我立刻傻了眼,他们用的是英文版的Win3.1,我的那点DOS知识都见了鬼,上机提心吊
胆的一阵瞎摸,一不小心把Word弄成了全屏,怎么都还不了原,当时真是心急如焚,我以
为机器被我弄坏了。第一个C语言程序,就是那个经典的HelloWorld,我调了几个星期,上
机机会非常少,也没有书告诉我开发环境(TC2.0)需要设置,而且
开始我都不知道有编译器,我甚至自作聪明把写好的程序扩展名从.c改成.exe,结果可想
而知。大一学完了C、X86的汇编、数据结构、C++。由于精力都花在自学上了,大一下四门
课挂了彩,三类学校就是这点好,挂上一二十门也照样毕业。不过扯远点说,我那么刻苦
都及不了格,可见我们国家的计算机教育有多死板。
大二准备学VC和BC,当时难以取舍,后来选了VC,不为别的,只为书店里两本书,VC
那本便宜6块钱。我的努力在班上无人能及,学的日夜不分,大三有了计算机后更是如此,
很多次父亲半夜教训我说我不要命了,我一直觉得自己基础差,记忆又不行,条件也不好
,所以觉得只有多花点时间才能赶上别人。居然后来有许多朋友说我有学计算机的天赋,
让我哭笑不得。我用的是486,16M内存,1G硬盘,当时同学们的配置都是P166MMX,我安装
一个Windows NT4.0需要一个通宵,编译一个BC5.0向导生成的程序需要近两个小时,我的
显示器是个二手的,辐射非常大,开机屏幕冒火花,看起来很酷的:),有一次程序写的
太久,觉得怎么白色的编辑器背景变成了紫色,以为显示器坏了,后来才发现眼睛不行了
,不过说来也奇怪,到今天我的视力还能保持1.5,真是个奇迹。但是就是那台破机器陪伴
了我两年,让我学会了VC、Delphi、SQLServer等。后来那台机器给我阿姨打字用,据她说
一天她正打的开心,一股青烟夹着火苗从显示器钻出来,之后它才寿终正寝。
大三假期找了个机会在一个计算机研究所实习,与其说实习不如说是做义工,工作了两个
月一分钱没有拿。但是这两个月对我的发展帮助很大,让我早一步了解了社会,刚去的时
候我当然是一窍不通,在那里我熟悉了网络,学会了Delphi和Oracle。由于工作很认真,
得到了比较好的评价,在一位长者的引荐下,我开始和他们一起做项目,这使我在大三大
四就有了自己的收入,大四又找了两家MIS公司兼职,虽然钱不多,但是在学生期间有100
0多的收入我已经非常满足了,我终于用自己赚的钱把计算机换了。大四下开始找工作,这
时我的工作经验已经比较多(当然现在想想非常幼稚),开始听父母的想去那个研究所,
实习过那个部门也希望我能去,但是不知道为什么最后不了了之,这种单位就是比较官僚
,我一气之下就到了我兼职的一个公司做MIS的TeamLeader。在大三到毕业一年的时间,做
过了各种MIS,从煤气、烟厂、公安、铁路、饮食到高校,什么有钱做什么,工作也很辛苦
,经常加班和熬通宵,从跟客户谈需求到设计、编码、测试、交付都要上。那时觉得很有
成就感,觉得自己还不错,现在想想真是很肤浅。