《拼字》游戏软件说明文档

2018-09-17 周一 by 黄复雄.

现行《拼字》游戏软件说明文档

对应字

字头后列出对应字,包括繁体、异体和作部件时的变体,比如:

  • 干 => ~{𢧀}(乾3)[乹亁]{𠄄𠄊𠄋𨺩𣦖漧𠃵𠄃}(幹)[榦]{𠧄𩩃䯎}
  • 人 => {𠔽𤯔几儿}〈亻𠆢〉
  • 了 => ~(瞭1)〔暸〕

其中:

  1. ~()[]中的,分别是《通用规范汉字表》认定的传承字(~,即同形的“干、了”)、繁体字(乾3、幹、瞭1,数字3、1是注释号码)、异体字(乹、亁榦)。
  2. {}中的,如{𢧀}{𠄄𠄊𠄋𨺩𣦖漧𠃵𠄃}{𠧄𩩃䯎}{𠔽𤯔几儿},是根据《汉语大字典》、台湾《异体字字典》等资料补充的异体字(在前面出现过的不再列出)。
  3. 〔〕中的,如〔暸〕,是字头对应的《说文》《说文段注》《康熙字典》字头(在前面出现过的不再列出)。
  4. 〈〉中的,如〈亻𠆢〉,是字头作部件时的变体(在前面出现过的不再列出)。

在移动端,因字体限制而不显示第二类(补充的异体字)、第三类(补充的字典字头)。

主要版本变迁

2019-1-23 v1.1.0

增加分级字表配置选项。只能拼出选定字表内的字。按《通用规范汉字表》分为三挡:

  1. 3500字,对应于一级字表,适用于小学生、初中生;
  2. 6500字,对应于一二级字表,适用于高中以上普通用户;
  3. 8105+字,对应于一、二、三级字表,并增加少量同一部件堆叠字,适用于文字爱好者。

2019-1-11 v1.0.0

拼字游戏在微信发布。

qrCode

旧版《拼字》游戏软件说明文档

说明:此文档本为《拼字》游戏软件著作权登记准备,今作软件说明之用。

宗旨

这是针对汉字爱好者的,有汉字知识普及作用的益智休闲游戏,把通用规范汉字的字形结构、字理、字源、古字形、字音等知识融入游戏中,以寓学于乐。

功能与操作

开局逻辑

软件启动时,根据用户的历史数据(最初一局预设难度系数/取字范围是2000)自动开局。

根据自适应规则计算得出的难度值确定取字范围,在此范围内随机取出4个字分拆成部件,去除重复者;在《通用规范汉字》范围内计算这些部件能拼成哪些字,每拼成一个字即作为可用的部件,再重新计算,如此穷尽地算出所有能拼成的字。

游戏场景

在游戏场景中把最初的部件显示出来,即部件/字头精灵;某个部件能拼成的字则用图片在此部件后预先占位留空(每个字只在它的一个部件后留空),以便给用户提供线索,降低难度。开局时的场景布局如下:

  • 开局时的游戏场景

开局

①软件标识 ②部件/字头精灵 ③字头占位留空 ④文字显示区域 ⑤综合控制场景按钮 ⑥提示按钮 ⑦本局分数或网络状态显示区域

  • 微信版开局(启动后第一局)

微信版开局(启动后第一局)

拼字动作

显示出来的所有部件/字头精灵,点击时以动画形式掉落到场景下边中部的拼字区域;拼字区域有两个以上部件时计算能否拼字,能则在预设的占位图片上方显示拼成的字,这个字也可以用于拼字。

  • 拼字成功

拼字成功

拼字成功则显示新字的拼音、变体、繁体、异体等简单信息,更新得分信息,显示粒子效果和音效(须用户主动开启)。

同一组部件可拼成多个字时,会自动生成所有字。

  • 拼字失败

拼字失败

拼字失败则显示文字提示,显示火焰效果,播放音效(须用户主动开启)。

  • 等待状态

等待状态

三个以上部件能拼字时,全部部件掉落到拼字区域前为等待状态,并有文字提示。

使用提示

点击场景右下角的提示按钮,软件将模仿用户点击部件/字头精灵的动作,把余下可能拼成的字逐个拼出。

查看汉字信息

  • 汉字信息

汉字信息

在字头/部件精灵上划动(动作起止都要在字头图片范围内),则可查看汉字信息,包括拼音/部件名称、变体、繁体、异体等,以及清段玉裁《说文解字注》、或汉许慎《说文解字》、或清《康熙字典》对本字及其变体、繁体、异体的解释和今人根据它们的字音折算而成的汉语拼音。

没有信息则留空。

终局-新开局

使用者可随时结束一局,同时即新开一局。方法是点击游戏场景左下角的按钮,打开综合控制场景,再点击“新”字按钮。

只要本局有拼字动作,终局-新开局时将统计本局数据,并计入历史数据。

如果本局没有拼字动作,则忽略不计。

综合控制场景

  • 综合控制场景

综合控制场景(非微信版)

综合控制场景包括数据统计、声音设置、终局-开局等功能。

  • 综合控制场景(微信版)

综合控制场景(微信版)

微信版的综合控制场景另有转发、排行榜、游戏圈等社交功能

计分逻辑和数据统计

当场游戏得分即时、简单地显示在游戏场景下部。游戏中可随时打开综合控制场景,其中有更详细的统计数据,包括得分、拼字错误次数、提示按钮使用次数。

  • 字面得分

