原创 C++貪喫蛇設計

利用C++設計簡單的控制檯貪喫蛇遊戲. 第一步:設計地圖類: class Map { private: public: enum{MAPX = 10, MAPY = 2}; enum{ROW = 20, COL = 40}; ch

原创 command模式的討論

學習了Martin Fowler的重構以後,我就發現有必要學習一下設計模式。市面上有很多設計模式的書籍,我偏偏選擇了GoF寫的那本《設計模式》。這本書上的內容是難以想象的厚實,幾乎涵蓋了設計模式使用的所有細節和變化。因爲我是新手,讀這本

原创 動畫精靈的實現

1.  動畫精靈概念 動畫就是動態的畫面,在計算機中表現爲一種運行時數據結構和算法。數據結構表示動畫的存儲方式,可以事先存儲,也可以運行時計算獲得。 而算法則聲明如何將這種數據結構映射到屏幕上。 精靈是一個渲染單元,存儲一些表示如何渲染

原创 數據表設計的思考

在學習sql的時候,強調避免數據冗餘,在軟件設計的時候,強調查詢性能。然而規範化設計數據表往往與程序性能是衝突的,這就需要在規範和性能兩個方面做好取捨.       規範的數據表的設計,要求避免數據冗餘,同樣含義的數據不應該出現兩次,能夠

原创 如何設計21點遊戲

21點遊戲的設計能夠充分體現C語言結構化程序設計的思想,如果你是C語言的初學者,本文對你一定有幫助.       21點遊戲的規則如下:撲克牌A、2、3、4、、、、、、10、J、Q、K、大小鬼分別代表數字1、2、3、4、、、、、、10、1

原创 值對象與引用對象

值對象和引用對象是面向對象設計經驗的一種有效總結,並沒有正式的定義。本文的寫作目的就是討論這些面向對象的基礎概念,以在設計的過程中更有自信地使用對象。 對象和對象引用是數據類型層面上的劃分,是物理上的概念。值對象和引用對象是應用層面的劃

原创 新手入門書籍推薦

以自己的閱讀經歷來評點一下我所閱讀過的書。 1. 寫給大家看的C語言書 ——第一次接觸編程的入門書籍 在閱讀之前,我連字符是什麼都不知道,這本書以最簡潔易懂的方式講述C語言,幫我解決了很多疑惑。在書的最後有一個完整的21點遊戲程序代碼,

原创 C#程序設計分析之俄羅斯方塊

前言:            設計俄羅斯方塊程序非常考驗程序設計能力,也是學習編程的一個非常好的實踐案例。能用設計出這個程序說明對C#語法的掌握基本沒有問題了,但是不一定就說明編程能力就很強。我們應該追求的是良好的設計,而不僅僅是可運行的

原创 深度複製

      先從一個問題開始探討:編寫一個類,其中有一個動態的字符數組存儲字符串,還有一個整型成員存儲字符串的長度,並重載<<輸出字符串的內容。       顯然,類的定義應該是:       class Test { private:

原创 C++貪吃蛇設計

利用C++設計簡單的控制檯貪吃蛇遊戲. 第一步:設計地圖類: class Map { private: public: enum{MAPX = 10, MAPY = 2}; enum{ROW = 20, COL = 40}; ch

原创 指針與引用

指針和引用的唯一區別就是引用是自動解引用的指針。就像是C#中的關聯字段,指針在讀取和賦值的時候先被解除引用,就是引用.       這篇文章本該到此結束,不過我還是想詳細解釋一下. 1.     引用是變量,是佔內存的。引用可以被理解爲變

原创 從DIV到語義標記

Div+CSS模式       div+css 是一種網頁的佈局方法,這一種網頁佈局方法有別於傳統的HTML網頁設計語言中的表格(table)定位方式,可實現網頁頁面內容與表現相分離。傳統的網頁結構以表格爲基礎,而現在絕大多數的網頁採用

原创 以引用對象取代單例模式

介紹: 系統中存在單例的全局訪問點,你希望將對單例的訪問通過對象引用來實現。往往是將對單例的依賴關係轉換爲關聯關係。 動機: 在系統中引入單例模式往往並沒有起到明顯的效果卻增加了系統的複雜性。不能僅僅因爲某個類只需要一個實例而採用單例模