白族“围签”电子网络游戏的设计与实现方法

2022-09-26 04:19昆明捷成斌文化传播有限公司王嘉秀楠
数字技术与应用 2022年9期
关键词:骰子点数规则

昆明捷成斌文化传播有限公司 王嘉秀楠

围签是一种流行于云南省大理白族自治州部分地区的传统概率型游戏。大理作为云南省的历史文化名城,根据有关资料记载:早在公元7世纪中叶洱海流域就已繁衍出了强大的地方民族部落[1]。在地方传说里到了南诏、大理国时期围签已经出现并流行开来。此游戏以“围猎”为原型,是白族人民集体创造的智慧结晶,游戏中蕴含着的丰富数学知识无疑是白族民众日常生活中最好的“思维训练器”。而随着科技的进步,人民生活条件的不断提高,一直以来在民间埋没的围签必须顺应时代的发展,从现实走向虚拟,才能得到普及和广泛的认可。因此,笔者设计了一款围签电子网络游戏,且叙述了围签的游戏基本规则和发展历史,以及该游戏的开发设计基本过程和实现方法。主要实现如:开始游戏、扔骰子、输赢计算等功能。

在科技日新月异,全球化的大背景下,人们生产生活不断提高,娱乐活动也越加丰富,而一些如围签一样的传统游戏已经陷入失传的风险当中。因此围签需要发展和进步,通过JavaScript的基本编程方法[2]和互联网等新兴技术相结合则可以实现跨平台游玩,增加趣味性,这样才能被广泛认知和走向国际。

1 围签的历史

围签属于白族民间的一种传统概率型游戏,有着较为悠久的历史以及文化底蕴。围签的发源地大理作为我国西南重要的文化中心,素来就有“文献名邦”的美誉。在公元7世纪下半叶大理一带的社会经济取得了较大的发展,出现了一些具有特殊性质的城邑聚落[3]。到了公元8世纪在蒙舍诏首领皮逻阁的带动下建立起了南诏国[4],而大理一带则成为了南诏国重要的政治、经济、文化中心。由于南诏国地处我国西南古代的重要经商要道之上,可以说是通往东南亚的咽喉要道,所以其商贸颇为发达,而围签这样的概率型游戏则成为了最好的“数学课本”。围签中蕴含着我国传统的数学知识,比如其中的支数和柱数就是根据《易经》像数原理设计的。又因为这种游戏以少数民族地区流行的围猎活动为基础,生动形象,可谓是从老至少人人皆爱。到了公元10-11世纪,由于大理国采取一系列重视国家经济的举措,人民安居乐业,围签也成为了一种广泛流行的游戏。明代时随着云南一带商帮的发展围签又成为了民间最好的“思维训练器”,并且逐步演变成了一种传统文化,每逢春节的时候白族民众都喜爱聚在一起游玩。围签作为一种融吉庆、欢乐、休闲、数学等因素为一体的游戏,拥有非常丰富的文化内涵,是白族先民把人和自然关联的创造性民俗活动,可以说它极具价值。但随着时代的发展,人民娱乐生活得越加丰富,围签这种游戏就开始显得有那么一些跟不上时代了,游玩的人数越来越少甚至已经陷入失传的风险之中。不过幸运的是随着互联网技术的发展,我们可以通过技术手段,把这种游戏从现实搬入到虚拟世界中,向更多人普及和推广这种即将失传的民族游戏。

2 围签的基本规则

围签牌一般由竹子制成,总共有134支牌签,并分别设有十种动物,每种动物代表不同柱数。分别为:老狮子1支,代表64柱;老虎2支,每支代表32柱;豹子4支,每支代表16柱;顺1支,代表16柱;狗2支,每支代表12柱;鹰4支,每支代表10柱;马鹿8支,每支代表8柱;獐子16支,每支代表4柱;兔子32支,每支代表2柱;小鸡64支,每支代表1柱;总共为528柱。

游玩大概在2-10人左右,并准备6颗骰子用于掷于大碗中看点数,6颗骰子组合出的不同点数代表可得到不同动物。首先谁掷出的单个骰子点数大谁就是开局者;其次游戏分为正掷和分掷两个过程。正掷时掷出不同的点数组合代表该玩家获得不同的动物签,例如:掷出1颗红4点可获得一支小鸡签;掷出2颗红4点可获得一支小兔签;掷出4颗幺点可获得一支狗签等。要想获得柱数多的猛兽,6颗骰子的组合就越复杂,得到的概率也就越低。

