Re: [請益] 請問使用C語言寫俄羅斯方塊

看板GameDesign作者 (小恐龍)時間14年前 (2009/12/15 11:33), 編輯推噓1(104)
留言5則, 3人參與, 最新討論串5/6 (看更多)
來分享一下我的做法好了 我用win32api來貼圖 基本架構就是一個12x23的陣列(10*20+左右牆+底+生成方塊的位置) 陣列內容有 狀態 -1牆 0空 1正在操作 2定住的方快 顏色 根據方塊種類而定 然後就是當狀態!=0的時候就依顏色印出來 第0,1列是不印的,我拿來放剛生成的方塊 每隔一小段時間就把狀態是1的往下移, 直到下面一格不是空的,就把方塊固定住並在最上面產生新的方塊 移動也是把狀態是1的往左或右移一格,除非要移的地方已經被佔走了 刪除的部份就設一個參數d=0,從底下往上搜, 假如碰到一整列滿的就d++,其他的列就往下移d列 ▓▓▓▓▓▓▓▓ d=2,往下搬2列 ▓▓▓▓▓▓▓▓▓▓ d=2 ▓▓▓▓▓▓▓▓ ▓ d=1,往下搬1列 => ▓▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓▓▓ d=1 ▓▓▓▓▓▓▓▓ ▓▓ ▓▓▓▓▓▓▓▓▓ ▓ d=0 ▓▓▓▓▓▓▓▓▓ ▓ 最麻煩的是旋轉的部份,我的做法就是一格一格轉 就看這方塊轉過去會佔到那幾格就一一轉過去, 假如會碰到牆壁還要分成不同的狀況來寫 其實我主要是想看看大家旋轉的部份怎麼處理 因為我覺得我這部份寫得很囧,一開始沒寫好轉一轉還會飛天 我的寫法有什麼問題都請多指教 -- 我要以耍冷來對抗溫室效應 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 112.104.57.123

12/15 16:26, , 1F
可不可伸一下source code
12/15 16:26, 1F

12/15 21:07, , 2F
我旋轉跟你的寫法一樣 沒寫好方塊常常會開花 XD
12/15 21:07, 2F

12/15 22:12, , 3F
如果是用一格一格在轉是很容易開發 但如果你把各種形狀的
12/15 22:12, 3F

12/15 22:12, , 4F
方塊當作一個物件在變化 不是會比較簡單嗎 :-p..
12/15 22:12, 4F

12/15 22:14, , 5F
各個"正在下降"的方塊 type = ?, state=?
12/15 22:14, 5F
文章代碼(AID): #1B9mEMRb (GameDesign)
討論串 (同標題文章)
文章代碼(AID): #1B9mEMRb (GameDesign)