基于PHP的网页游戏分析与设计
2016-10-18吴钦卿翟金亭
吴钦卿 翟金亭
【摘要】 网页游戏是在浏览器中就能玩的游戏,无需下载客户端,而且游戏形式简单,内容丰富,因此用户量与日俱增。网页游戏在国内具有非常好的发展前景。为了进一步提高用户体验,增加网页游戏用户的黏度,对网页游戏的设计开发提出了更高的要求。该文以PHP动态网页技术为基础,采用MVC设计模式,以开心斗地主网页游戏为例进行分析与设计,充分体现出PHP技术在开发中小型网页游戏时的优势。
【关键词】 PHP 网页游戏 MVC设计模式
一、系统需求分析
斗地主是一款受到广大群众喜爱的牌类游戏。随着互联网的高速发展,斗地主已走进网络中。该斗地主网页游戏包含如下具体功能模块。1、用户管理模块,用户注册、登录退出、注册用户管理等功能。2、游戏房间管理模块,创建房间、显示房间列表、加入房间、退出房间,邀请朋友等功能。斗地主游戏的参与人数设定为3个人,如果一个房间中的人数已满,用户便不能再进入该房间参加游戏。3、游戏模块,根据制定的游戏规则,实现游戏功能。
二、系统架构设计
本系统采用目前最流行的LAMP(Linux-ApacheMySQL-PHP)Web框架,该框架包括:Linux操作系统,Apache网络服务器,MySQL数据库和PHP编程语言,所有组成产品均是开源软件,此架构是国际上非常成熟的架构框架,应用于很多商业项目。
2.1 PHP简介
PHP(外文名: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种开源脚本语言。其语法吸收了C、Java、Perl等语言语法的特点,再加上PHP自创的语法,使PHP变得非常易于学习,并在Web开发领域得到广泛应用[1]。
PHP技术的优点主要有以下几个方面:PHP技术所有的PHP源代码都可以得到;不需要支付任何费用;有很强的跨平台性,可以在UNIX、LINUX、WINDOWS、iOS、Android等平台运行;开发程序效率高,速度快;有很强的图像处理功能,可以动态创建图像;运行效率高,只需消耗很少的系统资源;可以很好的支持面向对象技术。
2.2 MVC设计思想
MVC的英文为Model-View-Controller,把一个应用程序的输入、处理、输出流程按照模型(Model)、视图(View)、控制器(Controller)的方式进行分离,将应用程序的结构分成三层——模型层、视图层、控制层。模型是制定业务流程的处理以及业务规则。业务流程的处理过程对其他层来说是不透明的,模型接受视图的请求,并返回最终的处理结果。模型的设计是MVC最主要的核心部分。视图是程序与用户交互的界面。一个应用程序中可能会有很多不同的视图,在视图上不涉及业务流程的处理,只负责获取用户请求和采集处理视图上的数据。控制器从用户处接受请求,将模型与视图匹配在一起,完成对用户请求的响应。
2.3 MVC设计模式的优点
用过程语言比如ASP开发出来的Web应用,初始的开发模板是混合层的数据编程,但由于数据窗口的分离不是很直接,所以很难体现出模型的重用性,产品设计的弹性力度很小,用户需要的变化难以满足。MVC则要求将应用分层处理,虽然需要额外工作量,但可以设计出结构清晰的产品,通过模型可以更好的体现出产品的应用。具体来讲,MVC主要有以下几个方面的优点:通过MVC模式编写的PHP程序具有极其良好的可扩展性;具有多个视图对应一个模型的能力;因为模型返回的数据不带任何显示格式,所以这些模型也可以直接应用于接口;有时整个应用的改变只需改变其中一层即可满足;有利于软件工程化管理。
三、数据库结构设计
数据库的分布通常可分为垂直划分和水平划分两种方式。垂直划分按照功能把数据放到不同的数据库和服务器中,水平划分把一个表的数据划分到两个不同的数据库中,具体怎么划分,可以由数据的产生者引导,本系统中所有的数据都是由人产生的,因此可以根据人的ID来划分数据库,然后再根据一定的规则,将不同的数据分配到不同的数据库中。根据需求分析可知,整个系统包含两种信息,对应的数据库也需要包含这两种信息,因此系统需要包含两个数据表。user:用户信息表,用来保存整个系统的用户信息。room:房间信息表,用来保存整个系统的房间信息。
四、系统运行流程
开启服务器端的Web服务,打开浏览器,在浏览器中输入网址进入斗地主网页并登录,然后选择或者创建房间,当单个房间内凑足三人即可开始游戏。
五、结束语
当使用PHP技术开发动态网页时,最佳的开发模式是三层结构。三层结构包括:表示层(USL)、业务逻辑层(BLL)、数据访问层(DAL)。数据访问层主要是对原始数据的操作层,业务逻辑层主要是针对具体问题的操作,表示层主要表示Web方式。因此,相对于ASP、JAVA、.NET等技术,PHP是开发中小型网页游戏的最佳选择。
参 考 文 献
[1] 潘凯华,刘中华等著.PHP从入门到精通[M].北京:清华大学出版社.2010:3-21.
[2]于广著.PHP项目开发实战密码[M].北京:清华大学出版社.2015:335-357.