1. 程式人生 > >團隊專案(第二週)—GG隊

團隊專案(第二週)—GG隊

專案需求規格分析

隊員資訊

隊員

學號

葉尚文(隊長)

3116008802

蔡曉晴

3216008808

杜婷萱

3216008809

龍劍初

3116004647

於澤浩

3116004661

 

 

 

 

 

 

 

 

 

 

 

 

 

 

專案背景:

近年來音樂遊戲層出不窮,其中不乏創新性作品,我們產品將面向愛好音遊及RPG遊戲的玩家,結合兩者的特點開發一款遊戲。

真實性:

       目前市場上還不停地有各種各樣的音游出現,音遊實際上是能

       給玩家一種體驗還沒接觸過的樂器,或者作為練習某種樂器的

       一種途徑。所以說音遊具有市場的真實性

可行性:

             該遊戲在顯示上主要有有鋼琴的樂譜和冒險“跑酷”兩部分,聽

 

             覺上是玩家通過按下琴鍵發出的旋律,兩者結合後,玩家可在

 

             鋼琴跑酷這個遊戲中通過“鍵盤式琴鍵”可以有很好的體驗效果,

 

             同時玩家可以通過樂譜和遊戲中的主人公來更好地掌握節奏。

 

             玩家可以在學習的同時體驗遊戲的樂趣,很大程度避免了學習

 

             的枯燥和遊戲的單一性。

 

價值性:

 

           “遊戲+教育”已經逐漸成為社會的發展趨勢。遊戲不再像以前那

 

            樣是為了玩樂的片面產品,很多遊戲慢慢轉向職業化、多功能化,

 

            其中從遊戲中學習是最大的市場趨勢。鋼琴跑酷這個遊戲避免了

 

            市場上很多體驗效果較差和功能單一的產品,把遊戲和學習較好

 

            地結合在一起。市場上還不斷有音遊的產品出現,說明音遊有一

 

            定的市場。鋼琴跑酷這個遊戲的最大賣點就是很好地把學習和完

 

            結合在一起,很好地做到了“遊戲+教育”。

 

 

專案需求:

使用者需求:

體驗效果好同時模仿操作相似的鋼琴音遊

擺脫傳統音遊的單一操作和單一視覺效果

在體驗過程可以藉助樂譜音符外的動態效果提示

藉助遊戲闖關效果來更好讓玩家保持興趣

 

功能需求:

一般需求:

實現高音區樂譜控制主人公跳躍跑圖;

實現樂譜的規格化及提高可讀性和可編輯性;

實現遊戲畫面整體可動。

 

高階需求:

實現低音區控制主人公的行為及動作;

實現使用者向遊戲自行匯入樂譜。音樂以及對地圖進行構建;

設定BOSS,根據樂譜和節奏設定QTEQuick Time Event)操作。

 

後期改進需求:

實現遊戲聯網;

支援使用者的樂譜和地圖上傳伺服器並分享;

支援匯入音樂自動生成對應的規格化樂譜並完成地圖構建;

支援使用者自行修改遊戲貼圖,改變風格。

 

環境需求:

使用語言:

 

H5HTML + CSS + JavaScript

 

開發軟體:

 

Webstorm Dreamweaver 等前端開發軟體

 

heX(用於將HTML專案轉化為.exe的桌面應用程式)

 

Photoshop(設計頁面及元素)

 

 

技術需求:

團隊要熟悉HTML,CSS,JAVAScript等語言

需同時對多個開發軟體的操作熟悉

根據樂譜的音符生成遊戲中不同的動態地圖地形及障礙物

監聽鍵盤輸入指示,遊戲中的冒險主人公要作出相應行為

 

團隊分工:

程式構建及設計:葉尚文

根據需求構建整個程式的物件及函式關係,設計介面,制定DOM樹和對應的元素設計

 

動態介面:龍劍初,於澤浩

