一個多年前自己C 寫的一個小遊戲:五子連珠。代碼原創。
當初是看到一個大神的五子連珠,自己手癢也模仿一個。(沒有深入研究過顯示動畫和圖像,故做出來的可執行文件較大)
開發環境,VC6。
開發思路:
一、單窗口程序,界面上畫上背景圖;
二、背景之上畫方格。線盡量立體效果。方格棋盤區的上面畫出預展示三個彩球。
三、程序啟動,先自動放上3個球(經典版是5個球)。
每挪動一個球時,
1、計算是否可以把球移動過去?
2、如果可移動,那怎麼找路徑?移動後是否可以消球(加分)?如果不可消球,則加入新彩球。
3、循環操作,直到沒有可以移動的小球。最後得分即本局成績。
通過這個小程序,可以熟練C 開發。類對象,屬性和方法的設計。其中最短路徑應該最有意思,當然你可以找很多方法,項目中隻實現了一個尋路算法。
本程序中尋路算法簡單介紹:
1、從起點開始,向4個方向找空格,空則做标記數x=1;
2、從标記數1向4個方向找未做标記的空格,做上标記數 x=x 1 即2;
3、循環找下去,直到到達目标,或者無法到達目标。
4、若能到達目标,則回溯标記路徑,找到一個标記數之和最小的路徑,即可行的最短路徑。
本源代碼中,對畫圖做了簡單實現。每次移動小球時,都把背景圖貼一次,并重畫棋盤。
五子連珠 界面
代碼1
代碼2
代碼3
代碼4
經典版本 主界面
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!