俄羅斯方塊(2D、3D)
阿新 • • 發佈:2017-08-27
多少 com 密碼 iteye details eight 學習 三維數組 快速實現
聲明:這篇文章主要是參考幾個別人的博文及源代碼學習。參考文章:
1)http://blog.csdn.net/qian_f/article/details/19758671
2)http://yacare.iteye.com/blog/1949398
- 磚塊類型:
如何實現俄羅斯方塊遊戲?首先我們需要確定有些中的初始化有多少種方塊,每種方塊是可以如何變形?一共包含以下七種圖形、變形情況如下:
方塊一: 變形1 變形2 變形3 變形4
+ + + + + + + + + + + + + + + +
方塊二:
- - - - - - - - - - - - - - - - - + - - - - - - - - - + - - - - - - - - - + - - - + + + + - - + - - + + + + - - - + - - - - - - - - - + - - - - - - - - - + - - - - - - - - - + - - - - - - - - - - - -
方塊三:
- + - - + - - - - - + - + + + - + + + + + + + - - - - - + - - + - - + -
方塊四:
- - - - + - + + - - - + + + - + + - - + + - + + - + + + - - - - - - + -
方塊五:
- - - + - - - + + - + - - + + + + - + + - - + + + + - - + - - - - - - +
方塊六:
- - - - - - - - - - - - - - - - - + - - - - + - - - - - - - - - - - - - - + - - - - + + + - - + + - + + + - - - + + - - - - - - - - - + - - - - + - - - - - - - - - - - - - - + - - - - - - - - - - - -
方塊七:
- - - - - - - + - - - - - - - - - - - - - - + - - - - + - - - - - - - - - - - - + + + - - - - + + - - - + + + - + + - - - - - - - - - - - - - - + - - - - + - - - - - - - - - - - - - - - - - - - + - -
- 遊戲畫布
根據自己的需求設定一定寬度、高度的一個畫布,根據需要設定寬多少column,高多少row,除了對畫布劃分網格外,還需要對每個網格設定其顏色填充類型:1)七種圖形的哪一種(-1--無任何填充因此無顏色,0:填充磚塊1類型,1:填充磚塊2類型;。。。6:填充磚塊7類型,備註:每種柵格對應有自己唯一的渲染顏色,因此記錄柵格就可以找到其對應的填充顏色值);
2)是否填充(0--無填充;1--填充)
因此,定義畫布的網格需要使用一個三維數組表示:int [,,]
第一個元素代表:第多少個column,從0開始;
第二個元素代表:第多少個row,從0開始;
第三個元素代表:某個網格的顏色填充類型。
- 畫布事件:
上、下(快速實現下滑)、左、右
- 方塊具有的屬性方法:
顏色、中心點、相對中心點、磚塊類型唯一標識、變型序列、必要的行、必要的列、變形範圍;
是否可以向左、是否可以向右、是否可以向下、是否可以變形、變形。
- 2D效果圖:
- 3D效果圖:
代碼下載:鏈接:http://pan.baidu.com/s/1mhTnj64 密碼:c2rl
俄羅斯方塊(2D、3D)