首页 理论教育 使用Elixir创建角色的结构体

使用Elixir创建角色的结构体

时间:2023-11-20 理论教育 版权反馈
【摘要】:游戏角色在整个程序中将保持一致,因为结构体不允许在其定义之外添加新属性。Character结构体将位于DungeonCrawl游戏的命名空间下,存放在dungeon_crawl文件夹中。在文件character.ex定义角色结构体:模块Character存在于DungeonCrawl命名空间里。我们使用defstruct指令创建角色结构体,并传入一个关键字列表,其中键是属性名称,值是初始化结构体时的默认值。我们知道了如何创建结构体、定义属性、完成初始化。

使用Elixir创建角色的结构体

我们将构建一个包含游戏角色所有属性的结构体。游戏角色在整个程序中将保持一致,因为结构体不允许在其定义之外添加新属性。让我们按如下路径创建一个文件character.ex,用于存放结构体。

构建Elixir应用程序时,将所有模块和相关代码放在项目的命名空间下是一个好习惯。Character结构体将位于DungeonCrawl游戏的命名空间下,存放在dungeon_crawl文件夹中。在文件character.ex定义角色结构体:

模块Character存在于DungeonCrawl命名空间里。我们使用defstruct指令创建角色结构体,并传入一个关键字列表,其中键是属性名称,值是初始化结构体时的默认值。让我们看看每个属性的作用:

● name是用于区分不同角色的名称;

● description描述角色的优点和缺点;

● hit_points是玩家当前的生命值;

● max_hit_points是角色可以拥有的最高生命值;(www.xing528.com)

● attack_description描述角色的攻击方式;

● damage_range角色的攻击值的范围。

让我们在IEx中尝试初始化结构体。我们可以运行Mix任务来自动加载所有模块。在dungeon_crawl目录中运行以下命令:

标志-S告诉IEx在启动时运行脚本;传递mix将运行项目的Mix任务,它会编译和加载项目模块。现在我们可以用结构体创建角色了。

我们知道了如何创建结构体、定义属性、完成初始化。结构体允许我们定义一组属性,用来代表领域实体。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