想自己做个手机怎么玩网页游戏戏玩怎么搞

我想在局域里做一个传奇2的私服.仅供内线玩 .不知道怎么去假设啊.我需要它的源程序..请各位大虾帮忙啊
全部答案(共6个回答)
xp下要关掉管理工具/服务中的 ssdp discovery
另要做好防木马的准备 80%游木马
别因小失大
1、修改文件:建议把所有的文件文本文件和配制文件全看看。看到目录地址就改成你的文件所在的地址。IP改成你自己的IP。单机的不需要修改可以使用原IP地址。如果在局域网里玩一定要修改成作服务器的机器IP地址。文件地址如不一样需要修改。以嘟嘟在线汉化版为例:嘟嘟在线的所有有关的文件里文件地址全是C:\MIRSERVER\……比如我的文件放在C:\SERVER\……下就要把所有带C:\MIRSERVER\……的文件里的C:\MIRSERVER\……替换成C:\SERVER\……IP地址的修改单机玩所有带IP地址的文件里的IP地址全改成 。如果在局域网里玩的话要改成作服务器机器的IP地址。例如我在公司里的服务器IP地址是 就在所有带IP地址的文件里把IP地址改成
2、DBC软件的设置:这里大家要注意的只有一点最后的一项添的是私服文件的地址不要*搬硬套的添,要根据自己的文件地址的所在添写。切记切记!
3、私服的启动:大家在这里问题较多。但是集中在不开门和开门后黑屏。不开门和开门后黑屏可能是文件没全改对,改对部分文件地址和IP地址所导致的结果。还有就是遇到Not ready
这是软件在开放某端口失败的报错。这里我也没什么办法但是我曾经也遇到过,问题是出在WIN98操作系统下的。我换到WIN2000SERVER上问题没了,文件我一个字也没改。但是在WIN2000SERVER上也出过一次这样的问题,我以为问题很严重想重起计算机就把所有的程序都关闭了,是用servercontrol.EXE程序关的,就是那个类似扳手的那个程序。是按的Start停止按钮关闭的所有的程序,手动关闭了最后扳手不关闭的程序。用CTRL+ALT+DEL结束了系统不必要的程序如病毒放火墙。注:在结束时一定要小心不要把系统搞崩溃了。然后立刻再用扳手从新启动私服问题解决了。所以建议大家在启动前关闭系统不必要的程序。还有就是地图出错,这并不是什么地图文件损坏或什么不对,而是你的私服里根本没有地图文件。论坛里有地图的下载地址。去下载一个覆盖马上OK。最近有人提出在私服读取行会资料时读出很多但是自己却没建立行会。这时因为嘟嘟在汉化后测试的行会资料。如果不愿意要我在后面有删掉的方法。
4、客户端的配制:客户端的配制很简单注意的地方是客户端的IP地址和服务器的名字是否和服务器端设置一致。如不一致这也很有可能造成不开门和开门后黑屏的结果。
5、注册时的问题:首先我要提醒大家注册时尽量不要用中文这样很有可能出问题的。第二名字也不要过长。特殊符号也不要用安全起见吗。其它我想不到的请大家帮我补充吧。
6、GM命令的问题:这个大家讨论的也很多,不能使用GM命令的问题在于你是不是把GM帐号放到X:\…\Mir200\Envir\ADMINLIST.TXT文件里了,注意是帐号而不是游戏中角色的名字。还有就是在X:\…\Mir200\!setup.TXT下的设置是不是正常模式。如果是正常模式就不能用GM指令。部分GM指令可以使用。也要注意中英文的差别,中文不行换英文。
7、开始级别和金钱的问题:有人的私服设定开始级别是50级钱有很多可是进入后却是1级没钱这是为什么呢?这也和X:\…\Mir200\!setup.TXT下的设置有关,正常模式肯定是1级没钱如果是测试状态那就会是50级和很多钱了。
8、沙吧克的问题:很多有人包括本人再内提出不能雇佣弓箭卫士和大刀卫士。进入游戏后看弓箭卫士和大刀卫士的名字是什么就把Archer改成弓箭手Guard改成大刀卫的名字就好了。本人没时间试如果不行请原谅。如果懒的攻城或者不想等攻城的时间可以把X:\…\Mir200\Envir\Castle\sabukw.TXT里第三行OwnGuild=的等号后面改成你的行会名字就OK了。顺便说一句CastleName=等号后面可以填上沙吧克,或着填传奇狂人之城。效果吗……嘿嘿大家自己去试试看吧。TotalGold=等号后面的数字是城里的钱数大家可以顺便改不要改的太大啊。用完了再来改。我在想如果哪家银行可以让我随便改我自己户头的钱哪该多好啊!
9、删除行会:在X:\…\Mir200\GuildBase\GuildList.TXT文件,这个文件是全部行会的名字统计。X:\…\Mir200\GuildBase\guilds\这个目录里是行会的详细资料。成员名单、行会公告全在这里。
10、进入游戏后确认公告和对话框内的蓝字公告的删除方法:这两个公告的文件是在X:\…\Mir200\Notice\目录下。linenotice.txt文件里是对话框内的蓝字公告。notice.txt文件是刚进入游戏的确认公告。大家可以随便改但是注意文字的长度。
11、玩家ID的文件:玩家的ID文件有两个,一个放在D:\SERVER\du-du\mud2\DBSrv200\FDB\目录下的所有文件是角色文件,也就是说这里存的是ID里的角色名字和职业等级什么的。D:\SERVER\du-du\mud2\Logsrv\IdDB\这个目录主要是注册ID信息,帐号和密码还有密码找回的问题和答案电话电子邮箱一系列注册时填的全在这了。两个目录里应该全是三个文件,如果不是哪就是我的出问题了。这两个目录里的六个文件系统定时备份。大家要是备份记录要把六个文件全备份了以防不测。
一台电脑可以的,现在主流的机子都开的起来,内存越大越好。网速也没需要多大,我这512K的100个人同时在线都没问题的。数据的流量都不大。你去下个服务端还有DBC...
怎样调节、控制自己的情绪
人不可能永远处在好情绪之中,生活中既然有挫折、有烦恼,就会有消极的情绪。一个心理成熟的人,不是没有消极情绪的人,而是善于调节和控制自己...
进入自己的微博,在头像旁边,个人信息那里就有微博账号!
我不是很清楚你的意思是自己做奶油还是买回来奶油自己打发,所以全都列出来了。你可以作了奶油再打发,我们平时吃的很蓬松柔软的奶油是打发出来的效果。所以关键还是如何打...
一:男人千万要记住,自家女人绝对不要拿来和别的女人比较。不要老说别人的老婆如何如何好,别数落她不漂亮,她能嫁给你那是你的福气,你还这么说,真是很不应该。对大多数...
答: 重庆后一定位胆计划要怎么弄?
答: 内心里有矛盾的挣扎.也许是因为在女性那里受过伤,所以心里会有排斥的感觉,可是做为一个男人,异性又会对你产生不可抗拒的吸引力.
先要把心里的伤治好才行,倒底是女性...
答: 新区后面有写新自己看.
每家运营商的DNS都不同,而且各省的也不同。你可以问问你的网络提供商,他们会告诉你的。(也可以通过分别访问域名和IP来检查DNS是否正常,访问域名不行,而访问IP可以,则说明DNS设置不对)
另外,如果ADSL-电脑没问题,一般ADSL-路由器也没问题的。而且采用ADSL拨号的话,DNS可以不设置的,拨号成功后会自动取得DNS服务器。
问题可能出在路由器设置上。进去检查一下吧。看看上网方式,上网用户名密码是否正确。
(有个问题要注意一下,有些地方的运营商会限制使用路由器或者限制接入数量,一般是采取绑定网卡MAC地址的方式,如果路由器设置都正常,试试路由器的MAC地址克隆功能,把电脑网卡的MAC复制过去)
餐饮业厨房产生的油烟,顾名思义,废气中主要污染物为油烟,一般采用静电除油。
液化气属较清洁能源,废气污染程度不高,主要含二氧化碳一氧化碳吧。
柴油属石油类,废气含二氧化硫和氮氧化物,二氧化硫碱液喷淋即可去除,氮氧化物主要以一氧化氮为主,要催化氧化成二氧化氮才能被碱吸收,造价成本非常高,一般的柴油发电机尾气难以治理,除非大型发电厂。
煤炭废气含二氧化硫多,一般常用的脱硫工艺即可。
目前我们的生活水平必竟非同以往.吃得好休息得好,能量消耗慢,食欲比较旺盛,活动又少,不知不觉脂肪堆积开始胖啦。                                                                                         减肥诀窍:一.注意调整生活习惯,二。科学合理饮食结构,三。坚持不懈适量运动。
   具体说来:不要暴饮暴食。宜细嚼慢咽。忌辛辣油腻,清淡为好。多喝水,多吃脆平果青香焦,芹菜,冬瓜,黄瓜,罗卜,番茄,既助减肥,又益养颜,两全其美!
