前情提要
終於完成這次的專案,先上完整Demo
由於有一些歌曲版權什麼的,我就不放下載連結了
從上一篇文章就能知道我這次主要是加入了排行榜的系統
我的排行榜是以歌曲跟難度來分類的,每個歌曲的每個難度有自己的排名
只有Top 3會顯示分數,如果要上排行榜同樣也要取得Top 3的分數
如果分數夠的話在結算畫面會顯示小視窗給你輸入姓名
但是限制輸入英文跟空格,因為我是直接用字串串一串直接去呼叫Database
如果能輸入一些特殊字元可能會有SQL Injection的問題(雖然應該沒人這麼無聊XD)
我把資料庫架在Heroku上面,並建立一個PostgreSQL資料庫
並用pqxx插件來連線資料庫,詳細的使用方法可以看我上一篇文章
由於資料庫會有延遲,如果每次切換難度或歌曲就重新從資料庫撈資料的話會有明顯卡頓
解決方法是在開遊戲就先嘗試連線資料庫,並一次把所有歌曲紀錄都先處理然後存在Map裡
當切換難度或歌曲的時候只要從Map裡面拿資料並把排行榜上面的字換掉就好了
每次歌曲結束到結算面板的時候會重新抓最新的資料並更新Map這樣選歌切換的時候就會明顯順很多
這個專案差不多就這樣,之後再來想想看新專案要來做些什麼