拼圖游戲 v1.1


我一直對拼圖游戲比較有興趣,市面上賣的所謂“1000塊拼圖”也玩過不少,不過玩那個太占地方,后來也不再買了,同時也就萌生了在電腦上玩拼圖的想法。

現在雖然有很多拼圖游戲,但能大多數只能支持幾十或幾百塊拼圖,很少能支持上千塊拼圖的游戲。

后來,我就利用 Direct2D 自己實現了一個拼圖游戲,可以流暢的支持最高 1200 塊的拼圖(更高其實也可以支持,但是感覺已經足夠了),拼圖碎片之間也可以自動吸附,還可以設置吸附到背景。游戲界面如圖 1 所示。

圖 1 游戲界面

一、系統要求

拼圖游戲是使用 C# 編寫的,使用 SharpDX 類庫實現游戲界面。

最低系統要求是 Windows 7,需要 .Net Framework 4.5 的支持。一些游戲特效需要 DirectX 11.1 的支持,但不影響游戲過程。

二、游戲介紹

游戲的工具欄如圖 2 所示。

圖 2 工具欄

基本的游戲操作是:

  • Ctrl + 鼠標左鍵單擊,可以將拼圖放到最底層(不會遮擋其它拼圖)
  • 鼠標右鍵單擊,順時針旋轉拼圖(如果允許的話)
  • Shift + 鼠標右鍵單擊,逆時針旋轉拼圖
  • 鼠標滾輪,上下滾動界面
  • Shift + 鼠標滾輪,左右滾動界面
  • Ctrl + 鼠標滾輪,縮放界面

2.1 新建、打開和保存游戲

點擊“新建游戲”按鈕,會彈出“創建新游戲”窗口,如圖 3 所示。

圖 3 創建新游戲

通過“瀏覽”按鈕選擇一幅圖片,該圖片就將被作為拼圖的圖片使用。

通過拖動“游戲難度”滑塊,可以更改拼圖碎片的數目。游戲難度被分為了四個級別,分別是:

  1. 普通,拼圖碎片數從 2 到 200。
  2. 噩夢,拼圖碎片數從 201 到 400。
  3. 地獄,拼圖碎片數從 401 到 800。
  4. 煉獄,拼圖碎片數從 801 到 1200。

在挑戰高難度拼圖游戲時,請盡量使用高分辨率的圖片,否則每塊拼圖碎片過小,會難以分辨。

拖動“隨機程度”滑塊,可以改變拼圖碎片的隨機程度。隨機程度越大,會導致拼圖碎片的形狀更加不規則,圖 4 以“四邊形”展示了不同的隨機程度下,拼圖碎片的形狀。

圖 4 不同的隨機程度

勾選“允許拼圖旋轉”,會將拼圖碎片隨機旋轉 90、180 或 270 度,在拼圖過程中就可以利用鼠標右鍵旋轉拼圖碎片。

勾選“吸附到正確位置”,那么如果將拼圖碎片正確的擺放到與背景對應的位置,就會自動固定下來,不會再被拖動。

最后是拼圖形狀下拉框,目前有四種拼圖形狀,如圖 5 所示,可以依個人喜好自由選擇。

圖 5 四種拼圖形狀

當隨機程度較大時,某些拼圖形狀可能產生一些問題,如圖 6 所示。這僅僅是顯示的問題,不會影響到游戲。

圖 6 隨機度較大時可能產生的問題

游戲存檔會保存為 *.jig 格式,拼圖游戲的所有相關信息都會被保存下來,不必擔心打亂拼圖碎片的位置。

2.2 游戲輔助

游戲縮略圖窗口如圖 7 所示,其中顯示了完整的圖片。在縮略圖窗口中,可以鼠標右鍵拖動縮放縮略圖,鼠標左鍵拖動縮略圖。

圖 7 游戲縮略圖

背景圖片指的是圖 1 中拼圖后面的圖片虛影,它提示了每個拼圖碎片的正確位置。如果在創建新游戲的時候勾選了“吸附到正確位置”,那么將拼圖碎片拖動到對應的背景圖片位置時,就會自動吸附。背景圖片的透明度和背景顏色可以在游戲設置中更改。

游戲中可以切換只顯示邊框拼圖碎片(隱藏中心位置的圖片),以及在 10% 至 400% 間任意縮放游戲界面。工具欄右邊會提示當前的游戲用時和游戲完成度。

2.3 游戲樣式

在設置中,可以更改拼圖游戲的樣式,目前包含兩個樣式:簡單和特效,如圖 8 所示。

圖 8 游戲樣式

兩種樣式可以在設置中任意切換。簡單樣式比較節約資源;特效樣式要消耗更多的資源,同時需要電腦支持 DirectX 11.1,某些電腦可能無法開啟特效樣式。

關於特效樣式的實現,可以參見《C# 使用 Direct2D 實現斜角效果》

三、游戲下載

游戲本身是綠色的,解壓即可。

最新版本下載:JigsawGame-1.1

知識共享許可協議
JigsawGameCYJB 創作,采用 知識共享 Attribution-NonCommercial-NoDerivatives 4.0 國際 許可協議進行許可。

游戲的完整源代碼可見這里,僅供個人學習使用。

四、版本日志

version 1.1

2013.10.01 發布

  • 大幅提升了特效模式下,新建和打開游戲的效率
  • 減少了界面卡死問題
  • BUG 修復

version 1.0.0.1

2013.09.20 發布

  • 修復了一個小的界面問題

version 1.0

2013.09.20 首次發布


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM