欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 俄羅斯方塊游戲算法 [打印本頁]

作者: fulinlong    時間: 2021-5-16 17:52
標題: 俄羅斯方塊游戲算法
這個游戲設計,本質上就是用一個線程或者定時器產生重繪事件,用線程和用戶輸入改變游戲狀態。這個游戲也不例外,啟動游戲后,就立即生成一個重繪線程,該線程每隔50ms繪制一次屏幕。當然,重繪時有一些優化措施,并不是屏幕上所有的像素都需要重繪,而是有所選擇,比如游戲畫布上那些已經固定下來的下墜物(下墜物一共有7種,由4個小磚塊組成,每種下墜物顏色固定,可以上下左右旋轉)就不需重繪。游戲畫布是一個命令接受者,可以接受用戶鍵盤命令,控制下墜物的左移,右移,下移,旋轉動作。整個游戲的流程控制體現在游戲畫布對象的paint()方法里。paint()根據當前的游戲狀態,繪制出當時的游戲畫面。歡迎畫面和Game Over畫面的繪制相當簡單。游戲暫停畫面的繪制也相當容易,就是設立標志,讓paint()執行的時候無需真正執行重繪動作。對于游戲處于運行狀態的畫面的繪制,則需要在下墜物的當前位置,繪制下墜物。在繪制下墜物之前,判斷下墜物是否還能下墜,如果能下墜的話,就讓它下落一格,再進行繪制,如果下墜物已無法下墜,則判斷游戲是否處于Game Over狀態,如果是處于Game Over狀態的話,則設置游戲狀態為Game over狀態,這樣畫布在下一次重繪時就繪出Game Over的畫面.如果游戲不是處于Game Over狀態,則把下墜物固定下來,同時檢查游戲畫布上下墜物當前行下面的所有行,看是否需要進行行刪除動作,如果需要行刪除,則清除游戲地圖上被刪行的數據,再把被刪行繪制成背景色。然后初始化一個新的下墜物,繪制這個新的下墜物。





歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1