一读小说 » 都市言情 » 我的青春不下线 » 第十九章 岳书记的难题

第十九章 岳书记的难题

    经过一段时间的修炼,孙一波的C语言编程能力大幅度提高,这也和他扎实的编程基础息息相关,就像习武之人有了底子之后,什么梅花掌、五行拳、无影腿等套路,都可以触类旁通。

    他深深地知道,编程序主要依仗强大的逻辑思维能力,碰到一道题,首先要把程序框架搭好,源头是什么,目的是什么,一定要搞清楚,至于中间过程,那就是八仙过海,各显神通了。

    随着中南区软件设计大赛日渐临近,比赛规则也浮出水面,即两小时内用擅长的编程语言解出难易程度不等的三道题,评委根据选手的完成时间和完成质量进行打分,得分高者获胜。

    另外,大赛还规定每一名导师只能带两名学生参赛,这意味着岳书记麾下的三员大将(求胜、李佳浩和孙一波)之中,有一个人将面临内部淘汰。

    孙一波清醒地认识到,“最强大脑”求胜的编程能力在自己和李佳浩之上,而自己的强项在于计算机应用方面的综合能力,包括网络技术的综合运用,这和他平时在计算机各个领域的广泛涉猎是分不开的。

    所以,当遇到单一的程序题,孙一波可能不占优势,水平和李佳浩大抵相当,略逊于求胜。

    但如果碰到综合能力题,比如需要用到网络技术、计算机硬件技术和各项应用软件技术,他有信心能在三人中胜出。

    孙一波擅长的汇编语言恰是一切计算机语言之母,其重要性不言而喻。

    岳书记如同“中国好声音”中的导师一样,要在自己的学员中艰难做出抉择,无论最终选了谁和谁,必定是对第三人残忍的伤害。

    为此,他很慎重,经过深思熟虑,决定利用五一长假的七天时间,给三人出一道考验计算机综合水平的程序题,原则上要求独立完成。

    岳书记也知道,在一周时间里,答题者或多或少,会借助一些外部力量,也会通过阅读参考书和网上搜索资料来辅助答题。

    在布置题目的时候,岳书记并没有明确指出该次测试结果就是三选二的唯一标准,他怕给三人增添巨大压力而影响其正常水平发挥。

    但三人还是明显感受到,完成题目的质量高低,将决定他们能否参加中南区的程序设计大赛。

    一九九九年有一款非常流行的RPG(角色扮演类)游戏,叫做《仙剑奇侠传》,里面的人物李逍遥、林月如和赵灵儿共同演绎了一段凄美的爱情故事,最赞的莫过于里面的背景音乐,确实是游戏中的佳品。

    岳书记也知道这个游戏,他虽然年届五十,有时候也玩玩游戏,计算机人的思维总是年轻化、超前化。

    他出题目的灵感就来源于《仙剑奇侠传》,即模拟开发出《仙剑奇侠传》的核心程序。

    这个课题可以说是相当难,等同于一部几万壮丁共同修筑长城的巨作。

    游戏核心程序又叫游戏引擎,是贯穿整个游戏的灵魂,把所有的元素融合在一起,并在后台指引各个元素同时、有序地工作,包括了剧情、关卡、美工、音乐、操作等各方面的控制。

    由十数人组成的项目组开发这么一个游戏核心程序,尚且需要数以年计的时间,要让三个人各自在七天时间完成如此巨大的工程,显然是不可能完成的任务。

    可这道题确实是岳书记精心策划的一道题,为什么这么说呢?

    因为他知道这道题不可能完成,只能够无限接近。

    不能够完成的题目就是好题目?!

    也未必。就像当下最流行的《羊了个羊》游戏,有些关卡就是无解,程序员偷懒,设置了一系列随机数,牌的放置会产生死结,而并不是程序故意刁难你。你让程序员去玩,他也过不了关。

    同样,微软的程序员也会偷懒,《纸牌》游戏也有很多局无解。

    言归正传。

    但岳书记有他的判断依据,有他设置的底线,即程序执行后,能用鼠标和键盘做到输入输出控制,能够在电脑显示器上显示出人物的行踪。

    也就是说,输入输出控制和显示这两项是基本评分项,另外的元素则是锦上添花。

    能顺利解答出这道题的人,需要极高的计算机综合素质,不仅具有资料查阅和消化的能力,更要有设计程序框架的大局观和精湛的编程水平。

    对三人而言,岳书记的这道程序题无疑是一块难啃的骨头,谁都没预料到是一道综合能力要求如此之高的实际应用题。

    三位计算机专业翘楚,已闭关修炼了很久,这一次终于要推开山门,面对险恶的江湖,在实战中决定优胜劣汰。

    孙一波乐观地认为是岳书记给他开了扇小窗,因为他的汇编语言终于有了用武之地,能在实现软件与硬件交互中得到良好的运用。

    求胜向来对自己编程水平充满信心,倒也和往日一般平静。

    李佳浩有些坐立不安,他没有碰到过这种类型的题目,无从下手,认为同一个战壕里的两位战友都不是自己的炮灰,而自己,倒可能成为陪太子读书那人。

    急于求成的李佳浩决定先使用一些旁门左道的手段,利用反编译工具对《仙剑》的执行程序进行反编译,这个工具对一些简单的执行程序有作用,可以把执行程序逆转换成程序源代码,但对于这些庞大的执行程序,即使能逆转换成源代码,也是一本永远都看不懂的梵文字典。

    就象操作系统Linux,虽然公开了源代码,但总共有一千万行之多,普通人根本无法进行解读和修改,所以,这个办法没有用。

    一个善于编程的程序员,也很难去修改别人写的代码行,他更愿意中规中矩地编写源代码,实现目标会更容易一些。

    求胜的编程基本功非常扎实,同样,他的程序构架能力也很突出。

    他把主程序的各个功能分解成一个个模块,对各个模块进行程序编写并封装,这样就可在主程序中直接调用各个模块。

    三天下来,他已经完成了动画人物的前后左右控制和存储进度等两个单元的程序编写,共计两千多行源代码。

    相比其他两位,孙一波显得更为灵巧,他先从之前积累的源码库中找了一些类似游戏的源码,选择可读性比较强的,有释义的源码,并在此基础上进行修改,这个过程对程序员的理解能力要求非常高。

    还好,这些公开代码者确实具有大公无私精神,源代码段后的中文注释非常到位。

    孙一波通过对其理解,重新对资源进行了整合,这样一来,程序修改就方便很多。

    三天下来,孙一波完成了三个模块的编写。

    两天后,求胜和孙一波的程序都达到或接近岳书记心理底线的预期效果。

    没有对比就没有伤害,此时最心焦的是李佳浩,他的完成质量明显落后两位师弟。

    病急乱投医,他没有去找系里的计算机高手指点迷津,却想到了他的女朋友,学数学的岳融,让其从数学建模的角度帮他优化一些算法。

    岳融欣然接受,能替男朋友分担一些压力,她觉得很幸福。

    她也知道,从数学的角度去化解这道综合能力要求极高的程序题,无异于蚍蜉撼树,也许,对李佳浩而言,精神上的安慰比物质上的帮助更重要。

    五一长假期间,学生情侣们纷纷外出游玩,岳融一点也不在乎这个,她不会给李佳浩添乱,宁可牺牲休息时间,也要换取李佳浩的学业成功。

    她一直认为,陪伴在男朋友身边是最长情的告白。

    求胜这个“最强大脑”称号绝不是盖的。

    他能够在关键时刻静下心来,发动所有的脑细胞专注于一样事情,这是常人无法企及的高度。他的过人之处,不仅在于超高强度的脑力劳动,更在于与世隔绝、不食人间烟火的处世态度。

    除了吃饭、睡觉、上厕所,他的屁股如同强力胶般粘在椅子上,眼帘低垂,一幅沉思罗汉的模样,让人怀疑其已经睡着时,他的双手突然抬起,飞快地在键盘上敲击起来,屏幕上顿现几十行代码,称得上是沙州大学IT界大神级人物,就像阅文的白金作者。

    像他这样一位独孤求败、笑傲江湖的高手在解题时,自然不需要帮手,只需要对手,如果没有对手,只有靠“双手互博”的自我进化了。

    孙一波既没有女朋友的陪伴分忧,也不能像求胜一样不食人间烟火。

    两三天之后,他的烦躁情绪就上来了,难以继续高效率的脑力运转,感到身心疲惫。

    屏幕上密密麻麻的代码行,特别是大量繁琐的中间程序式,冗长而枯燥,令人眼花。

    但这些中间程序式不得不存在,他的主要作用是把游戏里的剧情代码化,通常由假设判定组成。

    比方说,计算机语言和人的语言在所处不同环境里,表达方式不尽相同,计算机语言在计算数字和循环计数方面有着得天独厚的优势,当人的思维认为是一种重复计算的时候,对计算机来说恰巧是一段简单的循环程序式。

    同样,当人在判别简单的剧情理念时,可以在瞬间作出判断,而转化成计算机语言,却是一段非常冗长的代码,因为无论选哪个,都会产生不同的后果,没有对错之分。

    而当出现三选一或者四选一的时候,更是一堆数以倍计的程序代码。

    孙一波不想耗费过多的精力去处理这些中间程序,他认为这些选择性代码行比纯粹打字难不了多少,此时如果有人能帮他做这些繁杂的事,他将会事半功倍。

    偏偏六零二的室友们都很珍惜这个长假,他们要不陪女友外出旅游,要不就回老家探亲,没人能够帮助孙一波。班长戴鸣虽身在学校,但每天外出参加社会活动。

    孙一波认为戴鸣以后会从政,现在所做的一切都是为以后的政治生涯做铺垫,加砝码。

    未来的政治家才不屑于做这些鸡零狗碎的小事。