⑴ 怎么制作一个网页游戏

一、简单的程序框架。
webgame程序构成:
三大部分。
第一是数据流程。第二是程序。第三是美术。
其中,数据流程包括了功能。也只有在功能中才能体现数据流程。
数据流程相当的麻烦,后面再讨论。
比如最简单的卖买产品。
要实现这个功能。
那么需要有产品基础表、产品详细表、商店表、背包表。如果扩展性更强,相应的双表是少不不了的。
表的问题都简单了。关键是这个物品有什么用。这样物品的来源,一大堆数据,物品的走向,又是一大堆数据。
最后,这些数据得绕成一个圈。
绕圈是一件困难的事情。特别是功能和道具多了起来的时候。难度是2的n次方。
美术:
UI。简洁漂亮的界面总会有好处。
小图标。道具,地图,装备。一类至少10个吧?大体上百把个是需要的。
程序分5个部分:
服务器定时器。(C语言或自己设定服务器)定时循环执行某一段代码。而这段代码主要是根据数据库的数据进行更新。这个可以找个C语言程序员来做。对于C语言程序员来讲,这个功能是相当的简单。当然,具体的处理数据的判断和操作数据库,需要你自己写。让C语言程序员给你段标准代码就行了。完全支持sql语句的。
功能页面、功能函数。主要就是数据存取,判断,数据走向。
ajax函数。(可选)某些需要伪即时的功能要用到。
javascript函数。(可选)模拟客户端的数据计算。也就是webgame的与时间相关的数据。分为两部分。一部分是真实数据,是由服务器端的定时器计算的。另一部分是只有初始值,客户端显示用的。不需要即时同步,仅仅需要模拟同步就行。
数据库。一大堆基础数据表和详细数据表。基础数据表:比如等级1到等级100的用户的属性初始值。详细数据表:每个用户的具体属性。

二、一个详细的例子。
单纯的讨论数据流程是件痛苦的事情。
讨论程序而不给代码也是比较痛苦。
这里用的是php+mysql的。
那就按一个超简单的webgame的方式来讨论。配上适当的代码。应该有所帮助。不足的地方也请大家指出,对我个人也是帮助。
我们不去考虑游戏的可玩性,数值平衡等等问题。我们先只考虑一个简单例子的实现。
那么一个webgame的基本内容需要些什么呢?
数据库:玩家、地图、城市、建筑、武器、士兵。
功能:登陆、升级、个人战斗、士兵之间的战斗、与城市的战斗、修建建筑、打造武器、买卖道具。
(注意:每一个功能,必然对应1个或多个数据表。上面数据库中所列的只是基础中的基础。)
首先是地图、城市、建筑。
这里认为,地图可以有多张,城市在地图上,建筑在城市内。
地图表
Map :Map_ID ,X坐标, Y坐标,City_ID(城市ID),描述。
其中Map_ID是指地图的id。不是自动编号。一张地图就是一个Map_ID,可以重复。
城市表
City:City_ID,城市名字,城市所有人,城市等级,城市资源,描述。
建筑表
Build:ID,City_ID,建筑名称,建筑等级,建筑功能。
其中,地图表确定城市的位置,城市表确定城市的相关数据以及所有人,建筑表内的多条信息属于某一个城市。
建表后,显示出来。
一个for循环。把地图表整个取出来就ok。
跟普通网站的新闻列表没太大区别。不同的是,你需要取得X坐标和Y坐标定位。可以用tabel也可以用div。
class Map//地图类
{
var $Map_ID;
function Map_bg_css($Map_ID) {
$this->Map_ID = $Map_ID;

mysql_select_db($db_name,$link);
$sql=”select * from map where Map_ID=’”.$this->Map_ID.”‘ limit 1″;
$result=mysql_query($sql,$link);
echo “<style type=”.”text”.”/”.”css>”;
$rs=mysql_fetch_array($result);

echo “#map{”;
echo “position:absolute;”;
echo “width:”.$rs[X坐标].”px;”;
echo “height:”.$rs[Y坐标].”px;”;
echo “z-index:0;”;
echo “left:0px;top:0px;}”;

}

