1. 程式人生 > >俄羅斯方塊(2D、3D)

俄羅斯方塊(2D、3D)

多少 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)