Python设计王者荣耀人物结构(64)*

这个周末要做的是设计王者荣耀人物的人物结构,用python打印出英雄及其属性。今天是揭晓答案的时候。

王者荣耀人物繁多,虽分为六个大类,有的人物却会在不同的类别里重复出现。而人物的属性也有很多,在三个大类别下还有细分。我原来的思路是按照用户界面显示来写程序的逻辑,但是即使我用了两层嵌套也无法表示出和用户界面一样的数据结构。

看了大大的代码以后我问了大大这样一个问题:是不是代码嵌套的层数越少越好?

大大给的回复是:代码越简单越好,奥姆剃刀。里面最基本的思想,就是把人物和具有属性抽象出来,而不是根据显示来决定数据结构。

于是我有如下的理解:显示给用户的界面可以很复杂,但是它内在的代码是简单的重复。

下图是python大大的代码

图片发自简书App
图片发自简书App

我跟着大大又敲了一遍

图片发自简书App
图片发自简书App

这样的代码非常简洁,只是在列表里嵌套了一层字典。即使需要修改列表或者字典都可以直接修改而不需要改动后面的循环里的代码。比如我想再添加一个英雄,或者给某一个英雄添加一些属性,只需要在列表或者字典里直接修改而不需要改动后面的代码,这对于代码的修改提供了方便。

图片发自简书App

图片发自简书App

我加了一个人物曹操,同时又在他的性能里添加了移速,这都不需要改动其他代码。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,856评论 25 709
  • 今天我们作为游戏程序员,设计王者荣耀人物结构。王者荣耀,玩家可以选择很多英雄,每种英雄有很多属性,请用我们学过的l...
    一日歌阅读 5,366评论 1 6
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,314评论 4 61
  • 起点就是终点 无论骑出多远 灯火阑珊里 望目光可及处 看曾几何时那少年 冒着暴雨,冒着酷暑 用力骑着车 去追自己的...
    东芸依一阅读 1,027评论 0 0
  • 一 苦楚的味道 那香的 有些隽永 岁月流逝 不是流入了故事 而是故事带动了生命 二 当人如果在大自然里 ...
    一水妙云阅读 1,111评论 0 1