本組期末專案之主題為遊戲設計,我們做的遊戲是俄羅斯方塊,功能與玩法大致上與大家熟知的俄羅斯方塊遊戲相同,為系統隨機落下一個種類的方塊,使用者可以自行向左或向右移動並旋轉,待下方方塊佔滿一整列(10格)時,整排會消除,並取得積分。
本組首先於網路上取得基本的俄羅斯方塊架構,主要使用的library為os、sys、random、time、pygame,並另外自行加上一些能增加遊戲趣味性的細部功能,如下: 加入遊戲起始畫面 加入遊戲背景音樂(使用pygame.mixer.music.load) 空白鍵,按空白鍵可以將方塊加速為以0.01/次的速度向下移動(使用event.key、pygame.K_SPACE) 遊戲中特效,即玩家一次成功的消除3~4列磚塊時,產生Combo!的字眼及圖片並播放音效 (使用pygame.image.load、pygame.mixer.Sound、time.sleep、pygame.font) Hold,即玩家在想要跳過目前正在落下的方塊時,可以按c鍵保留,直接進入下一個方塊,而下次再次按c鍵時,則會出現前次被保留的方塊(使用event.key、pygame.K_c ) 計分,玩家每消除一整行的方塊,分數加一分,而若玩家連續消除一整行的方塊時,分數增加的規則如下: 得分=消掉的條數+連消次數的平方 加速,一開始的起始降落速度為0.5秒/次(0.5秒往下掉一次,所以數字越小掉落速度越快),玩家每消掉一行,方塊降落速度就加快(減少為)0.05秒/次,而當下降速度<0.35秒/次時,每次下降速度改為減少0.01秒/次,然後當玩家死掉重玩時,會重置降落速度為0.5秒/次 顏色,當方塊每次降落至底部時,所有方塊都會依照所掉落的方塊而變色,方塊總共七種型態,因此共七種顏色 時間,遊戲時間為120秒,當玩家死掉重玩時,時間會重置並從0秒開始計算,遊戲時間到達100秒時,時間字體會變成紅色,提醒玩家注意時間,而到達120秒時,會直接結束遊戲(使用pygame.time.get_ticks())
本組透過IF-ELSE判斷式,FOR迴圈,WHILE迴圈,自定義函數,類別,及LIBRARY寫出了我們的程式
http://webfish-channel.blogspot.com/2017/11/python.html
本組特別重要的一段程式之用途為讓方塊能夠旋轉 方式為透過dictionary的方式將方塊之型態放入,總共有七種原型,分別為10、20、30、40、50、60、70,如下圖一所示: