在我的期盼中,第二天的课程如约而至,不过在上课之前,老爹在我的电脑上安装了一款叫做Visual studio的软件。
「由于咱们今天是要编写游戏,自然不能再像之前那样使用小黑屏咯,而是要使用图形界面化窗体程序。
而用C语言直接来编写图形化界面有些麻烦,这里咱们就用C语言的加强版C Plus以及微软提供的MFC来实现推箱子这个游戏了。」
「C Plus?那是不是我要重新学习相关的知识啊?」
我苦着脸问道。
「C Plus就是大家口中的C++,它的基础语法和C语言几乎一模一样,增强的地方在于面向对象部分。」
老爹一边安装软件,一边解释道。
「啥?我编个程序还得找个对象来坐我对面么?原来当程序员的福利真么好啊,难怪不得那么人都想当程序员。可是我还这么小,这样做真的好么?」
听到「面向对象」四个字的时候,我不禁一脸懵逼。
「这里的对象不是你想的那个对象,是……算了,我们先别讨论对象的问题,现在只是换一个环境让你使用C语言。你看C++,C++,++在后,说明是先使用C语言,然后再加的。」
老爹捂着额头苦笑道,想要解释却不知道该怎么说。
「这样的么?那当初开发C++的人应该叫它++C才对嘛……」
在和老爹闲聊的时候,软件也安装好了。为了防止我被一些不相关的东西干扰,老爹先将工程搭建好,并且设置好了窗体的相关参数。
「现在我给你演示一遍怎么加载图片,如果记不住就算了,反正我们的目的不在这儿。」
有了老爹这句话,我理所应当的没有学会。
「好了,现在背景图片和灰太狼都已经加载进来了,我们下一步就是获取从键盘上的输入,然后使用switch语句让灰太狼动起来。
在MFC中给我们提供了控件的键盘输入事件,我们只需要到相应的位置获取键盘输入了好了。」
「键盘输入我能够理解,事件是个嘛玩意儿?」
我又被老爹说的新名词给弄迷糊了。
「嗯~,比如说哈,我们现在在这个窗体上点击鼠标,这个时候计算机是能够捕捉到我们这个点击动作的,这个动作被称之为事件源。当计算机捕捉到这个动作的时候,就会去执行对应的一段代码。
而要执行的那段代码,叫做事件响应内容,需要我们给出,因为计算机并不知道捕捉到动作的时候需要做什么事情。
之前一直跟你说过,计算机很笨,我们不能把事件响应内容随意放置,而是要放在一个特定的地方,否则计算机就找不到。而这个特定的位置,就叫做事件,事件里边执行的是事件响应内容。
所以事件的机制是:事件源触发事件,事件执行事件响应内容。
对了对了,我想到一个特别好的例子,我们再来说说谍战风云。」
「好呀好呀!」
「在谍战片里边一般情报人员里边都是单线联系对吧?假设现在你是老爹的上级,老爹是你手下的一个情报人员,但是由于我们是单线联系,你可以直接联系我,但是我不能直接联系你。
这天呢,你联系我,让我要在半个月之内获取到敌人的密码本。老爹我历经千难万险,九死一生,终于从敌人手里拿到了密码本。
密码本是拿到了,但是我要怎么给你呢?我又没有办法主动联系你?
这个时候我就想到你之前说的,一旦拿到敌人的密码本,就立刻藏在某个寺庙的佛龛下面。
老爹将密码本放在佛龛下边后不放心,于是就旁边写上了『此处没有密码本』几个大字。果不其然,敌人很快就找到了老爹藏密码本的佛龛,但是在看到上面的字后信以为然就走了。
半个月的时间到,你就到佛龛下面拿到了密码本,任务完成!」
「哈哈!老爹你这不是骗小孩儿么?敌人怎么可能相信你写的字嘛,这不是此地无银三百两么?」
「这只是老爹编的故事而已,不要较真嘛。
在这个故事里边,半个月的时间就是事件源,当半个月的时间一到,你就要去佛龛拿密码本,所以佛龛就是事件,事件内容就是密码本咯。
同理,当我们按下键盘上某个按键就是事件源,这个时候就要触发键盘输入事件,而我们只需要在事件里面添加我们需要进行的逻辑内容。」
「哦~,原来是这样的哦。」