当游戏中获得概率高的小鸡和兔子全部被玩家分完,如还剩下其他动物签未分完时则进入分掷阶段,此阶段则通过放宽条件获得动物签。如:原本需要掷出3颗4点,或者2颗4点的同时有两对不同点黑面的就可得一支马鹿签,而在分掷阶段只需掷出2颗4点即可再掷一次,第二次中有1颗4点就可得马鹿签。但需要注意的是,第二次掷时若出现其他动物签,甚至是大型猛兽签都是不算数的。

桌面上所有的牌签分完以后,计算每个人所得的柱数,柱数最多者即为赢家,并可成为下一局的开局者。

同时有以下特殊情况:如有掷出6颗红4点的玩家可获得桌面上所有牌签,包括别人已获得的牌签,并且获得胜利。若掷出6颗同点黑面的骰子则桌面上剩余的所有牌签都归掷出者。在分狮子时掷出123456的顺色面按照规则可再掷一次,再掷一次后又掷出顺色面则按照掷出6颗红4点处理[5]。

需要注意的是以上规则只是较为流行的一种规则,在一些地区可能略有差异,但大体而言都不会偏离太多。此游戏设计也将会按照以上规则进行。

3 总体设计方案

软件的总体设计结构,如图1所示。

图1 游戏设计结构图Fig.1 Game design structure diagram

3.1 游戏模式选择

进入主界面后玩家可以选择单人模式、多人模式、网络对战三个模式。

单人模式下将会提供1-10个AI和玩家对战并轮流掷骰子。

多人模式最多可以提供10个空位。有2人即可开始游戏。开始游戏后玩家通过同一设备进行对战。

网络对战则依托于云服务器技术,开始后在30s内匹配1-10个在线玩家,匹配过程中使用计数器并开始倒计时,倒计时有动画以及数字提示以减少玩家等待过程中的乏味,当成功匹配到玩家时就可开始对战,对战结束后则将玩家游玩的结果记录至数据库当中。

游戏模式选择以及游戏主界面的背景则使用JS动画进行模拟以增加整体美观度。同时还可由玩家自由选择开关游戏背景音乐,使得游戏更加丰富多彩。

3.2 游戏开始与游戏基本规则

游戏开始后可以通过基本的parseInt(Math.random()×(6-1+1)+1,10);来模拟骰子点数[6],按照玩家或者AI掷出数字大小确定游戏中后续阶段掷骰子的顺序,具体排序方法为创建一个函数,负责对玩家掷出骰子的数据进行冒泡排序并将结果返回,掷出点数越大的玩家或者AI则在游戏后续阶段中越先掷骰子,此后每一轮都按照该顺序来掷出骰子,直到游戏结束。在出现相同点数的情况下则由计算机通过随机数方法在后台模拟出1-10范围内的随机数,如果数值在1-5范围内则优先掷骰子,这样就可以保证玩家在掷出相同点数时有50%的概率拿到优先权。其中掷骰子等过程则是通过简单的JS动画来进行实现,这样就可以更多地增加游戏趣味性。

3.2.1 正掷阶段

此阶段中按照围签正掷阶段规则进行,可以通过随机数模拟骰子点数。如掷出与动物相对应的点数则该玩家或者AI获得的柱数增加,实现过程则采用逻辑判断,例如当玩家或者AI掷出一颗红4点时就可和所有红4点可得的条件进行判断,如无法和所有大于1柱的动物条件相匹配则获得一支小鸡签。获得动物画面则使用语音提示以及动画效果增强游戏互动性。如果玩家没有达到任何获得动物签的条件,则用文字以及语音提示“落空了”。

3.2.2 分掷阶段

当判断场上无任何小鸡以及兔签时则进入此阶段,此阶段中按照分掷规则进行,如掷出对应点数则该玩家或者AI可以获得柱数增加。进入该阶段时拥有语音以及文字提示,用以提醒玩家注意游戏阶段的改变,进入后则在后台调用相关的分掷规则函数。分掷阶段对于获得动物签的基本判定原理和正掷阶段类似,但多增加一个条件判断语句用以检验玩家或者AI是否可以再掷一次。例如玩家或者AI掷出2颗4点时则对全场提示该玩家和AI可以再掷一次。获得动物和落空时采用和正掷阶段相同的动画进行提示。

