一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于PHP的2048游戏的数据处理方法、系统、装置和介质与流程

2022-06-12 00:23:45 来源:中国专利 TAG:

基于php的2048游戏的数据处理方法、系统、装置和介质
技术领域
1.本技术涉及游戏技术领域,特别是涉及一种基于php的2048游戏的数据处理方法、系统、装置和介质。


背景技术:

2.随着互联网技术的不断发展,前端语言的层出不穷、迭代更新,使得游戏开发变得更加的方便快捷。
3.现有2048游戏大多使用前端语言编写,算法相对简单,而且在前后端交互的过程中,容易出现用户跳过前端算法,进行恶意数据伪造请求,篡改真实数据,影响数据的真实性。对游戏的公平性造成很大的影响。
4.目前针对相关技术中前端语言编写的2048游戏容易出现数据伪造、数据篡改的问题,尚未提出有效的解决方案。


技术实现要素:

5.本技术实施例提供了一种基于php的2048游戏的数据处理方法、系统、装置和介质,以至少解决相关技术中前端语言编写的2048游戏容易出现数据伪造、数据篡改的问题。
6.第一方面,本技术实施例提供了一种基于php的2048游戏的数据处理方法,所述方法包括:
7.采用php语言编写2048算法逻辑,将所述2048算法逻辑的程式部署在后端服务器中;
8.通过前端生成游戏交互数据,将所述游戏交互数据发送到所述后端服务器,其中,所述游戏交互数据包括向上移动指令、向下移动指令,向左移动指令和向右移动指令;
9.根据所述游戏交互数据,通过所述后端服务器执行所述2048算法逻辑生成响应数据,将所述响应数据返回给所述前端。
10.在其中一些实施例中,根据所述游戏交互数据,通过所述后端服务器执行所述2048算法逻辑包括:
11.通过所述后端服务器生成预设大小的二维数组棋盘,并在所述二维数组棋盘中生成预设等级的数据值;
12.根据所述游戏交互数据逐行遍历所述二维数组棋盘,若存在数据值,则将所述数据值记为cell;
13.寻找所述cell在移动方向上可移动到的最远空位置并记为farthest,判断所述farthest在所述移动方向指向的相邻位置是否存在;
14.若存在,则判断所述相邻位置的数据值与所述cell的等级是否相同,若相同,则合并所述数据值与所述cell生成下一等级的数据值并移动到所述相邻位置,若不相同,则直接将所述cell移动到所述farthest;
15.若不存在,则直接将所述cell移动到所述farthest。
16.在其中一些实施例中,所述方法还包括:
17.通过所述后端服务器生成预设大小的二维数组棋盘,并在所述二维数组棋盘中生成预设等级的数据值;
18.根据所述游戏交互数据,通过矩阵旋转对所述二维数组棋盘进行旋转,将所述游戏交互数据简化成单一方向移动指令;
19.根据所述单一方向移动指令,逐行遍历旋转后的二维数组棋盘,若存在数据值,则将所述数据值记为cell;
20.寻找所述cell在所述单一方向上可移动到的最远空位置并记为farthest,判断所述farthest在所述单一方向指向的相邻位置是否存在;
21.若存在,则判断所述相邻位置的数据值与所述cell的等级是否相同,若相同,则合并所述数据值与所述cell生成下一等级的数据值并移动到所述相邻位置,若不相同,则直接将所述cell移动到所述farthest;
22.若不存在,则直接将所述cell移动到所述farthest;
23.再通过矩阵旋转对所述二维数组棋盘进行逆向旋转。
24.在其中一些实施例中,采用php语言编写2048算法逻辑包括:
25.采用php语言编写棋盘初始化、棋盘重置、棋盘位置生成随机数字、矩阵旋转、数字移动和数字合并的算法逻辑,其中,所述矩阵旋转用于旋转二维数组棋盘,将游戏交互数据简化成单一方向移动指令。
26.第二方面,本技术实施例提供了一种基于php的2048游戏的数据处理系统,所述系统包括算法部署模块、指令传输模块和算法执行模块;
27.所述算法部署模块采用php语言编写2048算法逻辑,将所述2048算法逻辑的程式部署在后端服务器中;
28.所述指令传输模块通过前端生成游戏交互数据,将所述游戏交互数据发送到所述后端服务器,其中,所述游戏交互数据包括向上移动指令、向下移动指令,向左移动指令和向右移动指令;
29.所述算法执行模块根据所述游戏交互数据,通过所述后端服务器执行所述2048算法逻辑生成响应数据,将所述响应数据返回给所述前端。
30.在其中一些实施例中,所述算法执行模块根据所述游戏交互数据,通过所述后端服务器执行所述2048算法逻辑包括:
31.所述算法执行模块通过所述后端服务器生成预设大小的二维数组棋盘,并在所述二维数组棋盘中生成预设等级的数据值;
32.所述算法执行模块根据所述游戏交互数据逐行遍历所述二维数组棋盘,若存在数据值,则将所述数据值记为cell;
33.所述算法执行模块寻找所述cell在移动方向上可移动到的最远空位置并记为farthest,判断所述farthest在所述移动方向指向的相邻位置是否存在;
34.若存在,则判断所述相邻位置的数据值与所述cell的等级是否相同,若相同,则合并所述数据值与所述cell生成下一等级的数据值并移动到所述相邻位置,若不相同,则直接将所述cell移动到所述farthest;
35.若不存在,则直接将所述cell移动到所述farthest。
36.在其中一些实施例中,所述系统还包括:
37.所述算法执行模块通过所述后端服务器生成预设大小的二维数组棋盘,并在所述二维数组棋盘中生成预设等级的数据值;
38.所述算法执行模块根据所述游戏交互数据,通过矩阵旋转对所述二维数组棋盘进行旋转,将所述游戏交互数据简化成单一方向移动指令;
39.所述算法执行模块根据所述单一方向移动指令,逐行遍历旋转后的二维数组棋盘,若存在数据值,则将所述数据值记为cell;
40.所述算法执行模块寻找所述cell在所述单一方向上可移动到的最远空位置并记为farthest,判断所述farthest在所述单一方向指向的相邻位置是否存在;
41.若存在,则判断所述相邻位置的数据值与所述cell的等级是否相同,若相同,则合并所述数据值与所述cell生成下一等级的数据值并移动到所述相邻位置,若不相同,则直接将所述cell移动到所述farthest;
42.若不存在,则直接将所述cell移动到所述farthest;
43.再通过矩阵旋转对所述二维数组棋盘进行逆向旋转。
44.在其中一些实施例中,所述算法部署模块采用php语言编写2048算法逻辑包括:
45.所述算法部署模块采用php语言编写棋盘初始化、棋盘重置、棋盘位置生成随机数字、矩阵旋转、数字移动和数字合并的算法逻辑,其中,所述矩阵旋转用于旋转二维数组棋盘,将游戏交互数据简化成单一方向移动指令。
46.第三方面,本技术实施例提供了一种电子装置,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的方法。
47.第四方面,本技术实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的方法。
48.相比于相关技术,本技术实施例提供的一种基于php的2048游戏的数据处理方法、系统、装置和介质,采用php语言编写2048算法逻辑,将2048算法逻辑的程式部署在后端服务器中;通过前端生成游戏交互数据,将游戏交互数据发送到后端服务器,其中,游戏交互数据包括向上移动指令、向下移动指令,向左移动指令和向右移动指令;根据游戏交互数据,通过后端服务器执行2048算法逻辑生成响应数据,将响应数据返回给前端。解决了前端语言编写的2048游戏容易出现数据伪造、数据篡改的问题,实现了基于php的2048游戏后端数据处理,有效防止恶意的数据伪造请求,篡改真实数据,保证了游戏的公平性。
附图说明
49.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
50.图1是根据本技术实施例的基于php的2048游戏的数据处理方法的步骤流程图;
51.图2是根据本技术实施例的基于php的2048游戏的数据处理系统的结构框图;
52.图3是根据本技术实施例的电子设备的内部结构示意图。
53.附图说明:21、算法部署模块;22、指令传输模块;23、算法执行模块。
具体实施方式
54.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。基于本技术提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
55.显而易见地,下面描述中的附图仅仅是本技术的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本技术应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本技术公开的内容相关的本领域的普通技术人员而言,在本技术揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本技术公开的内容不充分。
56.在本技术中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本技术所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
57.除非另作定义,本技术所涉及的技术术语或者科学术语应当为本技术所属技术领域内具有一般技能的人士所理解的通常意义。本技术所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本技术所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本技术所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本技术所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本技术所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
58.本技术实施例提供了一种基于php的2048游戏的数据处理方法,图1是根据本技术实施例的基于php的2048游戏的数据处理方法的步骤流程图,如图1所示,该方法包括以下步骤:
59.步骤s102,采用php语言编写2048算法逻辑,将2048算法逻辑的程式部署在后端服务器中;
60.具体地,采用php语言编写棋盘初始化、棋盘重置、棋盘位置生成随机数字、矩阵旋转、数字移动和数字合并的算法逻辑,其中,矩阵旋转用于旋转二维数组棋盘,将游戏交互数据简化成单一方向移动指令。
61.步骤s104,通过前端生成游戏交互数据,将游戏交互数据发送到后端服务器,其中,游戏交互数据包括向上移动指令、向下移动指令,向左移动指令和向右移动指令;
62.步骤s106,根据游戏交互数据,通过后端服务器执行2048算法逻辑生成响应数据,
将响应数据返回给前端。
63.通过本技术实施例中的步骤s102至步骤s106,解决了前端语言编写的2048游戏容易出现数据伪造、数据篡改的问题,实现了基于php的2048游戏后端数据处理,有效防止恶意的数据伪造请求,篡改真实数据,保证了游戏的公平性。
64.在其中一些实施例中,步骤s106,根据游戏交互数据,通过后端服务器执行2048算法逻辑包括:
65.1.棋盘初始化、棋盘重置和棋盘位置生成随机数字。
66.通过后端服务器生成预设大小的二维数组棋盘,并在二维数组棋盘中生成预设等级的数据值。
67.具体地,通过后端服务器生成4*4的二维数组棋盘,并在二维数组棋盘的固定位置中生成4个等级一的数据值。
68.2.数字移动和数字合并。
69.根据游戏交互数据逐行遍历二维数组棋盘,若存在数据值,则将数据值记为cell。
70.具体地,游戏交互数据包括向上、向下、向左和向右四个方向的移动指令,若是向上移动指令,则从二维数组棋盘的上方开始逐行遍历,同理,向下指令则从下方,以此类推。若遍历到存在数据值,则将数据值记为cell。
71.寻找cell在移动方向上可移动到的最远空位置并记为farthest,判断farthest在移动方向指向的相邻位置(farthest-1)是否存在。
72.若存在,则判断相邻位置的数据值与cell的等级是否相同,若相同,则合并数据值与cell生成下一等级的数据值并移动到相邻位置,若不相同,则直接将cell移动到farthest。
73.若不存在,则直接将cell移动到farthest。
74.具体地,数字移动和数字合并的部分代码如下:
[0075][0076][0077]
优选地,因为数字移动和数字合并中,二维数组棋盘的遍历的方向取决于游戏交互数据的方向(向上、向下、向左和向右)。因此,编写矩阵旋转的算法逻辑,用于旋转二维数组棋盘,将游戏交互数据简化成单一方向移动指令。
[0078]
3.矩阵旋转。
[0079]
根据游戏交互数据,通过矩阵旋转对二维数组棋盘进行旋转,将游戏交互数据简化成单一方向移动指令。如:若要将游戏交互指令都转换成向左移动指令,则当用户输入向上移动指令时,需要通过矩阵旋转对二维数组棋盘进行逆时针旋转1次,即向上移动指令相
当于是向左移动指令,从左开始遍历二维数组棋盘进行数字移动合并,完成后再通过矩阵旋转对二维数组棋盘进行逆向旋转(顺时针旋转1次或逆时针旋转3次)。
[0080]
由此可见,二维数组棋盘转换前数字上移合并的结果,与二维数组棋盘两次转换后数字左移合并的结果是相同的,同理所有方向的移动都可以简化成向左移动,避免了需要写四次数字移动的算法逻辑(四个方向),减少了重复代码。
[0081]
矩阵旋转的部分代码如下:
[0082]
$arr为4*4的数组棋盘的二维数组,$n是要旋转的次数。
[0083][0084][0085]
需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0086]
本技术实施例提供了一种基于php的2048游戏的数据处理系统,图2是根据本技术实施例的基于php的2048游戏的数据处理系统的结构框图,如图2所示,该系统包括算法部署模块21、指令传输模块22和算法执行模块23;
[0087]
算法部署模块21采用php语言编写2048算法逻辑,将2048算法逻辑的程式部署在后端服务器中;
[0088]
指令传输模块22通过前端生成游戏交互数据,将游戏交互数据发送到后端服务器,其中,游戏交互数据包括向上移动指令、向下移动指令,向左移动指令和向右移动指令;
[0089]
算法执行模块23根据游戏交互数据,通过后端服务器执行2048算法逻辑生成响应数据,将响应数据返回给前端。
[0090]
通过本技术实施例中的算法部署模块21、指令传输模块22和算法执行模块23,解决了前端语言编写的2048游戏容易出现数据伪造、数据篡改的问题,实现了基于php的2048游戏后端数据处理,有效防止恶意的数据伪造请求,篡改真实数据,保证了游戏的公平性。
[0091]
在其中一些实施例中,算法执行模块23根据游戏交互数据,通过后端服务器执行
2048算法逻辑包括:
[0092]
算法执行模块23通过后端服务器生成预设大小的二维数组棋盘,并在二维数组棋盘中生成预设等级的数据值;
[0093]
算法执行模块23根据游戏交互数据逐行遍历二维数组棋盘,若存在数据值,则将数据值记为cell;
[0094]
算法执行模块23寻找cell在移动方向上可移动到的最远空位置并记为farthest,判断farthest在移动方向指向的相邻位置是否存在;
[0095]
若存在,则判断相邻位置的数据值与cell的等级是否相同,若相同,则合并数据值与cell生成下一等级的数据值并移动到相邻位置,若不相同,则直接将cell移动到farthest;
[0096]
若不存在,则直接将cell移动到farthest。
[0097]
在其中一些实施例中,该系统还包括:
[0098]
算法执行模块23通过后端服务器生成预设大小的二维数组棋盘,并在二维数组棋盘中生成预设等级的数据值;
[0099]
算法执行模块23根据游戏交互数据,通过矩阵旋转对二维数组棋盘进行旋转,将游戏交互数据简化成单一方向移动指令;
[0100]
算法执行模块23根据单一方向移动指令,逐行遍历旋转后的二维数组棋盘,若存在数据值,则将数据值记为cell;
[0101]
算法执行模块23寻找cell在单一方向上可移动到的最远空位置并记为farthest,判断farthest在单一方向指向的相邻位置是否存在;
[0102]
若存在,则判断相邻位置的数据值与cell的等级是否相同,若相同,则合并数据值与cell生成下一等级的数据值并移动到相邻位置,若不相同,则直接将cell移动到farthest;
[0103]
若不存在,则直接将cell移动到farthest;
[0104]
再通过矩阵旋转对二维数组棋盘进行逆向旋转。
[0105]
在其中一些实施例中,算法部署模块21采用php语言编写2048算法逻辑包括:
[0106]
算法部署模块21采用php语言编写棋盘初始化、棋盘重置、棋盘位置生成随机数字、矩阵旋转、数字移动和数字合并的算法逻辑,其中,矩阵旋转用于旋转二维数组棋盘,将游戏交互数据简化成单一方向移动指令。
[0107]
需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。
[0108]
本实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
[0109]
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
[0110]
需要说明的是,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
[0111]
另外,结合上述实施例中的基于php的2048游戏的数据处理方法,本技术实施例可提供一种存储介质来实现。该存储介质上存储有计算机程序;该计算机程序被处理器执行时实现上述实施例中的任意一种基于php的2048游戏的数据处理方法。
[0112]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于php的2048游戏的数据处理方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0113]
在一个实施例中,图3是根据本技术实施例的电子设备的内部结构示意图,如图3所示,提供了一种电子设备,该电子设备可以是服务器,其内部结构图可以如图3所示。该电子设备包括通过内部总线连接的处理器、网络接口、内存储器和非易失性存储器,其中,该非易失性存储器存储有操作系统、计算机程序和数据库。处理器用于提供计算和控制能力,网络接口用于与外部的终端通过网络连接通信,内存储器用于为操作系统和计算机程序的运行提供环境,计算机程序被处理器执行时以实现一种基于php的2048游戏的数据处理方法,数据库用于存储数据。
[0114]
本领域技术人员可以理解,图3中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0115]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
[0116]
本领域的技术人员应该明白,以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0117]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献