APP下载

微信平台益智类游戏的设计

2017-06-05曹炜卿

电子技术与软件工程 2017年7期
关键词:开发技术微信

曹炜卿

摘 要 本人写该论文的构思便是站在一个软件开发者的角度来思考的,从项目的需求,分析,设计,一直到实现,走的就是软件工程的体系那一套。无论是游戏的需求,还是游戏的分析,游戏的设计以及游戏的实现开发,都经过了精细的讨论与思考。整个软件的开发过程思路明确,条理清晰。

【关键词】微信 游戏 开发 技术

1 前言

文章主要叙述了微信平台游戏的设计与实现,当然里面也有到了一些java的框架,如hibernate,还有一些关键性的技术如css,jquery等,尤其是jquery,这个神奇的东西可以让JSP页面变得炫酷起来。另外还有java流的应用,java语言的开发,mysql数据库的应用,xml和json的數据格式的传递。这些技术每一个看似比较容易,其实用到实际的开发当中还是相当有用的,我的游戏模块基本上用到了上述所说的每一个技术。所以权当熟悉这些技术,也是让人受益匪浅。至于java语言和微信平台的特点我在此就不赘述了,在此简单介绍下JSP。向传统的html中加入java程序片段和JSP标签,就可以构成JSP网页java程序片段就可以操纵数据库,重定向或者实现建立动态网站所需要的功能。所有的程序操作都在服务器端执行。

2 益智类游戏的设计

JSP就根本来说就是一个简化的servlet设计,也是在服务器端执行,web服务器在遇到访问JSP页面的请求时,首先执行其中的程序段,然后将执行结果连通JSP中的html代码一起返回给客户端。JSP通常很少进行数据处理,只是用来实现网页的静态化处理,不会进行业务处理。大型的web开发都需要JSP与servlet进行配合才能完成,JSP具备java技术的简单易用,完全的面向对象的特点。

Picword.java封装了游戏的基本单位,因为游戏本身为疯狂猜图类的游戏,所以图文必须给封装成类。Gamer.java这个封装了游戏者的游戏状态,记录了游戏者的玩游戏的临时状态,里面可以存一些用户的基本信息和当前游戏状态,如积分情况和过关情况。Picworddao.java这个dao类很明显是与数据库进行交互的类,里面封装了一个sessionfactory对象,可以产生session对象,来利用hibernate对数据库进行操作,或者从数据中取出自己想要的数据或者向数据库中存入数据。GameServlet.java这个类是个servlet,封装了对游戏发来的请求的响应,接收了game.jsp发来的json数据包,然后对其进行处理以后,从数据库里调用一些新的数据过来,再向jsp页面发送一些json数据包,继而封装成消息的响应。当用户点击菜单中的“微游戏”后,可以向用户发送一个newsmessage消息,里面有两个url参数,一个是存放图片路径的,一个是存放点击后转移的网址。点击进入的页面为game.jsp,里面用到了很多css的框架代码,比如图片和按钮的设置位置与钻石和关数,都用到了css的样式显示。Css中的margin,padding还有left,right,up,down,relative,absolutely等参数可以控制好一个元素的位置和显示。

既然是jsp页面,服务器这边必然会有一个servlet来处理从jsp这边传来的消息。然后在服务器这边编写了一个servlet,类名为gameServlet。首先会在数据库中创建一个新表为picword,存图片的有关信息,如图片路径,图片的猜图答案等,还有一个表为gamer,字段有图片的url,图片的猜图答案,过关数,钻石数,以及用户的基本信息如用户openid以及昵称。

数据库表创建好,现在需要从数据库中取出数据并且传给game.jsp.这样可以利用ajax,直接从jsp页面调用从数据库取来的数据。这可以用到jquery的一个方法$.get(url,function(data){})url要填写服务器的servlet,function为对传递过来的数据进行的处理的方法。

下面对游戏功能进行详解:

确定功能:在点击“确定”的时候,首先要判断用户的输入与正确答案是否一致,如果一致则进入下一关,并且钻石数加三,如果不一致则提示答案错误,继续答题!于是在点击确定按钮的时候需要onclick=“queding()”,queding()函数先判断如果答案正确,就用$.get()方法访问到数据库,从数据库里取出新的图片消息,然后一个一个替代掉game.jsp中的图片,猜的字,并且钻石数加三,关数加一,还有图片的类别属性。替换可以用jquery的css()方法,可以设置。

提示功能:提示是从当前的答案空格中跳出一个正确答案的字,利用jquery的each()方法,遍历每个猜图的字,把对应的字消除后在上面的空白处显示出来,这个用jquery十分容易实现。不过前提也是要访问到数据库的数据,同样要用$.get()方法访问数据库,从表gamer当中读取当前的游戏状态,得到想要的答案和钻石数。并且由于游戏设定,在提示一个字后会减少10个钻石。于是会在访问数据库的同时,更改钻石数目减10。

除错功能:在下面的猜图的字中,如果要除掉一个错误的答案的字,便需要减少10个钻石。为了实现这个功能,必须同样的访问数据库,用each()方法遍历每个猜图的字,直到找到一个错误的答案的字,便将它设为不可见。并且由于游戏设定,在提示一个字后会减少10个钻石。于是会在访问数据库的同时,更改钻石数目减10.提示和除错功能每次点击都会弹出一个对话框,确认是否要扣掉十个钻石。

3 总结

本文主要讲述了项目的总体概况,项目的产品简介,运行环境和约定。以及本人在项目做的主要功能实现,系统功能实现。本人写该论文的构思便是站在一个软件开发者的角度来思考的,从项目的需求,分析,设计,一直到实现,走的就是软件工程的体系那一套。无论是游戏的需求,还是游戏的分析,游戏的设计以及游戏的实现开发,都经过了精细的讨论与思考。整个软件的开发过程思路明确,条理清晰。

作者单位

上海交通大学 上海市 200433

猜你喜欢

开发技术微信
微信
河南方言文化资源的保护及其开发利用的研究
遵义红色旅游开发对策研究
单片机在电子技术中的应用和开发
微信
微信