拼成一个字的字面得分是根据这个字的部件数量n计算的,公式为2^n。比如“品”字由3个“口”拼成,所以拼成“品”得分为2^3 = 8。

  • 字面得分的分数形式

字面得分与全局最大的可能得分的比值,则是字面得分的分数形式。

  • 综合得分

综合得分是字面得分的分数形式与取字范围(难度系数)的乘积。

  • 取字范围(难度系数)

综合考虑社会上流行的各种字表和字频统计数据,把《通用规范汉字表》由常用到不常用排序。开局时从字表前n个字中随机提取4个字供部件拆分,n即取字范围(难度系数)。实际拼成的字很可能超出此范围,难度系数暂未考虑此一因素。

  • 历史平均数据

综合控制场景中另有此前所有各局平均的得分、取字范围(难度系数)。

  • 错误数

拼字错误次数不影响得分,但影响下一局的取字范围(难度系数)。

自适应调整难度

软件根据本局的取字范围(难度系数)、得分、拼字错误次数,综合计算,自适应地调整下一局的取字范围(难度系数),从而使使用者能尽快地获得难易适中局面,然后保持稳健的前进或后退步伐。

目前的规则是:每个拼字错误计-2分,拼字错误负分与成功分合计后换算成分数,此值在大于等于0.6与小于0.8时之间时,步进取基本值50字;同一方向连续第n次步进,则下一个步进量为当前步进量的n倍。

本计算方法经后会有根本调整。

声音控制

本游戏备有两组背景音乐和动作音效。使用者必须主动选择一组背景音乐,才能开始播放。

动作音效开关是对最近一次选择的背景音乐之配套音效的控制,所以必须事先选择过一次背景音乐才能生效。

微信版的社交功能

  • “转”字按钮,可打开微信的转发功能
  • “榜”字按钮,可打开排行榜场景

排行榜(微信小游戏)

  • 微信游戏圈按钮,可打开微信游戏圈

材料

字表依据

  • 字表以国务院《通用规范汉字表》(2013)为基础,并参考教育部《义务教育语文课程标准(2011)》附录4、5《识字、写字教学基本字表》《义务教育语文课程常用字表》,国家语委、国家教委《现代汉语常用字表》(1988)。
  • 此外加入了30多个趣味性较强的同部件堆叠而成的字,如“吅、𠱠、㗊”。
  • 字表排序先据参考字表的难易定性先后分组,然后各组根据多种字频统计数据排序。

部件规则

  • 部件拆分规则主要参考国家语委《基础教学用现代汉语常用字部件规范(征求意见稿)》(2003)。
  • 部件拆分在“合于字理”“字形显明”“局部统一”三条原则之间争取平衡。
  • “合于字理”:如“必”拆为“八弋”。有个别为合于字理而违反字形结构的,如“卡”拆为“上下”,“甩”拆为“用乚”,“周”拆为“用口”,“丝”拆为“纟纟”,“所”拆为“户斤”。
  • “字形显然”:如“犬”拆为“大丶”,“令”拆为“今丶”。
  • “局部统一”:“比”拆为“匕匕”,则“切”拆为“七刀”。
  • 明显的变形只以正体为代表,如“土”和提土旁,“有”分成“月”;结构变化较大的变体则分立,如“钅”与“金”。
  • 涉及常用字、常用部件时更偏向有字理根据一边,比如“族、旌、旗、旒、施”等都拆分出“㫃”;不常用部件则偏向字形一边,如“善”拆分为“羊、䒑、口”而不是“羊、言”。
  • 尽量采用二分法,如“器”分为“㗊、犬”,“㗊”分为“吅、吅”,以增加拼字的层次(避免多字一次拼成),或降低判断的难度;但涉及常用字、常用部件时仍优先考虑字理,如“品”字分为“口、口、口”,而不是“口、吅”。目前三拼以上的有110多字。
  • 最终部件尽量成字,不能成字时则在符合字理、尽量减少不成字部件总量、尽量避免三个以上部件拼合三个原则之间争取平衡。如“皮”不再分拆。本软件实际使用500余个字表外的成字部件,150余个不成字部件。

文字信息

  • 相关字(变体、繁体、异体)数据依据国务院《通用规范汉字表》(2013),并有相当补充。
  • 字典信息优先取《说文解字注》,其次取《说文解字》,再次取《康熙字典》。三种文本均据网络资料整理而成。
  • 《说文》的小篆字形根据北京师范大学小篆字体整理而成。小篆字形在文本中的位置暂为标出,除第一个是字头外,其余需根据上下文判断。

背景音乐和音效

  • 第一组是软件著作权人约请艺术家创作的,自有版权
  • 第二组是根据公版作品管平湖的《广陵散》制作而成

美术设计

  • 界面美术元素和整体设计均为自有版权。

技术实现

客户端

  • 本软件客户端使用Typescript、JavaScript语言;
  • 基于Egret(白鹭)游戏引擎开发;
  • 可发布为微信小游戏、浏览器H5游戏、安卓APP、苹果iOS系统APP、Facebook游戏等多种平台形式。

服务器端

  • 服务器端使用Python语言和Flask框架,uWSGI和Nginx服务;
  • 字表、部件、文字信息等在服务端预制,游戏时请求获取;
  • 浏览器H5版和其他静态图文资料,在服务器端由Nginx提供服务。

Fork me on GitHub