前陣子和同學愛上了橋牌,但是晚上大家各自都在家裡無法一起玩橋牌,所以就想要自己寫一個多人線上的橋牌程式。想要以 Socket 的方始來架構,於是在網路上找了一些範例程式(The Code Project),抓了許多MFC Socket 的範例,其中大多為聊天室的程式。研究了一陣子之後,把我要用的部份取出,加入了橋牌必須的其他要素(顯示牌、選牌...等等),後來寫到一半期末考即將到來,所以目前是停擺的狀態,之後有時間再繼續吧!

  開發環境:VC++ 2003 & MFC


  這個程式的架構左邊有兩個區域,上面的是顯示大家的聊天訊息,下面是輸入聊天訊息的地方。這兩個部份是我從我抓的範例裡面抓出來使用的。而右邊的牌區 View 是我自己掛上去的。第一次接觸一個視窗掛多個 View,而每個 View 還有他自己的 Control (像是左上是 ListView,左下是 EditView),研究了好一陣子才用懂,不過可以算是收穫滿多的!而有考慮到讀取牌的圖檔的 I/O 和節省記憶體,我把52張牌的圖檔全部放成一張大張的影像,程式一開始執行就先將此大張的影像讀入,之後要顯示的時候,在根據是哪種花色、幾點,來定位出要從大張圖檔中顯示的區域。下面是大張的撲克牌圖檔。



  程式才在初步開發階段,所以畫面沒有用的很好看,現在的撲克牌也是簡單的排一下而已。程式應該不難寫,因為重要的 Socket 已經搞定了,接下來只要利用 Socket 來送出/接收指令就可以控制遊戲的進行了。整體架構我也有的底了,只是目前沒有什麼時間去完成他。另外,在寫牌桌區域的部份,有考慮到想要通吃全部的組合,比如說兩個人玩、三個人玩、五個人玩,都可以用同一隻程式來顯示。

  也不知道自己什麼時候有時間完成他,不過程式這種東西對我來說真的很有趣,我沒有在寫這個東西,可能就是在寫別的,反正因為興趣而寫,就沒有什麼一定要完成的壓力囉~重點是我覺得過程中我可以學到更多我不會的,或是同一個問題不同的解決方法!
arrow
arrow
    全站熱搜

    qazq 發表在 痞客邦 留言(0) 人氣()