讀取樂譜檔案,根據樂譜動態生成地圖中的地形及障礙,怪物等。

 

靜態介面:杜婷宣,蔡曉晴

讀取組成介面的圖片檔案,構建靜態UI的介面,並實現除遊戲主介面外的歡迎頁、介紹頁等靜態頁面。

 

主人公控制及響應:葉尚文

監聽鍵盤動作,根據鍵盤動作控制主人公行為;讀取檔案,根據檔案判斷行為是否正確,並給出相對應的反饋。

 

測試:於澤浩

測試各個階段程式是否達到預期目標,並保證程式不會因樂譜文件的錯誤及資料量而出現嚴重崩潰。

 

 

任務簡述:

實現檢視:

 

 

事前說明:

開發過程中的測試請以heX的顯示介面效果為準。

檔案讀取方式請參考專案內的player.js

檔案說明:音樂為歡樂頌

第一行是速率(現在是2秒四小節(8個字元)),第二行開始是簡譜,1,2及以下對應高度13,4對應高度25,6對應高度37,8及以上對應高度4

 

 

背景要求:

 

使用給定圖片,在限定的div裡通過指定的cssjs檔案,完成如圖背景和前景;

要求五線譜中間的判定線位置可調(調節引數用備註標明);

背景每一張圖片都可以獨立迴圈向左移動播放,且移動速度可調(調節引數用備註標明)。

 

 

方塊以及音符生成要求:

在限定的div裡通過指定的cssjs檔案,讀取給定的txt檔案(規格化樂譜,路徑:“../src/txt/test1.txt”),得出旋律和拍子時間,生成符合旋律高低的音符,字母以及方塊,方塊向上生成,然後向左移動,音符和字母從右漸顯生成向左移動;

音符,字母及方塊的移動速率可調,並可調節延遲(兩者引數請備註說明);

方塊的種類要根據旋律的種類建立:

0x0y:建立種類1的方塊;

0x00000y:建立種類23的方塊,並在中間的0處新增對應數量的種類4的方塊;

0xy:迴圈建立種類56的方塊。

 

 例項效果:

 

 

 

動作及響應要求:

主人公還沒畫好,不放圖了。。。。

在限定的div裡通過指定的cssjs檔案,讀取給定的txt檔案(規格化樂譜,路徑:“../src/txt/test1.txt”),得出旋律和拍子時間,根據時間及旋律計算得出當前狀態;

判定區示意圖:

 

 

編碼規則:

命名:

儘量遵循駝峰原則命名,並在宣告時備註作用(如必要)

用於迴圈、記錄狀態、暫存的變數請用loopstatetemp開頭並加上編號(編號計算以函式為單位)或者說明(如必要)

 

括號:

大括號內為空前面和內部都不用換行,否則:

左大括號前不換行,後換行;

右大括號前換行,後除規定語句塊(elsewhile等)外換行;

連續同種小括號間空格。

 

符號:

各類運算子或判斷符前後都有空格;

逗號後帶空格。

 

字數:

每行不超過(111 - 11)字元,如超過:

100字元內的最後空格開始換行;

若是運算子的空格則從運算子前的空格開始換行;

換行後在上一行換行處備註 ”//next line“

 

縮排:

4個空格,tab鍵請設定為4個空格。

其他:

if/for/while/switch/do等保留字與左右括號之間都必須加空格;

除判斷及for/while等外,一行一個語句;

函式中,實現不同小功能的語句塊之間空行,語句塊內不空行,如必要在語句塊前加上備註說明,例:

int a

int b

int temp

 

for(。。。){

。。。

//交換ab的值

temp = a

a = b

b = temp

}

while 。。。

函式前請務必說明函式功能,若複雜請文件註釋說明大概思路。

 

 

 

專案安排:

 原安排表:

第6周

1.團隊組隊、團隊部落格(✔)

 

2.團隊介紹、成員展示、角色分配、選題確定(✔)

 

3.制定團隊計劃安排(✔)

7

1.需求規格說明書(✔)

 

2.原型設計,隊員估計任務難度並學習必要的技術(✔)

 

3.編碼規範完成、平臺環境搭建完成、初步架構搭建(✔)

8

1.原型改進(給目標使用者展現原型,並進一步理解需求)

 

2.架構設計,WBS, 團隊成員估計各自任務所需時間

 

3.測試計劃

9

1. 團隊專案Alpha任務分配計劃

 

2. 連續7天的Alpha敏捷衝刺,7 篇 每日Scrum Meeting部落格+程式碼提交

10

1.使用者反饋+測試計劃改進

 

2. 團隊Alpha階段個人總結

 

3. 團隊專案Alpha部落格:釋出說明、測試報告、展示部落格、專案管理

11

1. 團隊專案Alpha部落格:事後分析

 

2. 每個團隊有一人必須離開,自己尋找下一個接納自己的團隊。團隊發部落格宣佈離隊和接納的成員。

12

1. 團隊專案Beta任務分配計劃,介紹新成員

 

2. 連續7天的Beta敏捷衝刺,7 篇 每日Scrum Meeting部落格+程式碼提交

13

1. 團隊專案Beta部落格:釋出說明、測試報告、展示部落格

 

2. 團隊Beta階段個人總結

14

1. 團隊專案Beta部落格:事後分析, 宣佈每人的貢獻分

15

1.團隊整個階段總結,分析使用者資料,整理文件,保證以後的團隊能接手。

 

校正後安排: 

 

 

 

8

初步實現各個模組原始介面效果,合併程式碼後尋找不足並改進,以儘量避免後續功能實現的程式碼產生不相容情況

9

制定Alpha計劃,搭建整體框架,實現各模組功能併合並

10

對各個功能模組進行測試,讓使用者試用並通過反饋進行改進

11

總結收穫和不足,團隊調整

12~~

依情況從新規劃

 

 

校正方法:

剛開始的規劃還沒有對專案進行深入的解剖和分析,很多安排都沒能很好地按計劃完成。

因為本次專案用到的程式語言並不是都會,所以經過分析後,主要的功能和測試放在了第

10和11周兩週,在各模組功能完成時就可以進行初步的測試,等預期功能都實現的時候,

再進行統一的整體測試,這樣就可以把最終測試出現的不足很好地鎖定。

 

 

隊員感想:

葉尚文:第一次開發自己創造的遊戲,有點興奮又有點緊張。第一次帶領隊伍,第一次5人的

             團隊合作,我希望能帶領好這個團隊。也希望在這個過程中提升自身的領導能力,同時

             從中找到自己的不足。

 

蔡曉晴:這個星期還沒有開始寫程式碼,但是葉尚文大佬給了我們一個清晰的架構和程式碼標準,

              十分利於我們後期打程式碼。這個星期我也學習了很多js的知識。

 

杜婷萱:感覺開發前的充分溝通,明確的任務分工很重要。我和曉晴共同完成靜態背景的實現,

             但js剛開始學接觸的還不是很多(°ー°〃)因此要向團隊多多請教,希望能通過這次的項

             目學到更多的知識 (*^▽^*) 

 

龍劍初:在這一週裡,團隊對專案進行了進一步的探索和理解,在隊長尚文大佬的帶領下,我

              們把專案的主要功能模組和大致的架構做了初步的確定,同時進行了任務的分配。項

             目要用到js和css等還沒接觸過的語言,這對於我來說是個極大的挑戰。自知程式碼能力

             不強,但也會盡力。接下來好好努力,跟著大佬們學習。

 

於澤浩:和同學一起團隊協作,每個人都有每個人的長處,讓我認識到了自己太多需要學習,

              但是團隊協作依靠的也不只是每個人的能力,清晰的統籌才能一步步將計劃完成。非

              常期待接下來一步步將計劃完成。