有减肥史或顽固型症状则需经药物治疗.
如有其他问题,请发电子邮件:jiaoaozihao53@ .或新浪QQ: 1
你用的是工行的卡吗?到工行网站问了一下,下面是它们版主的回答——您好~
1、您可以拨打95588或通过网上银行等渠道查询消费明细。
2、若您的信用卡开通了网上银行。请您按照以下地址进行登录。工行网站地址: 点击“个人网上银行登录”或工行个人网上银行地址: 按照系统提示输入相关信息后即可登录。
“网页错误”请您进行以下操作:
(1)打开IE浏览器,选择“工具”菜单--&“Internet选项”--&“高级”标签--&点击“还原默认设置”,点击“确定”后关闭所有IE浏览器窗口;
(2)打开IE浏览器,选择“工具”菜单--&“Internet选项”--&“常规”标签--&Internet临时文件设置中的“检查所存网页的较新版本”选择“每次访问此页时检查”。并在Internet临时文件设置中点击“删除文件”,在“删除所有脱机内容”前打勾后点击确定关闭对话框,关闭所有IE窗口;
(3)打开IE浏览器,选择“工具”菜单--&“Internet选项”--&“安全”标签,在“请为不同区域的Web内容制定安全设置(z)”窗口内选择“Internet”,然后选择“自定义级别”,将“Activex控件和插件”中“下载已签名的Activex控件”、“运行Activex控件”等设置为“启用”或“提示”,点击确定后,请重新启动电脑;
(4)若您安装了3721上网助手之类的软件,请您将其完全卸载;
(5)请登录工行门户网站 ,点击“个人网上银行登录”下方的“下载”。进入下一个页面后,下载并安装控件程序。
(6)若仍无法正常使用,建议您重新安装IE6.0或以上版本的IE浏览器,并使用WINDOWS系统的UPDATE功能安装补丁。
3、您可以通过网上银行查看对账单进行还款。
4、是可以的。您需要通过网上银行办理跨行转账业务。
如果您想在网上办理跨行汇款,请使用“工行与他行转账汇款”功能,您除了需要申请开通网上银行对外转账功能,还需要您所在地区开通网上跨行汇款功能。若未开通,那么在操作时系统会提示您的(国际卡及香港信用卡无法使用此功能)。
从日起,柜台注册且未申请U盾或口令卡的客户,单笔交易限额、日累计限额以及总支付交易限额均为300元,9月1日前支付额度已经达到300元的客户需到网点申请电子口令卡或U盾(从注册日起计算支付额)。
若目前已达到交易限额但急需支付,建议您可通过下列方法变更交易限额:
1.申请U盾。u盾客户不再受交易限额和支付次数的限制。此外,使用u盾,您可以享受签订理财协议等服务项目,并在您原有使用基础上大大加强了安全性。如需办理U盾,请您本人携带有效身份证件和网上银行注册卡到当地指定网点办理U盾,办理手续及网点信息请您当地95588服务热线联系咨询。
2.申办口令卡。您本人可持有效身份证件、网上银行注册卡到当地指定网点申办口令卡。申办电子口令卡后,个人网上银行单笔交易限额1000元;日累计交易限额5000元,没有总支付额度控制;电子银行口令卡的使用次数为1000次(以客户输入正确的密码字符并通过系统验证为一次),达到使用次数后即不能使用,请及时到我行营业网点办理申领新卡手续。
考虑是由于天气比较干燥和身体上火导致的,建议不要吃香辣和煎炸的食物,多喝水,多吃点水果,不能吃牛肉和海鱼。可以服用(穿心莲片,维生素b2和b6)。也可以服用一些中药,如清热解毒的。
确实没有偿还能力的,应当与贷款机构进行协商,宽展还款期间或者分期归还; 如果贷款机构起诉到法院胜诉之后,在履行期未履行法院判决,会申请法院强制执行; 法院在受理强制执行时,会依法查询贷款人名下的房产、车辆、证券和存款;贷款人名下没有可供执行的财产而又拒绝履行法院的生效判决,则有逾期还款等负面信息记录在个人的信用报告中并被限制高消费及出入境,甚至有可能会被司法拘留。
第一步:教育引导
不同年龄阶段的孩子“吮指癖”的原因不尽相同,但于力认为,如果没有什么异常的症状,应该以教育引导为首要方式,并注意经常帮孩子洗手,以防细菌入侵引起胃肠道感染。
第二步:转移注意力
比起严厉指责、打骂,转移注意力是一种明智的做法。比如,多让孩子进行动手游戏,让他双手都不得闲,或者用其他的玩具吸引他,还可以多带孩子出去游玩,让他在五彩缤纷的世界里获得知识,增长见识,逐渐忘记原来的坏习惯。对于小婴儿,还可以做个小布手套,或者用纱布缠住手指,直接防止他吃手。但是,不主张给孩子手指上“涂味”,比如黄连水、辣椒水等,以免影响孩子的胃口,黄连有清热解毒的功效,吃多了还可导致腹泻、呕吐。
合肥政务区网络广告推广网络推广哪家公司比较好 一套能在互联网上跑业务的系统,被网络营销专家赞为目前最 有效的网络推广方式!
1、搜索引擎营销:分两种SEO和PPC,即搜索引擎优化,是通过对网站结构、高质量的网站主题内容、丰富而有价值的相关性外部链接进行优化而使网站为用户及搜索引擎更加友好,以获得在搜索引擎上的优势排名为网站引入流量。
良工拥有十多位资深制冷维修工程师,十二年生产与制造经验,技术力量雄厚,配有先进的测试仪器,建有系列低温测试设备,备有充足的零部件,包括大量品牌的压缩机,冷凝器,蒸发器,水泵,膨胀阀等备品库,能为客户提供迅捷,优质的工业冷水机及模温机维修和保养。
楼主,龙德教育就挺好的,你可以去试试,我们家孩子一直在龙德教育补习的,我觉得还不错。
成人可以学爵士舞。不过对柔软度的拒绝比较大。  不论跳什么舞,如果要跳得美,身体的柔软度必须要好,否则无法充分发挥出理应的线条美感,爵士舞也不值得注意。在展开暖身的弯曲动作必须注意,不适合在身体肌肉未几乎和暖前用弹振形式来做弯曲,否则更容易弄巧反拙,骨折肌肉。用静态方式弯曲较安全,不过也较必须耐性。柔软度的锻炼动作之幅度更不该超过疼痛的地步,肌肉有向上的感觉即可,动作(角度)保持的时间可由10馀秒至30-40秒平均,时间愈长对肌肉及关节附近的联结的组织之负荷也愈高。
正在加载...
Copyright &
Corporation, All Rights Reserved
确定举报此问题
举报原因(必选):
广告或垃圾信息
激进时政或意识形态话题
不雅词句或人身攻击
侵犯他人隐私
其它违法和不良信息
报告,这不是个问题
报告原因(必选):
这不是个问题
这个问题分类似乎错了
这个不是我熟悉的地区
相关问答:123456789101112131415怎么制作一个网页游戏?_百度知道
怎么制作一个网页游戏?
采纳数:104
获赞数:264
擅长:暂未定制
一、简单的程序框架。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:”;
echo “width:”.$rs[X坐标].””;
echo “height:”.$rs[Y坐标].””;
echo “z-index:0;”;
echo “left:0top:0}”;}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的。你可以也把坐标放到一个字段里,用数组的形式取。使用的时候,用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=//if(maxtime == 3) document.all[&timer&].innerHTML=’只剩3秒!’;–}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 herebool bRes = m_dbConn.Connect(”数据库ip地址”, 3306 , “用户名”, “[email=d203!@#ghj]密码[/email]“, “数据库名”);
if(!bRes){AfxMessageBox(”connect fail”);}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));根号下攻击-根号下防御=伤害。
小甜甜爱亮亮
来自娱乐休闲类认证团队
小甜甜爱亮亮
采纳数:1327
获赞数:3075
擅长:暂未定制
一、简单的程序框架。webgame程序构成:三大部分。第一是数据流程。第二是程序。第三是美术。其中,数据流程包括了功能。也只有在功能中才能体现数据流程。数据流程相当的麻烦,后面再讨论。比如最简单的卖买产品。要实现这个功能。那么需要有产品基础表、产品详细表、商店表、背包表。如果扩展性更强,相应的双表是少不不了的。表的问题都简单了。关键是这个物品有什么用。这样物品的来源,一大堆数据,物品的走向,又是一大堆数据。最后,这些数据得绕成一个圈。绕圈是一件困难的事情。特别是功能和道具多了起来的时候。难度是2的n次方。美术:UI。简洁漂亮的界面总会有好处。小图标。道具,地图,装备。一类至少10个吧?大体上百把个是需要的。程序分5个部分:服务器定时器。(C语言或自己设定服务器)定时循环执行某一段代码。而这段代码主要是根据数据库的数据进行更新。这个可以找个C语言程序员来做。对于C语言程序员来讲,这个功能是相当的简单。当然,具体的处理数据的判断和操作数据库,需要你自己写。让C语言程序员给你段标准代码就行了。完全支持sql语句的。功能页面、功能函数。主要就是数据存取,判断,数据走向。ajax函数。(可选)某些需要伪即时的功能要用到。javascript函数。(可选)模拟客户端的数据计算。也就是webgame的与时间相关的数据。分为两部分。一部分是真实数据,是由服务器端的定时器计算的。另一部分是只有初始值,客户端显示用的。不需要即时同步,仅仅需要模拟同步就行。数据库。一大堆基础数据表和详细数据表。基础数据表:比如等级1到等级100的用户的属性初始值。详细数据表:每个用户的具体属性。在那个网络泡沫经济高速扩张的年代,在那个大量菜鸟网民拥入网络的年代,在那个文字MUD已经逐渐衰退而网络游戏又尚未兴起的年代,WebGame——这种新颖玩意儿的推出,无疑让很多人为之惊艳。仅仅通过简单注册,就可以边玩游戏边泡论坛。尽管只有简陋的游戏界面、一堆文字、几张图片,游戏方式也不过是刷新页面而已,但WebGame却带来了无限的乐趣和遐想,同时还演绎了让无数人刻骨铭心的爱恨情仇。如今网络游戏百花争鸣,到处充斥着唯美的人物和绚丽的光影。你会偶尔缅怀那些逝去的岁月吗?至少在我心底,一直有数款难以忘怀的WebGame。WebGame,顾名思义就是基于Web浏览器的网络在线多人游戏。从诞生发展至今,WebGame大概分为三种类型:一是基于Web浏览器,使用PHP/ASP/Perl等解释语言建设的虚拟社区;二是基于Web浏览器,使用Flash/JAVA技术制作的游戏;三是需要下载客户端并连接专用服务器运行的游戏。当年在网络泡沫经济的推动下,国内涌现了不少规模较大的WebGame。例如《第九城市》 、 《逸飞岭》等,以及活跃在各信息港的不同版本的《笑傲江湖》。是国内第一批基于Web浏览器而产生的WebGame。当时它们所冠的头衔不是Game,而是虚拟社区。除了基本的BBS功能之外,网民还可以在虚拟社区里练级、打工、赛马、喂养宠物、建立家庭等等。基本上能在网络游戏中所做的事,在当时的虚拟社区一样可以做。不同的是,网络游戏更直观一些,而虚拟社区则是以大量文字和少许图片的形式来表现。虚拟社区红火的时候,成千上万的网民为了那些虚拟数据,通宵达旦地守候在电脑面前不断刷新页面。网站访问量自然疯了似地往上飙升!在网络泡沫经济红火的时期,能增加网站访问量就等于大把地捞进钞票。自然大大小小的网站都不遗余力地抽出人力物力去开发和维护虚拟社区。
本回答被网友采纳
采纳数:104
获赞数:264
擅长:暂未定制
一、简单的程序框架。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:”;
echo “width:”.$rs[X坐标].””;
echo “height:”.$rs[Y坐标].””;
echo “z-index:0;”;
echo “left:0top:0}”;}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的。你可以也把坐标放到一个字段里,用数组的形式取。使用的时候,用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=//if(maxtime == 3) document.all[&timer&].innerHTML=’只剩3秒!’;–}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 herebool bRes = m_dbConn.Connect(”数据库ip地址”, 3306 , “用户名”, “[email=d203!@#ghj]密码[/email]“, “数据库名”);
if(!bRes){AfxMessageBox(”connect fail”);}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));根号下攻击-根号下防御=伤害。
为你推荐:
其他类似问题
您可能关注的内容
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 手机玩网页游戏 的文章

 

随机推荐