寫掃雷的一點感想(初學的朋友可以看看)

發表于:2007-07-01來源:作者:點擊數: 標簽:
//因為自己的水平很菜,所以寫寫小程序鍛煉鍛煉,高手就不要看/了。 好吧,說一些簡單但是我認為重要的東西吧。 在我這個層次(很菜很菜)的人看來,寫大程序應該是一種很神圣的事情了。因為一般在公司做事,就是分配一些模塊,小的幾百行,大的上萬行,就基

//因為自己的水平很菜,所以寫寫小程序鍛煉鍛煉,高手就不要看/了。

 

好吧,說一些簡單但是我認為重要的東西吧。

在我這個層次(很菜很菜)的人看來,寫大程序應該是一種很神圣的事情了。因為一般在公司做事,就是分配一些模塊,小的幾百行,大的上萬行,就基本搞好了。

自己完整地寫一個上十萬行的東西(當然,不能爛到連自己都不喜歡的程度?。?,在我看來,應該還是需要一些東西的。

至少需要一些程序框架設計的思想在里面,沒有面向對象設計思想在里面,以我目前的水平來看,基本上結構是很難清楚 的。

 

好了。我們開始涉入正題了。

 

就是程序的框架和設計思想,我要結合掃雷來說。(掃雷?是,掃雷,window系統自帶的那么幾個小游戲中的一個,很簡單嗎?我不覺得)。

 

注:我在分配地雷的時候不知道算法了。所以到中搜索了一下,看了兩個人的掃雷的代碼,直白點說吧,一個寫的代碼,我只看了30秒,就被我從我的硬盤上shift+delete了。

原因是:

1 結構很混亂(這個至關重要),程序沒有好的結構就表示你的思想一片混亂。

2 沒有注釋,格式完全沒有規范。格式,這個在我看來,也是不能容忍的。

另一個的代碼也是,就是一個CxxDlg就交代了。

 

 

在我目前的眼光來看,掃雷雖然小,卻可以很好的體現面向對象的思想。

簡單的分析一下,各位看官見笑了。

 

三個層次。(project為基于對話框的project)

                  CXXDlg 對象(對話框,管理地雷陣)

                                     |

                                     |

                 CMesh對象(地雷陣,管理一個一個的格子)

                                     |

                                     |

               CGrid對象(一個一個的格子,最基本的單位)

 

這就是我所理解的掃雷和面向對象的思想的具體體現。

在分清了對象層次后,就好著手考慮屬性和方法,說起來很簡單,在我看來,沒有一定的代碼經驗,在分析屬性和方法的過程上是會有一點點問題的,這個問題是需要實踐的,不好說。

 

然后必須確定一個原則:由誰來處理消息,答案是:誰的消息就讓誰來處理。

上面是我的處理原則(我的實踐證明,很有效)。

舉例來說吧,在某一個格子區域單擊了鼠標左鍵,怎么處理?

我的處理:首先是 CXXDlg 對象得到消息,傳遞給CMesh對象,CMesh對象再傳遞給CGrid對象處理。

 

好吧,就這么多吧。


原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97