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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2453|回復: 0
打印 上一主題 下一主題
收起左側

俄羅斯方塊游戲算法

[復制鏈接]
跳轉到指定樓層
樓主
ID:226953 發表于 2021-5-16 17:52 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
這個游戲設計,本質上就是用一個線程或者定時器產生重繪事件,用線程和用戶輸入改變游戲狀態。這個游戲也不例外,啟動游戲后,就立即生成一個重繪線程,該線程每隔50ms繪制一次屏幕。當然,重繪時有一些優化措施,并不是屏幕上所有的像素都需要重繪,而是有所選擇,比如游戲畫布上那些已經固定下來的下墜物(下墜物一共有7種,由4個小磚塊組成,每種下墜物顏色固定,可以上下左右旋轉)就不需重繪。游戲畫布是一個命令接受者,可以接受用戶鍵盤命令,控制下墜物的左移,右移,下移,旋轉動作。整個游戲的流程控制體現在游戲畫布對象的paint()方法里。paint()根據當前的游戲狀態,繪制出當時的游戲畫面。歡迎畫面和Game Over畫面的繪制相當簡單。游戲暫停畫面的繪制也相當容易,就是設立標志,讓paint()執行的時候無需真正執行重繪動作。對于游戲處于運行狀態的畫面的繪制,則需要在下墜物的當前位置,繪制下墜物。在繪制下墜物之前,判斷下墜物是否還能下墜,如果能下墜的話,就讓它下落一格,再進行繪制,如果下墜物已無法下墜,則判斷游戲是否處于Game Over狀態,如果是處于Game Over狀態的話,則設置游戲狀態為Game over狀態,這樣畫布在下一次重繪時就繪出Game Over的畫面.如果游戲不是處于Game Over狀態,則把下墜物固定下來,同時檢查游戲畫布上下墜物當前行下面的所有行,看是否需要進行行刪除動作,如果需要行刪除,則清除游戲地圖上被刪行的數據,再把被刪行繪制成背景色。然后初始化一個新的下墜物,繪制這個新的下墜物。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表