您的位置是:少儿编程网>Scratch编程教程Scratch编程教程

Scratch小游戏(9):《仙剑奇侠传95》(09)教程

少儿编程网2021-01-06 18:24:49Scratch编程教程 人已围观 来源:少儿编程 -用户投稿

简介
《仙剑奇侠传Windows95版》、《仙剑奇侠传98柔情篇》:也就是真正的“仙剑95版”,1997年出品。仙剑98柔情篇是大宇于同年在大陆推出的仙剑Win95版之相应简体版,首发于1997年10月,这一版本也是在中国大陆流传得最广的仙剑一。游戏画面看上去和DOS版并无太多区别;增加了数个AVI动画;增加了四首CD音轨,背景音乐由DOS内默认的FM音源(即RIX格式)变为MIDI格式。部分迷宫地图作了一定简化,少量对白被更改,我方法术习得等级降低、BOSS生命降低。此外,所有道具加入了文字说明,这一点是

《仙剑奇侠传Windows95版》、《仙剑奇侠传98柔情篇》:也就是真正的“仙剑95版”,1997年出品。仙剑98柔情篇是大宇于同年在大陆推出的仙剑Win95版之相应简体版,**于1997年10月,这一版本也是在中国大陆流传得**广的仙剑一。游戏画面看上去和DOS版并无太多区别;增加了数个AVI动画;增加了四首CD音轨,背景音乐由DOS内默认的FM音源(即RIX格式)变为MIDI格式。部分迷宫地图作了一定简化,少量对白被更改,我方法术习得等级降低、BOSS生命降低。此外,所有道具加入了文字说明,这一点是非常实用的改进。OJd少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

想再次重温、怀旧的朋友可在后台回复‘游戏下载’获取游戏下载链接OJd少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

以上内容可以忽略,本期的副标题:《NPC对话内容存储与显示》OJd少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

<a href=http://www.pxcodes.com target=_blank class=infotextkey><a href=http://www.pxcodes.com/ScratchJr/ target=_blank class=infotextkey>Scratch</a></a>小游戏(9):《仙剑奇侠传95》(09)教程OJd少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

如何实现与不同的NPC对话,显示不同的内容呢?用什么数据结构来实现呢?我采用的是链表。用每一个链表来存储每一组对话内容。OJd少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

首先用一个列表来存放所有NPC的对话内容,顺序没有要求,这个列表作为链表节点的值域(value)。OJd少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

Scratch小游戏(9):《仙剑奇侠传95》(09)教程OJd少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

接下来用一个列表来存放链表节点的指针域(next),none表示空值,它与对话文本列表是一一对应的。OJd少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

Scratch小游戏(9):《仙剑奇侠传95》(09)教程OJd少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

**后还要构建一个列表用来存放链表的头指针(head),这个列表1~100用来存放静止NPC的对话链接的头指针,从101开始存放移动NPC的对话内容链接的头指针,以#用来分割在某一事件下的头指针,也就是说在普通情况下对话的头指针是#左边的值,如果触发了一个故事情节事件,NPC的对话内容会发生改变,那么头指针就会是#右边的值。OJd少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

Scratch小游戏(9):《仙剑奇侠传95》(09)教程OJd少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

当我们触发一个NPC对话事件后,先得到当前NPC的前缀名称,然后调用对话方法获取两个参数:NPC_name(用来确定大头贴)和NPC_dialog_index(存放当前NPC对话内容链表的头指针,当然了这个数据需要再次解析才能获取到真正的对话内容的头指针)

Scratch小游戏(9):《仙剑奇侠传95》(09)教程OJd少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

Scratch小游戏(9):《仙剑奇侠传95》(09)教程OJd少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

  解析获取到真正的对话内容链表的头指针_head

Scratch小游戏(9):《仙剑奇侠传95》(09)教程OJd少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

接下来通过_head的指向读取到第一句对话内容的索引号,显示出来,根据这个节点其对应的next指针获取到下一句话的索引号,以此类推,直到next为none时,对话结束。在这个过程中还要及时的将每一句话的人的前缀名称传递给大头贴角色用来即时显示相关的大头贴造型。OJd少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

Scratch小游戏(9):《仙剑奇侠传95》(09)教程OJd少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

大头贴角色的代码呢,首先将该角色下的所有造型名称写入列表OJd少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

Scratch小游戏(9):《仙剑奇侠传95》(09)教程OJd少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

根据传递过来的NPC_name替换相应的大头贴造型,没有的显示空(none)造型OJd少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

Scratch小游戏(9):《仙剑奇侠传95》(09)教程OJd少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

 OJd少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

 OJd少儿编程网-Scratch_Python_教程_免费儿童编程学习平台

来源  嘻嘻哈哈学编程OJd少儿编程网-Scratch_Python_教程_免费儿童编程学习平台


相关文章:

支持一下 ( )

Scratch小游戏(9):《仙剑奇侠传95》(09)教程

      匿名评论
    • 评论
    人参与,条评论
    少儿编程网

微信公众号

免费视频教程

先知道