基于Java开发的“世界和平”游戏

2023-07-17 09:30郭晓丽
计算机应用文摘 2023年13期
关键词:网络游戏

摘要:在当今互联网时代,我国网民数量急剧增长,规模高达十几亿,其中为缓解生活压力、放松消遣的占多数,放松方式包括聊天、刷视频和玩游戏等。网络游戏可满足众多网民的需求,成为其主要解压方式之一。在诸多游戏编程语言中,开发者热衷于时Java编程语言的设计。文章采用Java编程语言和SQLscrver 2000数据库相结合,开发设计了名为“世界和平”的小游戏,并客观讨论了该游戏的设计成效。

关键词:网络游戏;Java;Swing

中图法分类号:TP312 文献标识码:A

1 概述

1.1 开发背景

在诸多编程语言中,每种语言都有自己的特点,如简单易学的Python 语言、通用的命令式编程C 语言、有“一次编写,随处可用” 标签之称的Java 语言等。其中,Java 以其平台独立、分布式、多线程、动态等强大的特点一直处于优势地位,深受程序员的喜爱,甚至多年位居编程语言排行榜之首[1] 。用户界面开发工具包Swing 是一个应用于Java 应用程序开发的工具包,它以抽象窗口工具包(AWT)为基础,使跨平台應用程序可以采用任意可插拔的外观风格[2~5] ,以及使开发员可以用少量的代码来创建用户界面。

1.2 开发目的与意义

面对飞速发展的社会,人们处于不同的年龄阶段,都会面对来自不同方面的压力,为更加积极地投入生活、热爱生活、享受生活,我们必须适度地释放压力。解压方式多种多样,对网民而言,网络游戏可满足他们的诸多需求。

网络游戏是具有可持续性的个体性的多人在线游戏[6~7] ,以互联网为传输媒介,旨在实现娱乐、休闲、交流和取得虚拟成就。在互联网时代,它的出现让我们的生活变得更加多彩,精神物质世界更加丰富,使众多网民的压力得以有效释放。本文使用Java 语言编写了名为“世界和平”的小型网络游戏,可以使人们在休闲时段得到更有效的解压,获得更多的快乐。

1.3 开发环境

与C 和C++等编程语言类似,Java 语言也是一种纯粹的面向对象语言,它继承了C++面向对象技术的优点,同时也摒弃了C++的部分缺点,是一种分布式的面向对象语言,具有平台无关性、简单性、面向对象、多线程、安全性等特点[8~9] ,鉴于Java 编程语言的优势,本文选择它来设计小型网络游戏。

图形用户界面(Graphical User Interface, GUI,又称图形用户接口)是指采用图形方式显示计算机操作用户界面[10] 。在这个界面中,用户所面对的都是图形对象,可以通过鼠标对其进行操作,其应用的是计算机图形学技术,摒弃了传统字符界面的复杂操作,优势很明显。虽然不同平台的GUI 组件显示是不同的,但如果各平台运行的是用户界面开发工具包(Swing)开发的应用程序,就能使GUI 组件显示的风格得到统一,这是因为编程人员在设计时使用了Swing 组件,使跨平台的GUI 组件也能制定统一的外观和风格。同时它完全由Java 语言编写,而Java 又是不局限于操作系统的编程语言,可以在任何平台上运行,通常其被称为“轻量级(light⁃weight) 组件”[11] 。

它采用的是一种MVC 的设计范式,即“模型⁃视图⁃控制”(Model⁃View ⁃Controller),其中模型和视图分别用于保存和显示内容,控制器用来控制用户输入[12~14] 。

它与抽象窗口工具包(AWT)组件的最大区别就是没有本地代码,不依赖于操作系统的支持且优势明显,Swing 比AWT 组件具有更强的实用性,因为AWT 组件是通过与具体平台相关的对等类(Peer)来实现的,而Swing 在不同平台上的表现却是一致的,并且它有能力提供本地窗口系统不支持的其他特性。

在SQL Server 7.0 的发展基础上,SQL Server 2000也随之诞生,它是一个功能强大的关系型数据库管理系统[15] 。SQL Server 2000 是在Windows NT/2000/ XP上运行得最好的数据库[16] ,可以帮助各大中小型规模的企业来管理数据,是在创建企业应用程序时首选的关系型数据库管理系统。在用户需求不断增长和技术不断创新的背景下,SQL Server 2000 已在可收缩性、可靠性、易用性、数据仓库等方面获得了重大突破,更加具有创造性,现已成为业界领先的数据库管理系统。

本文采用Java 编程语言和SQL server 2000 相结合,设计了名为“世界和平”的小型网络游戏,具体包括分析游戏结构、制作用户界面(UI)、开发游戏、讨论游戏的发展等。

2 程序分析

2.1 程序基本功能描述

通过参考其他小型游戏的逻辑,本文设计了该程序的游戏登录、关卡选择、人机互动、奖励机制、玩家共创和游戏介绍等功能。

2.2 可行性分析

本程序的可行性分析主要包括以下几个方面的内容。

( 1)技术可行性。由于各种开发游戏软件横空出世,且网上有很多游戏的开源代码,使得开发游戏非常便捷,不需要再耗费很多人力、物力、精力等,玩家可以在任何地方进行游戏。将SQL Server 2000 数据库和Java 编程语言相结合,可以开发出简便、有趣、稳定的小游戏,因此技术上是可以实现的。

(2)设备可行性。该程序是小型网络游戏平台。

