2008.12.29
昨天晚上終于把象棋的棋盤畫出來了!
今天則需要把棋子初始化,之后放到象棋開局的位置上。(這個工作也順利完成了)
現在的工作是如何在CplayDlg類上面移動棋子。現在的思路是在棋盤類當中加入一個二維數組,將屏幕坐標和棋盤的邏輯坐標一一對應,以方便查找。然后將選定棋子move到新的位置,再調用OnPaint();
順便說一下現在程序當中的類
CplayDlg----MFC生成的主要類
CCheckerman----自己寫的棋子類。主要方法就是MOVE。
CChessboard----自己寫的棋盤類。負責畫出棋盤,并且建立屏幕坐標和棋盤邏輯坐標的對應關系~!
目前界面做到這個程度了。30號先回學校考試。之后聽完今年的維也納音樂會再來繼續做吧~!
順便說一下。這個棋盤是我自己一筆一筆用VC畫出來的。真費勁?。∵€有那些棋子的素材也來之不易。我把一個象棋游戲當中的資源給拔下來了!又需要素材或者源程序的朋友請郵件聯系!~
ps:這個游戲的四大目標
1、實現雙人同機對戰
2、實現雙人網絡對戰
3、實現人機對戰
4、加入后臺數據庫實現用戶注冊和積分等功能。注冊部分希望可以獨立的使用Ruby on Rails寫出來!
小弟初學乍練。不到之處多多包涵! 2008.12.31
在2008年最后一天的下午,我又想寫一寫這個想起程序了。
目前遇到的問題是由于使用DrawIconEx等函數實現棋子的移動效果的時候屏幕會出現閃爍!請問各位如何防止這種情況的出現呢?換句話說就是在調用OnPaint函數的時候,只刷新當前棋子位置的屏幕,而其他部分則不刷新!
第二個問題是我想用GDI+來顯示ICO圖像??墒菂s失敗了,源碼如下……
Image image(L"C:\\Users\\Administrator\\Desktop\\ico128.ico");
CRect rect;
GetWindowRect(&rect);
Graphics graphics(hdc);
graphics.DrawImage(&image, 0, 0,rect.Width(),rect.Height());
但是當把imang參數變為L"C:\\Users\\Administrator\\Desktop\\i200831313448532_2.jpg就能顯示出來。不知道是不是GDI+不支持ICO格式呢?(我又檢查了一遍,路徑沒有問題?。?
請各位老大賜教一下吧!~
posted on 2008-12-29 00:30
HIT@ME 閱讀(2803)
評論(18) 編輯 收藏 引用