【asp精品源码栏目提醒】:网学会员asp精品源码为您提供PHP5网游开发入门教程 - 综合课件参考,解决您在PHP5网游开发入门教程 - 综合课件学习中工作中的难题,参考学习。
网页游戏开发入门教程一(webgamedesign)一、简单的程序框架。
webgame 程序构成:三大部分。
第一是数据流程。
第二是程序。
第三是美术。
其中,数据流程包括了功能。
也只有在功能中才能体现数据流程。
数据流程相当的麻烦,后面再讨论。
比如最简单的卖买产品。
要实现这个功能。
那么需要有产品基础表、产品详细表、商店表、背包表。
如果扩展性更强,相应的双表是少不不了的。
表的问题都简单了。
关键是这个物品有什么用。
这样物品的来源,一大堆数据,物品的走向,又是一大堆数据。
最后,这些数据得绕成一个圈。
绕圈是一件困难的事情。
特别是功能和道具多了起来的时候。
难度是 2 的 n 次方。
在绕圈之前,如果你比较熟练设计模式。
那么这个过程可以简化。
难度由 2 的 n 次方变为 1。
只需要有控制器、事件工厂、抽象道具工厂这三个虚类;再加上定时器,任务编辑器,这两个通用类。
即可以构建一个健壮、高扩展的 webgame。
在 webgame 里控制器几乎可以等同于页面。
随便采用一种模板技术即能很方便的处理。
事件工厂是一个抽象类,所有的事件,如打工、战斗、移动等都由事件工厂的生产。
并且接口相同,方便控制器控制。
工厂模式。
抽象道具工厂是一个抽象类,所有的道具,如城市、地图、装备等,都由抽象道具工厂生产。
并且接口相同,工厂模式,事件与道具的结合又是一个桥接模式。
美术:UI。
简洁漂亮的界面总会有好处。
小图标。
道具,地图,装备。
一类至少 10 个吧?大体上百把个是需要的。
程序分 5 个部分:服务器定时器。
(C 语言或自己设定服务器)定时循环执行某一段代码。
而这段代码主要是根据数据库的数据进行更新。
这个可以找个 C 语言程序员来做。
对于 C 语言程序员来讲,这个功能是相当的简单。
当然,具体的处理数据的判断和操作数据库,需要你自己写。
让 C 语言程序员给你段标准代码就行了。
完全支持sql 语句的。
php 的话,可以配置 corn 实现。
但是不管是什么操作系统,配置的时间最低是 1 分钟。
所以,如果你要处理 1 秒钟刷新一次的情况。
你还需要专门的定时器程序来处理,或者被定时执行的 php 需要包含 sleep.当然,即使有即时交互,可以不管服务器端。
只处理交互的双方的客户端。
js 和 ajax 实现。
功能页面、功能函数。
主要就是数据存取,判断,数据走向。
用上抽象类,会比较轻松。
不过子类的爆炸是少不了的了。
ajax 函数。
(可选)某些需要伪即时的功能要用到。
为了让游戏看起来酷一点。
用吧。
javascript 函数。
(可选)模拟客户端的数据计算。
也就是 webgame 的与时间相关的数据。
分为两部分。
一部分是真实数据,是由服务器端的定时器计算的。
另一部分是只有初始值,客户端显示用的。
不需要即时同步,仅仅需要模拟同步就行。
这里还包括一些漂亮的 UI 特效。
毕竟是游戏。
数据库。
一大堆基础数据表和详细数据表。
基础数据表:比如等级 1 到等级 100 的用户的属性初始值。
详细数据表:每个用户的具体属性。
数据库上,尽量优化。
结构上能用 1 字节的就别用 2 字节。
二、一个详细的例子。
单纯的讨论数据流程是件痛苦的事情。
讨论程序而不给代码也是比较痛苦。
这里用的是 phpmysql 的。
同时,这个例子没有用到类。
如果时间充足的话,今年年底,我会提供一个带即时交互的简单 webgame 代码和核心类来说明使用了设计模式的好处。
那就按一个超简单的 webgame 的方式来讨论。
配上适当的代码。
应该有所帮助。
不足的地方也请大家指出,对我个人也是帮助。
我们不去考虑游戏的可玩性,数值平衡等等问题。
我们先只考虑一个简单例子的实现。
那么一个 webgame 的基本内容需要些什么呢?数据库:玩家、地图、城市、建筑、武器、士兵。
功能:登陆、升级、个人战斗、士兵之间的战斗、与城市的战斗、修建建筑、打造武器、买卖道具。
(注意:每一个功能,必然对应 1 个或多个数据表。
上面数据库中所列的只是基础中的基础。
)首先是地图、城市、建筑。
这里认为,地图可以有