大一下学期,有一门课程如钻石般散发着亮光,无与伦比地吸引了大家的目光,那就是《Pascal程序设计》,该学期中唯一的一门计算机软件专业课程。
“P—A-S-C-A-L,什么东东?”寝室里,教授拿起教材,用生硬的发音读着课程名称。
“哎,不知道读不是你的错,但拿出来吓人就是你的不对了。这个读成‘帕斯卡’,就是传说中的帕斯卡语言。”于谦马上打断教授,“知道不,编游戏就要用这个东西。”
“可是我翻书看了看,没有发现游戏设计的内容。”寝室长帅哥张接过话题。
“那当然了,这本书介绍的只是基础的应用,”貌似寝室里在做话题接龙,现在轮到木鸿飞:“编游戏需要专门的单元来画图。”
终于可以学习编程了,同学们翻开教材饶有兴趣的猛看了一阵子,但教科书上列举的内容实在是太枯燥了,于是大家又纷纷憧憬起学成后设计游戏的美景——相对于学习,做梦要容易也有趣的多——只是谁也没有想到,没过多久,美梦成真了!
Pascal语言老师姓石,其时还是一位普通老师,但十多年后,他博士毕业并成为了系里副主任,这是后话暂且不提。总之同学们课上很认真,尤其是很多女生,课上一个劲儿的做笔记,其速度之迅速、字迹之工整、记录之全面使人瞠目结舌。课后很多同学仍然兴趣不减,继续在纸上书写代码,诸如打印“1+1=2”、打印菱形、计算“1+2+3+…+100”之类的程序被设计了一边又一遍,学习热情空前高涨。
但这还不是高潮,当老师宣布Pascal语言的课程设计是编写俄罗斯方块游戏或者编写TT打字练习程序时,同学们沸腾了,我们居然可以编写游戏,这是真的吗?这真的真的是真的吗?
当然是真的,因为石老师还在继续:“程序的设计你们自己考虑,不过为了设计这些程序,光是这本教材是远远不够的,这本书上甚至连怎么画一个点都没有讲,所以你们需要多查阅一些资料,建议大家到图书馆走走。下面我们继续回到教材,今天讲函数,……”
大家都竖着耳朵,生怕漏过一个细节,但至此以后,石老师再也没有讲述任何与俄罗斯方块或者TT打字软件相关的东西,这也就意味着同学们必须得依靠自己的力量独立的设计。
反观同学们的反映,无外乎三种。第一种,事不关己,高高挂起。游戏设计是别人的事情,我自巍峨不动。这些同学多半是对计算机毫无兴趣,毕业时纷纷转行。当然他们所占比例很小,绝大多数属于第二种,他们兴奋激动但是彷徨忐忑,内心极其渴望编写游戏但大脑却毫无头绪,茫茫然不知从何入手。还有第三种人,他们对程序有着敏锐的直觉,早已摩拳擦掌,准备大干一场。木鸿飞就是这类人,他整节课都心不在焉起来,满脑子都在考虑程序的设计。
这节课结束后,年级里兴起了一股学习Pascal热,图书馆中但凡与Pascal相关的图书都成了抢手货,几乎被一扫而空。在这方面,木鸿飞近水楼台先得月,毫不犹豫的把哥哥家的两本Pascal编程书拿了出来,即质量上乘又无需哄抢,有个教师哥哥还是很方便的。
大一的时候,系里有自己的机房,拥有若干台386,就当时而言,质量不算差。而且Pascal课程也安排了一定数量的上机课,避免了没有计算机的尴尬。
第一次课程设计,同学们卯足了劲,都想把处女作编的最好,给别的同学留下不可磨灭的第一印象,于是第三种人暗地里都在较劲,常常这个人设计了一个新颖的东西,马上就有人模仿并改进,真是你追我赶好不热闹。
木鸿飞设计了一个漂亮的菜单。有一次,在书上看到了设置闪烁字符的方法,马上如法炮制,将程序修改为:当菜单选项处于选择状态时,该选项变色并且闪烁,当光标移动后,该选项恢复正常。程序完成之时,木鸿飞故意在机房中不断的演示,他时而退回编程界面,移动光标,修改几个无关紧要的代码,然后重新运行,给人一种调试的假象,惹来同学们的顿足和阵阵惊呼甚至于倾心请教,他却摆出一股很平常的样子,说道:“这个很容易啊,你可以这样子……”
大约过了几十分钟,木鸿飞突然听到机房里有两个声音传来。
“……现在你知道怎么做闪烁功能了吧?。”声音甲。
“嗯,知道了,谢谢!”声音乙。
木鸿飞扭头看去,只见两个同学坐在一台电脑上,看架势,一个在请教,另一个在解答。而声音甲绝对没有咨询过自己,只有可能他也发现了字符闪烁的方法,看来大家都不甘落后啊。
处女程序的开发过程在紧锣密鼓和你追我赶中进行,就在即将完成之时,一个事件的发生,将之推上了一个高潮。
那是倒数第二次上机课,下节课就要交作业了,同学们都在紧张的修改自己的程序。大一新生都特别单纯,还没有养成拷贝或者挂名的习惯,所以无论能否独立完成,大部分同学都事必躬亲,即使需要帮助,即使需要照抄,也是亲自输入代码,而不会采用拷贝命令。但是也有极少数一群人除外,他们似乎对学习尤其是动手编程毫无兴趣,大学对他们来说只是生命中一个普通的过客而以。
于谦就是这样一个人,他是县里的官二代,老爸老妈的官职与李刚的差不多,所以在班上的学生中他的生活花费算是较多的一个。那时木鸿飞每月大约300元,吃饭大约花费150元,剩下的自己零花,而于谦是木鸿飞的两倍。但于谦绝对没有所谓官二代的飞扬跋扈,除了不爱学习外,其它一切都好,与同学们打成一片,在男生中尤其与木鸿飞和教授玩得要好。
于谦有一个很特别的本领,缠功一流,木鸿飞马上就要领教了。
“嗨,于谦,今天你怎么有空到机房来了。”于谦上机课就来过几次,平时都是跷课,是本班乃是本年级跷课的弄潮儿。所以木鸿飞发现于谦到来,颇有些吃惊。
“嘘!不要声张!”于谦急忙说道,“我找你有事。”
“什么事?”木鸿飞问。
“那个下节课要教课程设计了,你可不可以帮我设计一个。”看来于谦虽然不学习,可也注重成绩。
“你不是整天吃喝玩乐吗,也在乎作业?”木鸿飞调侃道。
“我不是纨绔子弟!”于谦义正严词道,“你程序设计那么厉害,就帮我设计一个吧。”
木鸿飞心里做了一个“你就是纨绔子弟”的想法,然后摇头道:“不行,我就设计了一个,给了你,那我交什么?”
“你可以把界面做一些修改啊,这样老师就看不出了。”于谦连办法都想好了,不愧为作弊高手。
“没有办法修改。”木鸿飞不答应。
“这个可以有。”
“这个真没有。”
“这个一定有。”
“界面好难设计的!”
“你可以把我的界面设计的很丑,我不在乎的。”
“办个忙咯,回头真的请你吃饭。”
“设计一个程序好难的,而且下节课就要交了,做不出来。”
“没关系,我只要最简单的打字练习,能打字就行,不在乎界面。”
“很困难,没有办法设计。”木鸿飞不答应。
“这个可以有。”
“这个真没有。”
“这个一定有。”
……(此处略去1万字)。
如此无良的对话足足持续了半个小时,木鸿飞的声音由最初的激动高昂逐渐成为奄奄一息,反观于谦仍然神采奕奕斗志不减。最后身边的同学都受不了了。
“于谦,你缠人的时间都可以自己设计一个程序了。”帅哥张首先发话。
“木鸿飞,你一开始答应他说不定现在都做完了。”这回是教授。
木鸿飞早已斗志黯然,如同斗败的公鸡一样耷拉着头。突然他想起了什么,神情猛地一震,说道:“真的什么样的打字程序都可以?”
“是啊,好的,你答应了啊!”于谦终于胜利了。
“你走走走,”木鸿飞推开于谦,“到墙角画圈圈去,不要来吵我,做完叫你。”
于是世界清净了,只剩下极富节奏感的键盘敲击声。
但五分钟后,这种节奏感又被打断。
“于谦,OK!”木鸿飞大叫一声,结束了短暂的清净。
“来了,”一阵风飘过,于谦不知从哪里冒了出来,“这么快,我才抽了一支烟。”
“那当然,也不看是谁出马。”木鸿飞小小的得意了一把,“先运行给你看看效果。”一边说,一边同时按下CTRL+F9键,编辑界面迅速转化为一个黑洞洞的窗口,窗口左上角只有孤零零的一个字符,字符右边一个光标在闪烁,算是这个窗口中唯一的活物。
木鸿飞按下窗口中字符对应的按键,光标处出现按下的字符,然后马上显示一个空格和一个新的字符。木鸿飞又按下键盘,每次都在原有字符的右边回显按键的内容,空格后再面随机出现一个新字符。
“这就是TT打字练习程序。显示的字符表示就是你要输入的内容,而一旦输入完毕后就会随机产生另一个要输入的字符。”木鸿飞一边按键一边解释,“无论是否输入正确,都会进入新的练习。”
于谦一只手在键盘上按键,沉默了老半天,终于说道:“你这也忒简单了吧!”
“你不是说界面无所谓,功能无所谓,只要能打字就行,完全符合你的要求哦!”木鸿飞得意道。
于谦无话可说,只得点头,“好吧,好吧,有总比没有好。程序怎么退出?”
“不好意思,没有设计退出功能,你可以按CTRL+BREAK强行退出。”木鸿飞潇洒的回答。
“I服了U!”于谦提前说出一个几年后才流行的时髦语句,“给我解释一下代码,老师肯定会考察源代码的,我得有所准备。”
“没问题。”木鸿飞按下CTRL+BREAK组合键,程序强行退出,回到编程界面。
“欧买嘎,欧买嘎,欧买累滴嘎嘎!”见到代码,于谦露出不可思议的神情,在再三确认后,他发出了惊呼,“怎么可能,不到十行,就编出了一个TT打字程序!”
于谦的叫唤吸引了一堆同学,大家纷纷探过头来,打量着这个程序。现在就把这个号称最小的打字练习程序公布与众,让读者也共同欣赏,不过考虑大部分读者未曾接触Pascal语言,就将之转化为windows下C语言版本吧,在DEV C++上编译通过。
#include <stdlib.h>
int main(int argc, char *argv[])
{
srand((unsigned int)time(NULL));
while(1)
{
putchar('a' + rand()%26);
putchar(getch());
putchar(' ');
}
return 0;
}
“嗯,最小的TT程序,这也是一种思路,设计精简的程序,说不定老师特别喜欢。”教授评价。
“有道理。看看有没有可能再压缩代码行。”帅哥张说道。
“不如这样,把这机行代码并排写,合写到一行中。”于谦提出主意。
“那样做是没有用的!一个语句就是一个代码行,合并在一起仍然是两行。”帅哥张不同意。
“……”
上一篇 目录 下一篇