我使用XNA在C#中製作俄羅斯方塊克隆,但我不確定如何實際實現這些塊。如何用C#在XNA中創建Tetris模塊?
我不認爲將圖形制作爲圖像將會起作用(因爲在形成線條時部分被刪除),所以我有塊來組成像This這樣的塊。
不幸的是,我不知道如何實際限定塊,使塊,我也不知道如何操縱它們,使它們旋轉等
編輯:我也需要幫助學習如何製作Tetris Grid。
我使用XNA在C#中製作俄羅斯方塊克隆,但我不確定如何實際實現這些塊。如何用C#在XNA中創建Tetris模塊?
我不認爲將圖形制作爲圖像將會起作用(因爲在形成線條時部分被刪除),所以我有塊來組成像This這樣的塊。
不幸的是,我不知道如何實際限定塊,使塊,我也不知道如何操縱它們,使它們旋轉等
編輯:我也需要幫助學習如何製作Tetris Grid。
我以前沒有創建過俄羅斯方塊,但經過一番思考,我相信我會用一個簡單的矩陣來創建我的作品。例如,你的整個遊戲板將是一個大矩陣。該矩陣的一個子集,比如它的一個4x4塊,將會是一個遊戲塊。該4x4塊的哪些部分將被填充將由您想要創建的特定部分決定。矩陣的每個部分都可以有一個布爾標誌來指示它是否被填充。這是一個非常簡單的觀點,但我認爲這是一個可行的解決方案。
使用布爾矩陣來模擬屏幕的狀態。每件作品本身就是另一個更小的布爾矩陣。
旋轉一塊就像玩座標一樣簡單(我把它留給你)。
關於如何渲染,只需爲矩陣ored
中的每個真實值繪製一塊拼塊,並將當前下降的棋子移動並旋轉。
對於塊,我強烈建議在3D中工作。通過鎖定相機等,您仍然可以使遊戲看起來像2D,但您將從矢量圖形工作中受益良多。你的塊將是簡單的立方體(平坦或有一定的深度),你旋轉和移動屏幕。
對於網格,看看@ fortran和@aaron的答案,布爾矩陣就可以做到這一點。
也許這個鏈接Coding4Fun將有所幫助。它是德文的,但你應該能夠得到源代碼並且看看這個問題在這裏如何解決。
可以肯定的是,這裏是direct download link。