原文:《RPG建筑基础& # 8211;编码俱乐部隋系列#5”由隋基金会
编译:隋世界
隋基金会与Encode Club合作,提供了一系列以开发者为中心的教育视频。这个系列有六个视频,从Sui的基础知识到构建智能合约和在Sui Move中使用对象的教程。之前的视频参考隋世界推文。
本教程将向我们展示如何创建角色扮演游戏(RPG)的角色和道具,以及如何使它们进行互动。不要错过!详情点击“阅读原文”查看视频。
学习亮点
由于Sui Move的以对象为中心的编程模型及其可扩展性,Sui有望成为第一个真正将web2体验交付给web3(包括游戏)的区块链。游戏编程本来就很复杂,需要强大的基础设施来确保玩家的无缝体验。由于Sui Move的以对象为中心的编程模型及其可扩展性,Sui可以迎接挑战。
我们来看一下《隋动》中链条上RPG的编码例子。下面的例子改编自Sam Blackshear的hero.move代码。
https://github . com/mysten labs/sui/blob/main/sui _ programmable/examples/games/sources/hero . move?ref=blog.suifoundation.org
上面的代码定义了我们的可玩角色。从它的领域可以看出,这个英雄可以和角色扮演游戏中的其他角色相提并论。它有HP,有经验,有库存。
上面的代码显示了我们英雄的剑。请注意,这把剑有钥匙和储物能力。回顾本系列前面的课程,key意味着它是可以存在于顶级存储中的自有资产。这个类别中的移动对象也可以从外部API访问,从而为Sui在多个游戏中使用物品创造了独特的可能性。而存储意味着这个对象可以自由打包和转移。
以上,我们定义了游戏中的野猪、NPC或者敌人。类似于其他这种类型的游戏,我们可以为我们的英雄创造NPC来战斗和获得经验,或者购买物品和接受任务。
行动
上面代码中显示的操作描述了slay函数。在高层次上,这个函数首先检查以确保英雄和野猪属于同一个游戏实例。然后英雄和野猪发生了决斗,检查确定英雄的HP不能为零。决斗结束后,英雄获得与野猪成比例的经验值,英雄的剑的力量增加1(如果英雄用剑的话)。最后,该函数发出一个事件BoarSlayEvent。Sui Move中的事件允许索引器跟踪链上的动作,这是实现普遍认可的对象状态的重要手段。
上面的代码示例简要摘录了Sam的hero.move代码。这段代码为Sui上的游戏开发者提供了一个很有价值的范例,而且既然是开源的,请随时Fork,自建游戏!
本网站声明:网站内容来源于网络。如有侵权,请联系我们,我们会及时处理。
温馨提示:注:内容来源均采集于互联网,不要轻信任何,后果自负,本站不承担任何责任。若本站收录的信息无意侵犯了贵司版权,请给我们来信,我们会及时处理和回复。
免责声明:本文为转载,非本网原创内容,不代表本网观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
如有疑问请发送邮件至:goldenhorseconnect@gmail.com