生活随笔
收集整理的這篇文章主要介紹了
俄罗斯方块游戏笔记(一)——砖块样式配置窗体
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
?
?
?
一、磚塊樣式配置窗體
第一步 雙擊lbl的paint事件
?
第二步 雙擊lblMode的MouseClick
?
自定義界面反思:
要想改變Label的大小,AutoSize屬性必須改。不能在第一步后將Graphics Dispose掉,會報沒有參數(shù)的錯。數(shù)組實例化 int[ , ] arr=new int[5,5];???//表示聲明一個五行五列的二維數(shù)組(數(shù)組使用前需實例化)? 調(diào)用數(shù)組時用arr[x,y]?int[ , ] arr=new int[5,5];???這個一定要是全局變量第二步i提供一個方法:將屏幕像素轉(zhuǎn)化為磚塊數(shù)組下標(biāo),以至可以用數(shù)組存放這25個磚塊,達(dá)到用數(shù)組下標(biāo)調(diào)用磚塊的目的。? 這樣做出來后,還不是完美的。當(dāng)你最小化頁面時,這些你選擇的變色了的方塊會全部消失。我們還需做第三步來補(bǔ)充。
?
?
第三步 在Paint事件中再加入如下代碼
總結(jié): 以完成數(shù)組中保存的各個方塊的bool值,能夠讓每次重繪時再現(xiàn)我們之前選好的方塊?
??
第四步 實現(xiàn)磚塊顏色自定義
拖入一個ColorDialog拖入一個lblColor,修改屬性AutoSize,BorderStyle--Fixed3D,?雙擊lblColor的Click事件。寫入如下代碼:
總結(jié):
要將方塊的顏色定義成一個全局變量BlockColor.(第二步已經(jīng)定義好了)。最后一行代碼要寫,如果不寫,那么你改變顏色時,已選好的磚塊仍是上次的顏色,不會立即改變;改變的方塊只是你執(zhí)行顏色操作之后選擇的方塊。第五步 實現(xiàn)將方塊的信息儲存,并顯示在ListView控件上。
拖入一個ListView控件lsvBlockSet,修改屬性View--Details,MultiSelect(一次選中多行)--False,GridLine(顯示格子)--True,Columns--加兩列(編碼與顏色),FullRowSelect(全行選擇)--True.拖入一個Button控件btnAdd(添加),雙擊寫代碼:
總結(jié):
用一個blockString存儲方塊信息。eg:0010010110010001000000000使用大量字符串連接時用StringBuilder類,而不是String類。最后再轉(zhuǎn)化成String類,存放在blockString中。StringBuilder的Append方法是向sb對象中添加一個子字符。數(shù)組遍歷的方向是從上到下,而后從左到右。?
?第六步 實現(xiàn)切換listview選項,lblMode可以更新顯示。
雙擊listview的ItemSelectionChanged事件:
總結(jié):?
字符串也是可以索引的,s[i]表示字符串的第i個元素,i從0開始。將字符串下標(biāo),轉(zhuǎn)化為數(shù)組下標(biāo)。
?
第七步 實現(xiàn)刪除按鈕功能,刪除listview中的選項。
?
第八步 實現(xiàn)lblMode的清空(第七步將listView中刪除一個條目,可lblMode中還存在該方塊的形象)
拖入一個清空的按鈕btnClear雙擊按鈕寫如下事件:
在第七步的最后加一行代碼,執(zhí)行這個按鈕的單擊:?????
總結(jié):
用代碼模仿按鈕單擊事件:btnClear.PerformClick();第九步 添加編輯 “已存儲方塊”的按鈕
附:?第五步那個判斷圖案是否已經(jīng)存在的代碼也可以加進(jìn)去。
?
?
?
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/xiaobaihappy/archive/2010/11/11/1874930.html
總結(jié)
以上是生活随笔為你收集整理的俄罗斯方块游戏笔记(一)——砖块样式配置窗体的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。