function Map_bg($Map_ID){
$this->Map_ID = $Map_ID;

$sql=”select * from map where Map_ID=’”.$this->Map_ID.”‘”;
$result=mysql_query($sql,$link);
while($rs=mysql_fetch_array($result))
{
echo “<div id=Layer_bg_”.$rs[X坐标].”_”.$rs[Y坐标].”>”;
echo “<img src=”.$rs[Map_bg].” border=0 title=”.$rs[ID].”></div>”;

}

}
}
上面是一个很简单的地图类。代码可能不太正确,意思是正确的。就是根据map表中的坐标,生成了一组div层,以及这一组层的css。
你可以改为table的。你可以也把坐标放到一个字段里,用数组的形式取。
使用的时候,用
new map;
map(N);
其中N是map表里的地图Map_ID.
城市内的建筑也类似。如果要显示出来的话。

有了地图和城市后。
涉及到的问题就是城市里资源的产生。
这时候,City表里需要有可供判断的时间和数量的字段。
比如:产生资金量Money,产生资金花费的时间Action_Time,上次产生资金时间Money_time。
这两个字段的数值应该在City_base表里出现。(即城市基础表,不同等级,不同类型城市的对应数值。这是给策划填数据用的,建好表后就等策划去头痛吧。如果你身兼数职。。。)
如何自动产生资源呢?
我们可以在城市所有人改变的时候,写入一个时间。或者在城市初始化的时候写入一个时间。
$Now_Time=date(’Y-m-d H:i:s’);
(说明:$开头是变量的意思。php里特有的。如果是asp的话可以写成。Now_Time=Now() )
把$Now_Time写入到Money_time里。
update(”UPDATE City SET Money_time=’$Now_Time WHERE City_ID=’$City_ID’ LIMIT 1;”);
$City_ID是你自己定义的。指某一个城市。如:$City_ID=1;
我们假定当前城市产生资金量为100。即$Money=100;(具体的数值,应该是由City_base表里取出的。)
假设间隔时间为$Action_Time,我们再假定是每小时执行一次。即$Action_Time=3600;(具体的数值,是根据你的初始化表里取得的。也可以根据城市等级或者用户等级取得。反正随便你自己怎么设定。)
这时候,有基础时间了。有基础资金产量了。有间隔时间了。
让它循环执行起来就行了。
上面说过,服务端用C语言定时器。客户端用javascript。
服务端,资源定时器设定为5分钟执行一次。那么我们的误差就是5分钟。对网页游戏来说,可以接受。(战斗的定时器得1分钟吧。当然服务器够牛的话,几秒钟都可以。)
每次执行什么代码呢?
首先得新建一个定时器任务的表。目的就是让定时器知道需要执行哪些程序和数据的更新。表内容比如:城市资源更新。当然,这个表可要可不要。建立的好处是方便处理类似保护状态不产生资源之类的问题。
服务端程序:
获得当前服务器时间。
获得当前需要更新城市。
判断服务器时间与$Money_time的时间差。(时间戳,具体的时间戳网上资料满多的。)
判断时间差是否大于$Action_Time。
大于,则更新资源。同时更新$Money_time。
小于,则无操作。
客户端程序:
获得当前服务器时间。
获得当前城市的$Money,$Money_time,$Action_Time。
使用javascript显示剩余时间的倒计时,以及增加的资源量。
客户端特殊情况触发:
因为客户端显示的资源情况是伪同步,所以当客户端使用该资源的时候。需要服务端将当前的实际资源更新,属于定时器处理的时间也需要更新。
即,当客户端触发涉及资源的情况时,立即更新当前资源。同时更新定时器中会用到的$Money_time。这样才不会造成,看的资源用不到,或者定时器重复产生资源。
总体来说。这部分程序都很简单。难点在C语言定时器的制作,以及前台javascipt倒计时的写法上。
C语言定时器,找个C语言程序员,超简单;前台的javascipt,网上有很多倒计时的代码,找个来改改就能用。
<SCRIPT LANGUAGE=”JavaScript”>
var maxtime = 这里是你的时间差///一个小时,按秒计算,自己调整!
function CountDown(){
if(maxtime>=0){
minutes = Math.floor(maxtime/60);
seconds = Math.floor(maxtime%60);
msg = “你的文字说明”+minutes+”分”+seconds+”秒”;//动态显示剩余时间。
document.all["timer"].innerHTML=msg;
//if(maxtime == 3) document.all["timer"].innerHTML=’只剩3秒!’;
–maxtime;
}
else{
clearInterval(timer);
document.all["timer"].innerHTML=’时间到’;
}
}
timer = setInterval(”CountDown()”,1000);
</SCRIPT>
<div id=timer></div>
这个是网上找的代码。稍微修改就可以用的。这里只是显示了倒计时。也可以改为显示资源的增加情况。
C语言里操作mysql数据库。
// TODO: Add your control notification handler code here
bool bRes = m_dbConn.Connect(”数据库ip地址”, 3306 , “用户名”, “[email=d203!@#ghj]密码[/email]“, “数据库名”);
if(!bRes)
{
AfxMessageBox(”connect fail”);
return;
}
string strSql = “select * from city limit 1″;//所有显示或取值类的都用这段。中间的sql语句可以自己构造。
ResultSet* rs = m_dbConn.ExecuteQuery(strSql);
while(rs->Next())
{
string str = rs->GetString(”username”);
AfxMessageBox(str.c_str());
}
/*
strSql = “update city set money=money +100 where City_ID=’xxx’”;//所有的增加、删除、更新都用这段,中间的sql语句可以自己构造。
bRes = m_dbConn.ExecuteUpdate(strSql);
if(!bRes)
{
AfxMessageBox(”ExecuteUpdate fail”);
}
*/
m_dbConn.Close();
定时器的主函数。
void CBeiLiDlg::Go()
{
while(true)
{
// AfxMessageBox(”go”);

Sleep(5*1000);//毫秒。定时器刷新时间。
}
}
//相当的简单..。
当然。这里的C的代码不能直接用。只是一部分。
地图、城市、基本上算是有了。
接下来是城市里的建筑。
上面讲的资源增加,其实定位在建筑上更准确。不过建筑的分类和数值会复杂很多。那是策划考虑的问题。
建筑上,只讲一个前台的修建效果。
当然,这个效果是可有可无。你可以直接给个类似新闻列表的显示,再加个倒计时就行。
显示的效果就是,点修建后。不刷新页面,调入一张动画图片。并在时间到后自动转换为其他图片。
<script language=’javascript’>
function xiujian()
{
top.abc.document.getElementById(’前台建筑位置所在图片的id’).src=’修建后建筑的图片地址’;
//显示修建后的建筑图片。可以加上后台时间判断。其中abc,是建筑所在层的id,
}
function xiujian1()
{
setTimeout(’xiujian()’,5000);//动画时间5秒。这里也可以加入时间判断。当时间不到的完成的时候,继续调用动画。
}
function donghua()
{
top.abc.document.getElementById(’前台建筑位置所在图片的id’).src=’建筑动画所在的地址’;//显示修建动画。
}
donghua();
xiujian1();
</script>
后台部分,把时间到增加资源的代码改为时间到增加或更新建筑就行了。又是增加N个表。。
建筑基础表:产出,类型,图片等等。。
建筑详细表:属于哪个城市,可以在城市表里关联。关联的方式不同会对程序有很大的影响。各种关联方式都行,但是一旦关联方式确定后,最好别改动。
现在建筑也有了。用类似的定时方式,打工,征兵等等都可以实现。
战斗,
兵的参数:兵种,数量,攻击,防御等等。
战斗的临时表:谁的兵,打谁,出发时间,战斗时间,战斗结果。
这里的几个字到是简单。实际的表会复杂一些。
webgame中,战斗的过程分两种,
一种是给出双方参数,时间到,就根据公式计算结果。
一种是半即时或者即时的战斗,可以边打边喝药边用技能的那种。
第一种流程。
点出兵。这时候,兵的参数,出发时间,到达时间,都记录进战斗临时表。
定时器中,处理战斗的部分,判断时间是否到开打的时候。到开打的时间了,则取得被攻击方的兵的参数。然后通过几个公式计算结果。处理结果,比如谁的兵挂了多少,战场掉落了多少钱,城市被谁抢到了。一大堆判断以及updata。(这里的定时器处理和获得资源的定时器处理是很类似的。)
最后把结果分别发给双方。(又涉及到一个短信息系统。)
第二种流程。
点攻击。马上就处理数据。打打npc好做。玩家之间对战,也可以把被攻击的玩家当成npc来处理。
两个人或两人以上即时战斗。需要用到ajax了。目前在技术上和理论上是没问题的,还没实际写代码,所以不好讲。
很简单的公式,两种战斗都可以用到:
intval(sqrt($User_B_AP)-sqrt($User_A_DP));
根号下攻击-根号下防御=伤害。

⑵ 网页i游戏什么好呢,谁推荐个

大小世界,动作横版解谜类游戏,游戏中,随着玩家的逐渐成长,会参与到拯救世界的整体事件中,体会到改变世界的成就感,丰富的关卡,趣味的任务故事,各种解密,收集, NPC,等等,都会陪伴着玩家成长。以上的这些内容也会随着关卡特色的改变而改变。大量的装备及道具,让玩家可以自由更换,从而打造出属于自己性格的游戏角色。不仅如此,《大小世界》里还为玩家准备了强大的合成系统,各式各样的装备图样,按照图样,玩家在关卡中收集材料,打造出独特的装备,于此同时玩家还有机会打造出第一无二的装备

⑶ 经典网页游戏代表

2010必玩网页游戏排行榜

1.摩尔庄园(综合评分:★★★★★★★★☆☆)

摩尔庄园是一个快乐美妙的网上虚拟乐园,健康、快乐、创造、分享是这个乐园的主题。在摩尔庄园,每个小伙伴都化身一只可爱的小鼹鼠摩尔,穿上自己挑选的漂亮装扮,带上自己喜欢的玩耍道具,跟其它的小摩尔一起玩游戏、打水仗、捉迷藏,可以一起来到雪山上,进行一场刺激的摩尔滑雪比赛,还可以在农场里整理蔬菜,在牧场里养小动物。

2.丝路英雄(综合评分:★★★★★★★★☆☆)

《丝路英雄》以汉朝英雄探寻丝绸之路,抵御异族为背景,描绘了围绕着丝路周边刚健宽厚的东方民族,浪漫主义的西方民族以及神出鬼没的神秘中东势力所发生的风云战史。通过冒险副本的展开,无双英雄的加入,博弈式的战斗方式,让丝路的战争更加的多样刺激。你可以选择单人修炼,多人组队杀怪,还可以成立联盟,一呼百应的成为万王之王。

3.大富豪(综合评分:★★★★★★★★☆☆)

《大富豪》是一款最接近现实的模拟经营网页游戏,十分受创业者的喜爱,尤其是对喜欢赚钱赚钱的朋友来讲,是一种诱惑。游戏无需任何下载,无电脑配置要求,只需一个普通浏览器,就可以进入一个属于经商的世界,作为董事长,你需要有足够的智慧在这个梦想之都发展,让你的商业传奇传遍梦想之城。
《大富豪》是一款号称终结金融危机的商业经营webgame。这类经商游戏,因此在金融危机下深受玩家追捧。

4.天书奇谈(综合评分:★★★★★★★★☆☆)

“天下之事合久必分,原本这天书界内为朝云一国所统制。”300年前,长生门的掌门江灵子偶遇一本无字天书。参悟数年后,得道飞升,留下了自己得道的心得《归元密录》,一时间修仙之风盛行。江灵子得道飞升之后,无字天书降落人间。300年后,武林风云再起,一场决战拉开序幕……
为了追寻无字天书的下落,《天书奇谈》玩家将扮演一个修仙奇才去拯救乱世,演绎一段充满神话幻想的传奇故事。

5.仙域(综合评分:★★★★★★★☆☆☆)

《仙域》是一款费时三年耗资千万打造的东方仙侠背景的MMORPG网页游戏,它是网页游戏第一款2.5D作品,具有里程碑意义。它突破性的推出了多人共乘的坐骑系统,并将带有浓郁文化的奇经八脉引入到了角色和角色的宠物中。游戏中通过超过100万字的任务为主线,将玩家紧紧凝聚在一起。

6.弹弹堂(综合评分:★★★★★★☆☆☆☆)

《弹弹堂》被誉为人型疯狂坦克+冒险岛结合的最佳Q版游戏,可爱的游戏画面,童话般的场景,百变时尚的换装,让5i游戏网的《弹弹堂》成为玩家的最爱。而游戏中战斗的华丽特效、技巧的较量、趣味的辅助道具系统,也让这款游戏备受男性玩家青睐。

7.热血三国 (综合评分:★★★★★★☆☆☆)

《热血三国》是一款三国背景的网络即时战略游戏。它采用全新的flash网页技术,在IE浏览器上输入游戏网址,即可进行游戏。《热血三国》拥有远超同类游戏的精美画面、庞大复杂的战略系统和无与伦比的游戏可玩性,是战略类游戏的巅峰之作。《热血三国》的玩家将在游戏中扮演一名乱世中崛起的将领,逐步建设城池,发展建筑,提升科技,招募军队,并开拓新的城池。烽火战国

8.(综合评分:★★★★★☆☆☆☆)

《烽火战国》是腾讯公司全力打造的一款策略类网页游戏,也是腾讯首款自主研发的网页游戏;这款游戏以战国争霸为背景,故事内容大气磅礴,各种任务扣人心弦,游戏画面写实精致,游戏进入快捷、操作简单;在游戏体验上强调并注重玩家之间的合作、成长及相互对抗,引导玩家团队间的大型PK及玩家与国家间的对抗,让玩家身临其境地感受运筹帷幄、争霸天下,改写历史的豪情和爽快。

9.英雄之城 (综合评分:★★★★★☆☆☆☆)

《英雄之城》是一款集战争策略、角色扮演、模拟经营三种流行要素为一体的网页游戏。游戏以战争策略为主,并采用了在单机游戏中较流行的英雄无敌题材。以人、精灵、亡灵、野蛮人四大种族之间的矛盾建立世界观和游戏背景,使玩家在游戏过程中也能够感受到重温英雄无敌带来的快乐。

10.武林英雄 (综合评分:★★★★★☆☆☆☆)

《武林英雄》是一款角色扮演类网页游戏,游戏正在公测,打开网页就能玩。《武林英雄》故事发生在六国合纵抗击强秦的时期,为了探询古代秘术而利用时光机穿越回春秋战国时期的各位精英们,以流浪者的身份秘密加入六国,拿起武器,协助六国抵御强秦的侵略。为了成功达到目的,各位英雄们必须学会古代武学,来完成这造福千古的伟业!

11.商业大亨(综合评分:★★★★★★★☆☆☆)

《商业大亨ONLINE》是一款商业类模拟经营网页游戏。玩家将扮演一位创业者,从零开始,在“自由城”中拼搏。通过努力,不断的扩大自己的事业版图与社会地位,直至成为声名显赫的社会名流,最终建立一个强大的商业帝国。在这里,可以实现您的梦想,成就超凡伟业,构建出自己心中的商业王国!从建立公司那一刻开始,迎接您的将是不断的挑战和思考。

12.武林传奇2(综合评分:★★★★★★★☆☆☆)

《武林传奇2》是“武林传奇”系列的续作,前作曾被业界评定为最成熟的RPG网页游戏。作为51wan两周年的献礼力作,以全新的游戏画面、史诗级的剧情背景、可自由养成的神器系统、万能的个人家园等四大特色为大家呈现了一款更中国、更武侠的网页游戏。

13.明朝时代(综合评分:★★★★★★★☆☆☆)

《明朝时代》是09年最潮流的Webgame史诗巨作,是角色扮演、策略、冒险等多种游戏模式的完美结合。整个游戏以大明王朝为背景,复古的人物造型、地大物博的中国地图,加上丰富的游戏系统和新颖的游戏设定,打开网页,就能开始明朝之旅。

14.三国风云 (综合评分:★★★★★★☆☆☆☆)

《三国风云》是一款无需安装客户端就可以直接在浏览器上玩的MMOSLG(多人在线模拟策略)游戏。游戏结合了模拟经营和战争策略,玩家需要通过对资源的原始积累来发展城市建设,通过招募武将和军队来提升军事实力,通过合纵连横来谋取成熟的外交关系,最后扩张自己的实力而雄霸一方或完成统一大业。

15.魔力学堂 (综合评分:★★★★★★☆☆☆☆)

《魔力学堂》是一款以架空大陆幻想校园剧本为背景题材的大型角色扮演类回合制Q版网页游戏。该游戏由杭州泛城科技专业游戏制作团队精心制作,将现有最优秀的网页游戏技术与梦幻式的校园文化相结合,被称为“WebGame版哈里波特”。

⑷ 哪一款网页游戏比较好玩

差不了多少的.少毒点吧:http://game.21cn.com

⑸ 求游戏王网页游戏!!!

虽然不是网页游戏,但是我比较推荐这个(可以联机的):

游戏王ygocore:4645张卡,目前持续更新中,主流卡组、常用的卡、新卡基本都有(比如甲虫、圣刻、英豪、先史遗产、魔式甜点、魔导书、齿轮齿轮等系列),全自动操作。 可以利用FH服务器、mycard、信景等方式很方便得和其他玩家联机对战。

⑹ 建设城池的网页游戏

我玩的大侠传,里面的美女很多啊,,还有女仆系统的···呵呵

⑺ 网页游戏什么最好玩

朋友你好!
在我玩过的网页游戏里《三国》是最好玩的:画质很精美,,是像战争策略类的那种,玩起来轻松容易,还有,也不用下载挺方便的,……(当然,优点还有很多,比经营类的好玩多了,它一定会让你喜欢上的!)强烈推荐!
参考资料:http://u.9wee.com/uport/u60116959_107_0_0
满意就点赞啊!
谢谢!

⑻ 游戏王有没有网页游戏

有,游戏王OW,但是需要花钱,而且卡不全,没有超量怪兽,不建议使用

请你选择以下几种方式玩游戏王
1、iDuel、NBX:全卡(5400多张),但是每一个效果都需要手动操作。
2、ygocore:4671张卡,【最新版还支持2VS2模式】,目前持续更新中,主流卡组、常用的卡、新卡基本都有(比如甲虫、圣刻、英豪、先史遗产、魔式甜点、魔导书、齿轮齿轮等系列),全自动操作。 可以利用FH服务器、mycard、信景等方式很方便地和其他玩家联机对战。
3、用NDS模拟器玩WCS2011卡片汉化版
4、用PSP模拟器玩TF6卡片汉化版

只有第三种和第四种是有电脑AI的,其他两种只能在网上找人对战
【建议使用ygocore,去网络的“游戏王ygocore”贴吧能下载 】