自从家里买了电脑以后,谢维康去网吧的次数明显少了很多。
从前每晚九点半准时上床的大男孩,如今也学会了熬夜。
每天,他只要一开始研究代码,就像上了条似的根本就停不下来。
支撑他的,或许是“必须学会软件开”的执念,亦或是“学不会就会失去李梅和现有一切”的紧迫感。
这份不敢懈怠的心思,成了他咬牙钻研的源动力。
时间转眼就来到了六月,谢维康的c语言已经学得七七八八,现在写程序大多能脱离api手册,单凭记忆就能完成大多数功能的开。
进入六月中旬,谢维康就想找个项目练手巩固知识,经过多方对比,最终他选定了开《俄罗斯方块》游戏。
可当打开编程环境时他才犯了难,过去一个多月里,他写的代码,结果都只能在黑框里显示,要怎么建窗口、做游戏界面,他完全没有头绪。
翻了翻日历,今天是oo年月日,星期六。
谢维康想了想,也许只能找段雷问问,所以他干脆关了电脑,骑上自行车就往“情缘之约”网吧赶去。
周末的网吧比平时热闹,放眼望去几乎座无虚席,好在谢维康在门口找到了两个连在一起的空位。
谢维康随便开了台电脑登了qq,他先习惯性看了眼李梅的头像,一个半月了,对方始终没上线,也没回任何消息,这份失落他早已习惯,抗压能力反倒练得极强,如今心里只剩一片平静。
他给段雷了一条qq消息:“今天同周末,你要不要出来上网?”
他知道,只要段雷回复,人肯定就在网吧里。
果然,消息出去不到三十秒,段雷就回复了:“我在情缘之约网吧呢,你呢?”
谢维康赶紧回复道:“我也在这儿,你站起来,我找找你!”
完消息,谢维康立马站起身,顺着网吧里密密麻麻的座位四下张望。
目光刚扫过两排机器,身后就传来一声清亮的声音:“谢维康。”
他猛地回头,正好看见段雷坐在不远处的机位上,正冲他使劲挥手。
走到段雷座位旁,谢维康一眼就瞧见他还盯着屏幕写代码,桌角甚至散着几根刚被揪下来的头,那乱糟糟的模样,一看就是又卡进了棘手的难题里。
他忍不住打趣道:“段哥,你再这么薅头,就算你头再多,也经不住你这么个薅法啊。”
谢维康的调侃刚落地,段雷没搭话,直接拉着他凑到自己跟前,声音里透着几分无奈道:“快,赶紧帮我想想,我又卡壳了!”
谢维康心里咯噔一下,暗自嘀咕道:“不会又要我出算法吧?上次是瞎猫碰上死耗子,这次哪还有这运气?”嘴上只能讪笑道:“段哥,你可别取笑我了,你这代码我都看不懂,哪能帮得上忙?”
“咋了?”段雷半点不让步,语气里裹着点“威胁”,带着股子气说道:“这一个月你从我这儿学了多少本事?我就这么一个问题,你还推三阻四的,以后还想不想好好玩耍了?”
被这话一呛,谢维康才反应过来自己本就是来求助的,再推辞就说不过去了。
他指了指自己旁边的座位,扬了扬下巴,提议道:“要不你过来,咱俩挨着坐,一起研究研究?”
段雷干脆得很,手指在键盘上敲了几下保存数据,跟着关机拔u盘,转身就坐到谢维康旁边的电脑前。然后开机、装c++、点开工程文件,一套流程下来行云流水,没半点停顿,一看就是做过无数次的熟手。
“我的游戏编辑器快弄完了,现在在写游戏引擎,解析剧情事件的时候卡壳了。”段雷没多余的话,直接把事儿说透。
谢维康听得一脸懵逼,苦笑道:“段大哥,你也太抬举我了,你说的这些我听都听不懂,哪能给你想办法?”
段雷一把揪住他的衣领,指节都微微用力,语气带着不容置喙的强硬,像下命令似的说道:“少废话!你要是能把这问题搞定,我跟你拜把子!”
谢维康这会儿的表情,比硬吞了一堆翔还难受,眉头皱成一团,嘴角往下撇着,可也没法再推托,只能强压着犯难的心思,静下心来听段雷把需求说清楚。
段雷说道:“你听我说,情况是这样的,你看这些事件,所有的都是按顺序执行的,但有些事件会有两个甚至多个分支,还得一层一层嵌套。比如这个fight事件,触后会进入战斗画面,赢了返回true,输了返回fase。可当程序进入true的分支执行逻辑后,程序还是会接着执行fase里的代码,根本跳不出去。我试了好多办法,只能解决第一层,到第二层就不行了,无法彻底解决事件嵌套的问题。”
接下来,段雷耐心把问题的核心与需求讲透,谢维康也慢慢地听明白了其中的关键。
他琢磨了五六分钟,期间段雷没有催促,还认真回答他的提出来的疑问,显然是真指望他能给点思路。
这章没有结束,请点击下一页继续阅读!
突然,谢维康眼前一亮,说道:“有了!你在每个命令前面加个编号,比如第一条加o、第二条加o,以此类推。然后每条命令后面加个goto指令控制跳转,没有goto的就按顺序执行。比如你说的fight事件,前面标o,true的分支标o,fase的分支放后面标o。假设o到oo行是true要执行的代码,你就在true的命令后加个gotoo,让程序自动跳过去;再在oo行后面加个gotoo,执行完就跳去o行。所有事件都按这个规则来,应该就能解决了。”
段雷听着听着就皱起了眉,手指无意识地敲着桌沿,忽然眼睛一亮,“啪”地拍了下大腿,兴奋道:“嘿!你这办法还真可行!我钻了好几天牛角尖,怎么就没往这方向拐呢?”话音刚落,他的手指就飞扑上键盘,网吧里瞬间响起密集的“哒哒”声。
谢维康凑在旁边看,偶尔还能跟上段雷的思路。
只见段雷用鼠标一点切换到剧情编辑器,生成事件脚本后又立马切回游戏引擎解析,屏幕上的代码一行行跳动着。
大概四十分钟后,段雷深吸一口气按下f,游戏开始,屏幕里的小人走得稳稳当当,跟npc对话、打起来、打完接着聊,全程没卡一下壳。
段雷兴奋得直接从椅子上跳起来,伸手拍了下谢维康的肩膀,大叫道:“成了!哈哈!还是你有办法!快说说,你是怎么想到这个办法的?”
谢维康笑了笑,没说话,默默掏出文曲星,点开自己写的gvbasic代码给他看,语气带着点尴尬道:“其实不算是我想的,就是把这代码的思路跟你说了说。我也没想到,随便提一嘴,居然真成了,真的就是瞎猫碰上死耗子。”
段雷看着他,一时间竟不知道怎么形容心情,这个困扰了他四五天的问题,就这么解决了。要不是谢维康是个男的,他真想上去抱一口。心里高兴,嘴上却没服软:“上次说瞎猫碰上死耗子,这次还说瞎猫碰上死耗子,你这儿哪来那么多瞎猫和死耗子?不过说真的,你这学以致用的本事,我是真服。来来来,我的关二爷呢?对,赶紧百度个关二爷的画像,我要跟你拜把子!”
谢维康更尴尬了,没想到一句玩笑话段雷居然当真了,忍不住推辞道:“算了算了,咱已经是好朋友了,讲究那些虚的干啥?”