俄羅斯方塊之四 方塊子類

2021-08-25 09:29:03 字數 908 閱讀 1666

父類我們分析完了,現在來看看子類。父類裡有兩個抽象方法,以l型為例(其他型別同理,不僅7種型別)blockl子類:

4.1首先以0所在的小方塊為基礎朝北,順時針旋轉。用數字標記的小方塊相對位置不變。 (如圖)

code:

public

override

voidinit(directiondir)

else

if(dir==direction.east)

else

if(dir==direction.south)

else }

4.2 旋轉時首先記錄旋轉錢的位置和方向,然後判讀能否旋轉。不能旋轉則回到原來的狀態。旋轉是以圖標的0位置的小方塊為中轉動。參考**如下:

順時針旋轉

code:

public

override

voidratate()

hideblock();

if(direction==direction.north)

else

if(direction==direction.east)

else

if(direction==direction.south)

else

boolflag=true;

foreach(squaresinsquares)

flag&=game.isempty(s.location.y/game.side,s.location.x/game.side);

if(!flag)

showblock(); }

4.3 有些形狀如正方形,旋轉後都是一樣,無方向可言。長棍子4個方向就只有2種狀態,就只需要判斷2個方向。到現在為止已經實現方塊的移動、疊加、旋轉。接下來就是當小方塊滿行消層的問題。

俄羅斯方塊高階 AI俄羅斯方塊

前文回顧 致青春 python實現俄羅斯方塊 人工智慧大火的今天,如果還是自己玩俄羅斯方塊未免顯得太low,為什麼不對遊戲公升級,讓機器自己去玩俄羅斯方塊呢?有了這個想法之後利用週六週日兩天的時間去蒐集了大量的資料,在電腦宕機好多次之後終於將ai俄羅斯方塊實現了。所謂讓機器自己去玩俄羅斯方塊,就是讓...

俄羅斯方塊

俄羅斯方塊 tetris,俄文 是一款風靡全球的電視遊戲機 和掌上遊戲機遊戲,它由俄羅斯人阿列克謝 帕基特諾夫 發明,故得此名。俄羅斯方塊的基本規則是移動 旋轉和擺放遊戲自動輸出的各種方塊,使之排列成完整的一行或多行並且消除得分。由於上手簡單 老少皆宜,從而家喻戶曉,風靡世界。俄羅斯方塊的開發者是阿...

俄羅斯方塊

include include include include includeusing namespace std include include define mem a,b memset a,b,sizeof a const int sudu 40 const int dir 4 2 cons...