CN106843873A - 一种远程游戏编程系统 - Google Patents
一种远程游戏编程系统 Download PDFInfo
- Publication number
- CN106843873A CN106843873A CN201710038091.1A CN201710038091A CN106843873A CN 106843873 A CN106843873 A CN 106843873A CN 201710038091 A CN201710038091 A CN 201710038091A CN 106843873 A CN106843873 A CN 106843873A
- Authority
- CN
- China
- Prior art keywords
- game
- programming
- programming information
- server
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/447—Target code generation
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Electrically Operated Instructional Devices (AREA)
Abstract
本发明公开了一种远程游戏编程系统,包括:基于web技术的编程端、游戏服务器和游戏客户端;编程端包括浏览器单元、编程资料单元和服务器接口单元;所述浏览器单元提供图形化的接口以获取用户对编程资料单元的访问操作,所述服务器接口单元记录访问操作并发送至游戏服务器,标记该记录为编程信息;所述游戏服务器接收编程信息,基于编程信息修改对应接口以变更游戏数据,将变更的游戏数据发送至游戏客户端并调用对应接口以修改游戏数据。本发明提供远程的编辑端,接收客户进行远程编程的操作,通过用户的操作输出更改游戏的代码以更改游戏的内容,能够提高用户对编程训练系统的舒适性,提高编程效率。
Description
技术领域
本发明涉及一种远程游戏编程系统,属于计算机领域。
背景技术
随着信息技术的发展,编程逐渐成为一项基本技能。美国、英国、新加坡等多个国家都在鼓励青少年学习编程,甚至将编程作为中小学生的必修科目。我国部分省份也在积极推进编程教育。
青少年编程教育中存在一些问题:传统的工业化的编程工具(Java, C等编程语言),对于中小学生来说较为枯燥,学习初期难以做出有实际用途的成果,且难度较大,学习起来较为吃力;专门为青少年设计的编程工具(Scratch, Lego等编程语言)容易学习,但是这些工具的功能有限,深入学习时会有各种语言层面上的限制,在后期学习过程中往传统的工业化编程语言过渡时仍然存在较大困难。
为此,社会上的软件公司提供了很多用于训练编程人员能力的系统,这些系统的的主流的做法是提供一个界面,通过输入编程目的提供对应的成熟的代码组,待培训人员组合这些代码组以完成训练,但是这样的训练内容枯燥,重复率高,会对使用者的精神造成伤害,不利于培训的效率提高。
发明内容
为了解决上述问题,本发明提供一种远程游戏编程系统。
本发明采用的技术方案一方面为一种远程游戏编程系统,包括:基于web技术的编程端、游戏服务器和游戏客户端;编程端包括浏览器单元、编程资料单元和服务器接口单元;所述浏览器单元提供图形化的接口以获取用户对编程资料单元的访问操作,所述服务器接口单元记录访问操作并发送至游戏服务器,标记该记录为编程信息;所述游戏服务器接收编程信息,基于编程信息修改对应接口以变更游戏数据,将变更的游戏数据发送至游戏客户端并调用对应接口以修改游戏数据。
优选地,所述浏览器单元还用于提供代码编辑器、编辑教程和示例资料,通过代码编辑器获取用户的信息输入,标记该信息为编程信息。
优选地,所述游戏服务器还基于沙箱验证修改的游戏数据:通过沙箱调用编译器或解释器,将编程信息导入并运行,运行正常则基于编程信息修改对应接口以变更游戏数据。
优选地,所述编程端还用于基于用户名和密码验证用户的使用权。
优选地,所述游戏客户端包括若干游戏单元,所述游戏单元用于存储游戏资料。
本发明的有益效果为提供远程的编辑端,接收客户进行远程编程的操作,通过用户的操作输出更改游戏的代码以更改游戏的内容,能够提高用户对编程训练系统的舒适性,提高编程效率。
附图说明
图1所示为基于本发明实施例的一种远程游戏编程系统示意图
图2所示为基于本发明实施例的结合网络游戏与编程的系统运行示意图。
具体实施方式
以下结合实施例对本发明进行说明。
基于发明的实施例,如图1所示一种远程游戏编程系统,包括:基于web技术的编程端、游戏服务器和游戏客户端;编程端包括浏览器单元、编程资料单元和服务器接口单元;所述浏览器单元提供图形化的接口以获取用户对编程资料单元的访问操作,所述服务器接口单元记录访问操作并发送至游戏服务器,标记该记录为编程信息;所述游戏服务器接收编程信息,基于编程信息修改对应接口以变更游戏数据,将变更的游戏数据发送至游戏客户端并调用对应接口以修改游戏数据。
编程端,主要是通过浏览器作为编程的环境,提供图形化的编程接口以连接成熟的模块化的代码组(存储于编程资料单元)或者输入框以获取外界的代码输入,编程资料单元用于存储并输出预设的模块化的代码,服务器接口单元用于记录用户的操作(例如选择了什么样的代码组、代码的顺序和对图形化接口的操作等)然后将用户的操作转换成对应的指令并传输至游戏服务器;游戏服务器为存储若干游戏的服务器,能提供一个网络平台以实现游戏的网络化,游戏服务器接收编程信息之后,对编程信息的代码进行预处理以生成修改游戏数据的各种指令和信息,并根据输出信息的用户的属性(帐号)将代码提交到游戏客户端执行。
所述浏览器单元还用于提供代码编辑器、编辑教程和示例资料,通过代码编辑器获取用户的信息输入,标记该信息为编程信息。
代码编辑器为常用的编程辅助工具,可以直接采用公开的软件,通过代码编辑器获取用户的代码输入信息。
浏览器单元还包括用于协调编程代码与游戏服务器的接口单元,使用多种编程语言实现与游戏服务器通信的接口,即可实现该游戏对多种编程语言的支持。例如Scratch和Python,在服务器接口单元中实现Scratch代码与游戏服务器的接口,即可支持Scratch,实现Python代码与游戏服务器通信的接口,即可支持Python。
所述游戏服务器还基于沙箱验证修改的游戏数据:通过沙箱调用编译器或解释器,将编程信息导入并运行,运行正常则基于编程信息修改对应接口以变更游戏数据。
沙箱中调用所选编程语言的编译器或者解释器,对代码进行分析并执行,同时使用守护进程对代码运行进程的状态进行监控,并且对代码中所调用的接口进行相应的权限检查,从而避免用户提交恶意代码破坏系统稳定性。
所述编程端还用于基于用户名和密码验证用户的使用权。
所述游戏客户端包括若干游戏单元,所述游戏单元用于存储游戏资料。
编程语言种类繁多,同时不同的游戏,其所以来的编程语言的类型区别较大,因此不同的编程语言,设置与其对应的游戏,可以提高两者的匹配,以提高用户的使用舒适度。
基于本发明的实施例,如图2所示结合网络游戏与编程的系统运行示意图。
用于通过编程与游戏相结合以提高用户的编程学习热情,包括以下几部分:
浏览器端,为学生提供在线编程环境,学生可以在浏览器上实现代码的编写或使用图形化编程软件进行编程;
Web服务端,为学生提供编程相关的Web服务,实现程序的保存、编辑等功能;
程序执行服务端,用于执行学生提交的程序代码,并与网络游戏服务端进行数据交互,调用相关接口,修改网络游戏数据;
网络游戏服务端,作为网络游戏的数据中心,通过自定义插件、地图等,实现修改游戏数据的相关接口,为程序执行服务端提供服务;
网络游戏客户端,即学生所玩的网络游戏,同时可将学生通过在线编程实现的对游戏的修改即时展现出来。
浏览器端(编程端的功能结构中,关于编程的模块)使用Python语言进行编程,
用户可以在编辑器中编辑代码,点击“执行代码”将代码提交到服务器端执行,程序执行结果或者错误信息会返回给用户。用户调试完成之后,点击上传代码,可以将代码保存到Web服务器。
用户保存到Web服务器的代码,可以重复查看、执行、编辑。用户保存的代码被称为“编程卡片”,用于在游戏中实现对应的功能。
Web服务端(编程端的功能结构的一部分,用于基于web技术与服务器交互)可用任意适合Web开发的语言完成,本实施例中采用PHP开发完成,数据库采用MySQL。Web服务端需要实现一般网站系统都具有的登录、注册、信息维护、数据保存等功能,还需要实现在线编程相关功能:
用户观看编程教程;用户编程作品的保存、编辑、查看、删除;用户进行程序的运行、调试;将用户提交的代码进行预处理并添加用户识别信息后提交到程序执行服务端;
程序执行服务端(游戏服务器内用于处理编程信息的模块)需要将用户提交的代码安全地执行。本实施例采用沙箱和Linux Container技术实现,其中沙箱采用NodeJS编程实现,Linux Container使用Docker技术实现。具体实现方式为:接收到Web服务端提交过来的代码之后,将代码保存为临时文件,并暴露给docker容器,然后设定docker容器运行的CPU、内存及运行时间限制。然后启动docker容器,以受限用户执行代码。docker容器中需要预先安装代码运行环境,以及与网络游戏服务端(游戏服务器关于游戏的模块)通信的模块。该通信模块会建立与网络游戏服务端通信套接字,用户调用网络游戏相关API。在程序运行结束之后,清理临时运行环境,并将运行结果返回到Web服务端。
网络游戏服务端需要根据不同网络游戏而具体实现。
以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,都应属于本发明的保护范围。在本发明的保护范围内其技术方案和/或实施方式可以有各种不同的修改和变化。
Claims (5)
1.一种远程游戏编程系统,其特征在于,包括:
基于web技术的编程端、游戏服务器和游戏客户端;
编程端包括浏览器单元、编程资料单元和服务器接口单元;
所述浏览器单元提供图形化的接口以获取用户对编程资料单元的访问操作,所述服务器接口单元记录访问操作并发送至游戏服务器,标记该记录为编程信息;
所述游戏服务器接收编程信息,基于编程信息修改对应接口以变更游戏数据,将变更的游戏数据发送至游戏客户端并调用对应接口以修改游戏数据。
2.根据权利要求1所述的一种远程游戏编程系统,其特征在于,所述浏览器单元还用于提供代码编辑器、编辑教程和示例资料,通过代码编辑器获取用户的信息输入,标记该信息为编程信息。
3.根据权利要求1所述的一种远程游戏编程系统,其特征在于,所述游戏服务器还基于沙箱验证修改的游戏数据:通过沙箱调用编译器或解释器,将编程信息导入并运行,运行正常则基于编程信息修改对应接口以变更游戏数据。
4.根据权利要求1所述的一种远程游戏编程系统,其特征在于,所述编程端还用于基于用户名和密码验证用户的使用权。
5.根据权利要求2所述的一种远程游戏编程系统,其特征在于,所述游戏客户端包括若干游戏单元,所述游戏单元用于存储游戏资料。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710038091.1A CN106843873A (zh) | 2017-01-18 | 2017-01-18 | 一种远程游戏编程系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710038091.1A CN106843873A (zh) | 2017-01-18 | 2017-01-18 | 一种远程游戏编程系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106843873A true CN106843873A (zh) | 2017-06-13 |
Family
ID=59123801
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710038091.1A Pending CN106843873A (zh) | 2017-01-18 | 2017-01-18 | 一种远程游戏编程系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106843873A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107634951A (zh) * | 2017-09-22 | 2018-01-26 | 携程旅游网络技术(上海)有限公司 | Docker容器安全管理方法、系统、设备及存储介质 |
CN107704757A (zh) * | 2017-09-22 | 2018-02-16 | 成都知道创宇信息技术有限公司 | 利用pypy沙箱模式实现安全的开放式Python用户编程接口的方法 |
CN110502212A (zh) * | 2018-05-16 | 2019-11-26 | 南京慕测信息科技有限公司 | 一种面向多语言的高并发在线开发支撑方法 |
CN110647324A (zh) * | 2019-09-18 | 2020-01-03 | 奇码(杭州)教育科技有限公司 | Python与Scratch交互式编程方法及电子设备 |
CN112102666A (zh) * | 2020-09-25 | 2020-12-18 | 深圳市易科诺科技发展有限公司 | 一种编程语言在线教育学习方法 |
WO2021056640A1 (zh) * | 2019-09-24 | 2021-04-01 | 上海商汤临港智能科技有限公司 | 一种机器设备的控制方法及装置、存储介质 |
CN113010261A (zh) * | 2021-02-20 | 2021-06-22 | 博普乐科技(北京)有限公司 | 一种虚拟编程环境构建方法 |
CN113032090A (zh) * | 2021-02-20 | 2021-06-25 | 博普乐科技(北京)有限公司 | 一种虚拟编程仿真管理平台 |
CN113342402A (zh) * | 2021-08-05 | 2021-09-03 | 北京蔚领时代科技有限公司 | 一种多人协作游戏编辑方法、系统及装置 |
CN117472784A (zh) * | 2023-12-25 | 2024-01-30 | 图灵人工智能研究院(南京)有限公司 | 基于浏览器的Serverless代码在线调试方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5801689A (en) * | 1996-01-22 | 1998-09-01 | Extended Systems, Inc. | Hypertext based remote graphic user interface control system |
CN102270119A (zh) * | 2010-06-07 | 2011-12-07 | 上海为舟网络科技有限公司 | 富英特网框架部署中Flash游戏开发系统以及方法 |
CN102520972A (zh) * | 2011-12-31 | 2012-06-27 | 上海方寸信息科技有限公司 | 电子游戏开发系统及其方法 |
CN103699368A (zh) * | 2012-09-28 | 2014-04-02 | 成都德艺软件有限公司 | 移动数字娱乐可视化代码编辑系统 |
CN104360840A (zh) * | 2014-10-20 | 2015-02-18 | 广州精攻网络科技有限公司 | 一种基于html5的游戏开发方法及装置 |
CN105955731A (zh) * | 2016-04-26 | 2016-09-21 | 深圳市编玩边学教育科技有限公司 | 一种手机游戏快速编写方法和系统 |
-
2017
- 2017-01-18 CN CN201710038091.1A patent/CN106843873A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5801689A (en) * | 1996-01-22 | 1998-09-01 | Extended Systems, Inc. | Hypertext based remote graphic user interface control system |
CN102270119A (zh) * | 2010-06-07 | 2011-12-07 | 上海为舟网络科技有限公司 | 富英特网框架部署中Flash游戏开发系统以及方法 |
CN102520972A (zh) * | 2011-12-31 | 2012-06-27 | 上海方寸信息科技有限公司 | 电子游戏开发系统及其方法 |
CN103699368A (zh) * | 2012-09-28 | 2014-04-02 | 成都德艺软件有限公司 | 移动数字娱乐可视化代码编辑系统 |
CN104360840A (zh) * | 2014-10-20 | 2015-02-18 | 广州精攻网络科技有限公司 | 一种基于html5的游戏开发方法及装置 |
CN105955731A (zh) * | 2016-04-26 | 2016-09-21 | 深圳市编玩边学教育科技有限公司 | 一种手机游戏快速编写方法和系统 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107634951A (zh) * | 2017-09-22 | 2018-01-26 | 携程旅游网络技术(上海)有限公司 | Docker容器安全管理方法、系统、设备及存储介质 |
CN107704757A (zh) * | 2017-09-22 | 2018-02-16 | 成都知道创宇信息技术有限公司 | 利用pypy沙箱模式实现安全的开放式Python用户编程接口的方法 |
CN110502212A (zh) * | 2018-05-16 | 2019-11-26 | 南京慕测信息科技有限公司 | 一种面向多语言的高并发在线开发支撑方法 |
CN110502212B (zh) * | 2018-05-16 | 2023-07-11 | 南京慕测信息科技有限公司 | 一种面向多语言的高并发在线开发支撑方法 |
CN110647324A (zh) * | 2019-09-18 | 2020-01-03 | 奇码(杭州)教育科技有限公司 | Python与Scratch交互式编程方法及电子设备 |
WO2021056640A1 (zh) * | 2019-09-24 | 2021-04-01 | 上海商汤临港智能科技有限公司 | 一种机器设备的控制方法及装置、存储介质 |
CN112102666A (zh) * | 2020-09-25 | 2020-12-18 | 深圳市易科诺科技发展有限公司 | 一种编程语言在线教育学习方法 |
CN113010261A (zh) * | 2021-02-20 | 2021-06-22 | 博普乐科技(北京)有限公司 | 一种虚拟编程环境构建方法 |
CN113032090A (zh) * | 2021-02-20 | 2021-06-25 | 博普乐科技(北京)有限公司 | 一种虚拟编程仿真管理平台 |
CN113342402A (zh) * | 2021-08-05 | 2021-09-03 | 北京蔚领时代科技有限公司 | 一种多人协作游戏编辑方法、系统及装置 |
CN117472784A (zh) * | 2023-12-25 | 2024-01-30 | 图灵人工智能研究院(南京)有限公司 | 基于浏览器的Serverless代码在线调试方法 |
CN117472784B (zh) * | 2023-12-25 | 2024-03-19 | 图灵人工智能研究院(南京)有限公司 | 基于浏览器的Serverless代码在线调试方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106843873A (zh) | 一种远程游戏编程系统 | |
CN105047042B (zh) | 一种面向儿童实物编程方法及系统 | |
US20160093232A1 (en) | Integrated development environment for visual and text coding | |
CN105988934B (zh) | 手游自动化检测方法及装置 | |
CN109726098A (zh) | 接口测试方法、装置及计算机可读存储介质 | |
CN102842248B (zh) | 基于组件式的电力互动培训方法 | |
CN101872176A (zh) | 测控软件生成方法及系统 | |
CN102945313A (zh) | 一种开放式虚拟实验教学内容构建与展示方法 | |
CN103680222A (zh) | 儿童故事问答交互方法 | |
CN102842249A (zh) | 基于组件式的电力互动培训系统 | |
Petrović et al. | Development of an educational game based on IoT | |
Pereira et al. | A mobile app for teaching formal languages and automata | |
Widiaty et al. | Mobile-based augmented reality for learning 3-dimensional spatial Batik-based objects | |
CN106847035A (zh) | 基于设备模拟的学习方法、装置和系统 | |
CN110474900A (zh) | 一种游戏协议测试方法及装置 | |
CN106033647A (zh) | 编程教育系统 | |
CN113761514B (zh) | 一种云桌面多因子安全认证方法及系统 | |
CN110532175A (zh) | 接口测试方法、接口测试装置、服务器和存储介质 | |
CN112133146A (zh) | 一种算法练习代码执行可视化系统 | |
CN106843663A (zh) | 用于页面中预跳转位置的定位方法、装置及可读存储介质 | |
CN106802865B (zh) | 用于软件测试的应答模拟装置及方法 | |
CN107301067A (zh) | 基于iap技术的北斗用户机远程升级系统及其升级方法 | |
CN107480064A (zh) | 一种电子充值系统的虚拟充值测试系统及方法 | |
CN109992261A (zh) | 一种基于人工智能的语音在线编程方法及装置 | |
CN114116108A (zh) | 动态渲染方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170613 |