消消樂 遊戲 (三個消掉) (加入一點點小技巧)

  • 4240
  • 0
  • 2013-01-21

摘要:消消樂 遊戲 (三個消掉)

其實這種遊戲應該是有什麼名稱,

但是我姊喜歡叫他消消樂,我就也叫這個消消樂了。

今天做培根貓做到一半,姊姊才說他很期待消消樂遊戲~

想想應該不難做,因此就開始動手囉~

理論很簡單,

就是image的改變。

將被點到的設為visible=false(看不到),就可以產生消掉的錯覺,

然後把每個方格設為1,你可以用陣列,將來好做遊戲關卡設計。

但SV比較懶惰,

就用比較簡單的變數1~N(看是9X9還是多少X多少的數量)。

接著0表示被點到,若他的四周有2個是跟他一樣的樣式(比方都紅色),那麼這三個的存在就設為0,也就是被消掉(看不到)的意思囉~

 

雖然概念很簡單,不過還是要實際做才知道可不可行。

希望這兩天完成,

然後就跟大家分享囉~

 

預計是8x8,然後三種花樣~因為換湯不換藥,

先做這樣的規模,等姊姊希望做多一點,或者做關卡什麼的再修改囉~

(其實也可以8x6或者不規則型式,不過用規則的比較簡單~)

 

新增:

因為單是發吹牛文好像不太好,剛剛實作了一點點,給大家小小的技巧~

SV喜歡用C#,所以就用C#示範囉~其他就是換湯不換藥了。

一開始你可以先用6x6,SV是愛玩又不怕死(不怕做失敗變屍體),所以直接上8X8cheeky

一開始用pictureBox排出8X8可怕的畫面,然後附上你可愛的點點消掉圖片(SV很簡單的只有三種,紅綠藍色):

 

注意,我把他們的名字都改成類似陣列,也就是pb11~pb88。然後也給他們上了tag,也是11~88。

這樣有什麼用處呢?

隨便進入程式碼部分(SV都是用form的Load進入Orz)

 

在Form下面新增一段程式碼:


  private void PB_Click(object sender, EventArgs e)
        {
            var pb = sender as PictureBox;

            if (pb != null)
            {
                MessageBox.Show(""+pb.Tag);
            }
        }

接著,將每個pb的Click都設為這個class,

也就是:

 

(請看右下角的屬性欄XDDDD)

終於把這8X8的每個都作了這樣的動作:

取像樣的名字、加入TAG、加入Click動作,

於是你執行畫面後,點任何的pictureBox就會顯示他的tag。

這樣作有什麼好處呢?

你可以用一個class去操控所有的pictureBox,就不用每個都造一個Click,

那樣很嚇人的!雖然暴力法也是可以寫程式,但這麼做也不難,就別折磨自己了?

 

於是我們把MessageBox那邊改成這樣:

 

private void PB_Click(object sender, EventArgs e)
        {
            var pb = sender as PictureBox;
 
            if (pb != null)
            {
                pb.Visible = false;
            }
        }
    }
 
然後你就可以看到單一消消樂了~:
 
其實單一的也蠻好玩的kiss
 
明天就是將圖片亂數產生,一開始都用紅色是因為比較好看(如果一開始什麼顏色都沒有的空pictureBox也是可以啦~但,有圖形會比較有概念吧?),
再來從InitailizeComponent()的下方將圖片換掉。(也就是初始來將圖片像打散的把三種顏色隨機分佈)
 
其實最難的是"死胡同",消消樂三個以上消不難,難的是如果到了有消不掉的時候怎麼辦??要嘛就是合併(想辦法湊在一起),或者就直接遊戲結束。
 
大家一起來跟SV學習吧angel