以前和同事逛書店的時候,看到了一本收錄100個單人紙牌的遊戲書。那時候就和同事半開玩笑的說,把這本書買回去再把裡面的遊戲一個一個實作出來當作是練功吧。後來有一天我真的去把這本書給買了回來,然後每天早上上班之前,利用最多30分鐘的時間一邊啃著麵包一邊實作紙牌遊戲。那陣子每天我至少可以實作一個單人紙牌遊戲,最多的時候一天可以實作4個...不過一直實作作到33個的時候我停手了... 最近心血來潮想說把它移植上android,所以再拿出來檢視一下。原本這是一個windows的應用程式,當初實作的時候沒有特別考慮太多跨平台,把source拿來看了後大概規劃一下怎麼改就動手了,斷斷續續花了一周時間。 Android版本單人撲克101 下面大概對過程作個記錄。 ; 每一個紙牌遊戲都是繼承自CardGame這個類別。下面列出主要和平台有關係的介面,也是移植的時候需要改版的地方。 class CardGame { public: virtual void DrawGame(CDCHandle dc, RECT const& rcClient) const; virtual bool OnMouseDown(CPoint point, RECT const& rcClient); virtual bool OnMouseMove(CPoint point, RECT const& rcClient); virtual bool OnMouseUp(CPoint point, RECT const& rcClient); void DrawCard(CDCHandle dc, int x, int y, int card) const; void DrawCover(CDCHandle dc, int x, int y) const; void DrawEmptyCard(CDCHandle dc, int x, int y) const; void EraseBkgnd(CDCHandle dc, RECT const& rcClient) const; }; 如上和平台有關的介...