定时器的主函数。
void CBeiLiDlg::Go()
{
while(true)
{
// AfxMessageBox("go");
Sleep(5*1000);//毫秒。定时器刷新时间。
}
}
当然。这里的C的代码不能直接用。只是一部分。
新的方法是,通过php定时器类负责前台、时间到后,调用ajax执行完成。后台通过定时执行php定时器类的专用处理函数,处理前台掉线,前台未正常执行等情况。
如果我们的新游戏今年年底能正常上线的话。我可以公开这个类,没技术含量,但是很巧妙。
地图、城市、基本上算是有了。
接下来是城市里的建筑。
上面讲的资源增加,其实定位在建筑上更准确。不过建筑的分类和数值会复杂很多。那是策划考虑的问题。
建筑上,只讲一个前台的修建效果。
当然,这个效果是可有可无。你可以直接给个类似新闻列表的显示,再加个倒计时就行。
显示的效果就是,点修建后。不刷新页面,调入一张动画图片。并在时间到后自动转换为其他图片。
Code
<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>
附带讲一下。如果要考虑多浏览器兼容,那么用prototype.js。如果只需要ff和ie。那么用而jqury.js
或尽量自己写。因为120k的prototype.js不算小。
后台部分,把时间到,增加资源的代码,改为时间到,增加或更新建筑就行了。又是增加N个表。。
新的方法是,增加事件子类。
建筑基础表:产出,类型,图片等等。。
建筑详细表:属于哪个城市,可以在城市表里关联。关联的方式不同会对程序有很大的影响。各种关联方式都行,但是一旦关联方式确定后,最好别改动。
现在建筑也有了。用类似的定时方式,打工,征兵等等都可以实现。
战斗,
兵的参数:兵种,数量,攻击,防御等等。
战斗的临时表:谁的兵,打谁,出发时间,战斗时间,战斗结果。
这里的几个字到是简单。实际的表会复杂一些。
webgame中,战斗的过程分两种,一种是给出双方参数,时间到,就根据公式计算结果。一种是半即时或者即时的战斗,可以边打边喝药边用技能的那种。