3.2.3 特殊情况

在玩家或者AI掷骰子的过程中,都对是否掷出特殊情况进行优先的逻辑判断,如掷出上文中所描述的特殊情况则按照上文规则决定柱数增加或者减少,以及胜负,为了保证游玩体验在单人模式下如出现影响胜负的特殊情况则玩家可以选择撤回并重新掷一次。

3.3 中途退出的判定

在游戏界面右上角将会给玩家提供中途退出的按钮,玩家点击后将会用调用一个警告框来提示玩家是否确认退出游戏,这样可以最大限度地防止玩家在游戏过程中因为误触而退出游戏。如果玩家点击确认即可退出游戏。单人模式或者多人模式退出后不计算胜负。网络对战中如果超过1min未掷骰子则按照中途退出处理。网络对战中如果中途退出,则算失败,并且拥有的所有柱数返还至场上,参与人数进行减一处理。

3.4 胜负计算

胜负结算时则按照传统规则即十个玩家或者九个AI一个人的情况下超过53柱则为胜利;九个玩家或者八个AI一个人的情况下超过59柱则为胜利;八个玩家或者七个AI一个人的情况下超过66柱则为胜利;七个玩家或者六个AI一个人的情况下超过75柱则为胜利;六个玩家或者五个AI一个人的情况下超过88柱则为胜利;五个玩家或者四个AI一个人的情况下超过105柱则为胜利;四个玩家或者三个AI一个人的情况下超过132柱则为胜利;三个玩家或者二个AI一个人的情况下超过176柱则为胜利;二个玩家或者一个AI一个人的情况下超过264柱则为胜利;未达到以上条件者则算失败。游戏结束后通过获取每个玩家柱数进行从大到小的排名,让玩家获得更好的竞争体验。如果出现特殊情况则按照3.2.3中提到的特殊情况处理。

3.5 胜率的计算

在网络对战模式下得益于现在云计算以及云服务器这样的多重分布式计算资源进行协同工作的全新互联网模式[7],游戏可将玩家胜利或者失败记录以及总的游玩数记录在云数据库当中,并且将玩家的胜利数和总游玩数相除从而得到玩家的胜率,这样的措施可以激起玩家对游戏的兴趣,最大程度留住玩家。

4 结语和展望

围签作为我国传统民族文化的一部分,需要积极保护和传承并且提高普及度。在娱乐生活越来越丰富的今天,包括围签在内的诸多传统游戏已经逐渐跟不上时代的步伐,因此创新才是唯一的出路。但和诸多地方民族传统运动以及游戏一样,围签不可局限于少数地区乃至一个民族的内部。因此围签需要放眼全国乃至全球,以吸引更多的人前来感受我国传统民族文化的奥妙和精髓。同时在发展过程中应当顺应时代的潮流,符合时代发展规律,遵循时代特色精神,使得其更具有独特民族的风格,并在丰富人民群众精神和文化生活的同时促进民族团结和民族地区旅游业以及社会经济、文化、艺术的发展,以便更好地建设和宣传我国的传统民族文化。

引用

[1] 梁晓强.南诏史[M].北京:中国社会科学出版社,2013.

[2] 吴以欣,陈小宁.JavaScript脚本程序设计[M].北京:人民邮电出版社,2005.

[3] 何耀华.云南通史[M].北京:中国社会科学出版社,2011.

[4] 段玉明.南诏大理文化史[M].桂林:广西师范大学出版社,2018.

[5] 张镇泰.“打围”喜洲人的思维体操[J].大理文化,2010(8):82-84.

[6] [美]马特·弗里斯比.JavaScript高级程序设计(第4版)[M].北京:人民邮电出版社,2020.

[7] 吴吉义,平玲娣,潘雪增,等.云计算:从概念到平台[J].电信科学, 2009(12):23-30.

猜你喜欢
骰子点数规则
数独的规则和演变
看不到的总点数
让规则不规则
TPP反腐败规则对我国的启示
画点数
破解“心灵感应”
多核并行的大点数FFT、IFFT设计
测测你的空间智力
点子的排列方向