在前面的兩篇手記中,較為詳細的介紹了如何借助工具對網頁進行分析及如何編寫代碼實現一些簡單的功能。如果還有後續手記,筆者將只簡單記錄《開心網輔助程序》開發過程中碰都的主要問題及解決方法。
在這篇手記中,筆者將簡單描述如何實現簡單的停車功能,並且制作一個簡單的界面用於呈現系列手記的開發成果。
一、識別好友私家車位中的免費車位:把車停到免費車位中可是會分文無收到,所以千萬不能把車停到免費車位上了。
通過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);
}
}