分享

为什么学会C语言确感觉还不会编程呢?其实你想错了

 昵称67168469 2019-11-11

其实对于程序而言,C语言抑或着C++、Java等其他程序语言只是用于表达你的想法的一个工具。就像让我们以建筑为例,画图是一个基本功,但是画什么才是核心所在。那么,今天我们以一个设计一个RPG(角色扮演)游戏为例。

当然,我们这里不是讲如何设计一个完整的,那可能太复杂,也超过你目前掌握的C语言知识,不过我们可以抽取一个简单的元素。

在RPG游戏中,我们知道有一个重要的元素就是主角,即人。而人会有不同的属性,如生命值(一般成为HP),魔法值(一般称为MP),攻击力(如命名为AttackAbility)。那么,我们如何把生命值与魔法值等附加在人的属性中呢?

回想我们的C语言知识,我们知道要把多个值捆绑在一起然后来表达一个东西,那么在C语言是使用struct来进行辅助我们表达这样的目的。

即:struct Person {int HP;int MP;int AttackAbility;};

这样我们就完成来Person的生命值与魔法值的捆绑,而使用的就是C语言的struct。接下来,让我们更进一步。我们的主角会有攻击对方的动作,我们这里命名为attack。对于攻击来说,我们需要有两个元素需要关注,一个是攻击者(我们主角),一个是被攻击者(如怪兽),那么我们同样的把怪兽的属性列举出来。struct Monster {int HP;// ...};接下来我们需要把主角和怪兽传递过来,即我们要知道我们的主角和怪兽就是我们所指向的那一个,而不是其他的(包括新建),那么我们应该用什么来传递呢?回想我们的C语言,能这样指向的,就是指针,于是函数则这样。

void attack(struct Person* person, struct Monster* monster) { monster->HP = monster->HP - person->AttackAbility;if(monster->HP <= 0) { printf("Monster is killed by you! "); }}在这里,我们还进行来一次判断,如果怪兽被攻击后,生命值小于等于零后,我们输出怪兽被杀死的信息。

通过这样的引导例子,你可以看到,C语言只是提供了基本的元素来表达我们的想法,我们学习C语言只是学习来基础的语法规则,但是最重要的还是我们的思想,然后利用C语言这个工具来表达。

那么,我们在以后的学习中,还会学习到数据结构与算法、编译原理、操作系统等课程,其实都是丰富我们的思想,然后再利用编程语言这个工具来表达我们的思路,这一点你要切记。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多