由于手机、计算机普及和网络大面积的覆盖,因此可以大概率实现随时随地进行游戏。

(3)操作可行性。该程序最大的优势就是操作简单。在闲暇时间,用手机、计算机等设备均可完成游戏体验,释放压力,愉悦身心。

2.3 程序需求分析

在设计之前,我们对程序的需求进行分析,构思并确定了该程序应该包含3 类用户,分别是管理员、玩家和游客。各类用户的具体描述如下。

(1)管理员。管理员是该程序最高权限的拥有者,主要维护整个程序。当游戏出现漏洞或者需要更新资源时,管理员需要设置玩家和游客暂时不能登录游戏。

( 2)玩家。玩家负责体验程序,在具体操作过程中,程序中产生的数据都会被储存到数据库,无需重新开始游戏就可以继续原来的操作体验。当玩家发现程序中存在BUG 时,可及时向管理员提交反馈申请,待管理员处理。

(3)游客。游客是不需要登录就可以体验程序的,但程序中产生的数据是不会存储到数据库,重新登录即为重新开始。当游客发现程序中存在BUG时,无权向管理员提交反馈申请。

3 程序实现

3.1 游戏界面

“世界和平”的游戏界面如图1 所示,玩家点击“世界和平”按钮进入登录页面后,输入账号和密码即可登录游戏。

3.2 程序流程图

当玩家登录“世界和平”游戏后,就会调用该游戏的代码并进入该游戏关卡选择界面,如图2 所示。玩家需选择要玩的关卡,进入该关卡对应的游戏界面。

此外,我们还在该页面设计了红、绿2 个按钮,给后续游戏的扩展打下了基础。

当玩家随机选择一个关卡进入后,就可以看到游戏已经开始。其中,绿色小圆球是玩家可以操控的角色,键盘上W,A,S,D 4 个键是供玩家上、下、左、右移动的方位功能按键。黄色的小星星是游戏设置的可加分元素,玩家用绿色小圆球碰到它就可以加1 分,分数显示在界面的左上角,初始分数是0。黑色的墙体是不可以穿越的。初始分数界面如图3 所示,积分后的界面如图4 所示。

在玩家操作绿色小球的过程中,如果碰到了绿色的奖励箱子,黑色的墙体就会立即消失2 秒,在这2秒内,绿色的小圆球可以向任意方向移动,如图5所示。

紅色的小球为敌方巡逻的士兵,玩家在操作过程中如果不小心碰到红色小球,则判定为游戏失败,会立马结束游戏,如图6 所示。

3.3 关键代码

在该游戏设计过程中,关卡选择界面是最关键的一个页面也是一个选择模块,按照玩家选择的不同关卡进行不同的处理,最后将信息写发到XZ 变量中供其他页面使用。

4 结束语

如今,网络游戏在众多解压娱乐方式中成为主流,越来越多的开发者致力于设计小型好玩的程序小游戏。本文采用Java 编程语言和SQL server 2000 数据库相结合,设计了名为“世界和平”的小型网络游戏,达到了预期的测试效果。

参考文献:

[1] 曹嵩彭,王鹏宇. 浅析Java 语言在软件开发中的应用[J].信息记录材料,2022,23(3):114⁃116.

[2] 王亚南,胡晓飞.浅析Java 中Swing 与SWT 和AWT 的区别及实现[J].福建电脑,2009,25(6):44+50.

[3] 王勇,洪进,杜兰兰,等.基于Java Swing 的找点软件设计与实现[J].现代计算机,2022,28(16):96⁃100.

[4] 陈砚雄.Java 中Swing 事件模型的应用[J].文教资料,2005(21):36⁃37.

[5] 范兴.基于文化嵌入的国产网络游戏发展策略研究[D].荆州:长江大学,2020.

[6] 宋永涛,刘刚,范李刚,等.Java 编程特点和技术的应用分析[J].福建电脑,2019,35(6):84⁃85.

[7] 邓闲.网络游戏产业的网络效应研究[J].广西质量监督导报,2020(10):168⁃169.

[8] 陈小超.计算机软件开发中JAVA 编程语言的应用[J].数码世界,2019(3):57.

[9] 陈佶.探讨基于SQL Server 2000 的数据仓库和数据挖掘[J].科学中国人,2017(18):126.

[10] 刘由钦.我国网络游戏发展及其内容生产偏向[D].武汉:武汉大学,2017.

[11] 郑歆.Java 程序设计课程的教学实践[J].集成电路应用,2022,39(11):94⁃95.

[12] 程华. 基于JAVA AWT 组件的留言板的设计及实现[J].电脑知识与技术,2016,12(29):81⁃82.

[13] 杨钦,徐永安,翟红英.计算机图形学[D].北京:清华大学出版社,2005.

[14] 王亚南,胡晓飞.浅析Java 中Swing 与SWT 和AWT 的区别及实现[J].福建电脑,2009,25(6):44+50.

[15] 刘艳春.使用Flash 和Java 实现实时网络休闲游戏[J].科技创业月刊,2005(11):158⁃159.

[16] 陈砚雄.Java 中Swing 事件模型的应用[J].文教资料,2005(21):36⁃37.

作者简介:郭晓丽(1993—),硕士,助教,研究方向:计算机科学与技术。

猜你喜欢
网络游戏
停止侵害在网络游戏侵权案件中的适用
网络游戏的品牌推广策略研究
冰川网络股份有限公司财务报表综合案列分析
青少年网络模仿性暴力犯罪特点、成因及预防对策
网络游戏对当代大学生造成的危害研究