开心网辅助程序开发手记(三):实现停车功能2011-12-13 博客园 jailu在前面的两篇手记中,较为详细的介绍了如何借助工具对网页进行分析及如何编写代码实现一些简单的功能。如果还有后续手记,笔者将只简单记录《开心网辅助程序》开发过程中碰都的主要问题及解决方法。在这篇手记中,笔者将简单描述如何实现简单的停车功能,并且制作一个简单的界面用于呈现系列手记的开发成果。一、识别好友私家车位中的免费车位:把车停到免费车位中可是会分文无收到,所以千万不能把车停到免费车位上了。通过Firebug调试发现,当玩家点击“争车位”中部Flash中的停车按钮时,parking-7.js中第169行当parking_park方法将被执行。
g_curparkid = parkid;
var v_park_free = (parseInt(g_curparkid) >> 16) & 0xff;在parking-park中,有以上代码。其中传入参数parkid就是在《开心网辅助程序开发手记(二):获取好友私家车位信息》获取的好友私家车位信息中的parkid。对Javascript不了解到朋友看到这段代码可能会犯晕,不明白其中的含义。1. Javscript中的位运算符">>":关于JS中的位运算符,请参考http://www.w3school.com.cn/js/as_js_operators_bitwise.asp。其实在C#中,右移运算符也是">>"。如:67174403 >> 16 = 1025;2.0xff:这个其实是以16进制表达的数字,对应着十进制中的255在程序中,笔者在ParkingInfo这个实体类中添加了一个属性IsParkFree来标志车位是否免费
/// <summary>
/// 是否为免费车位
/// </summary>
public bool IsParkFree
{
get
{
return Convert.ToBoolean(ParkId >> 16 & 255);
}
}