日本国产亚洲-日本国产一区-日本国产一区二区三区-日本韩国欧美一区-日本韩国欧美在线-日本韩国欧美在线观看

當前位置:雨林木風下載站 > 技術開發(fā)教程 > 詳細頁面

用Delphi再現Windows紙牌游戲

用Delphi再現Windows紙牌游戲

更新時間:2022-05-14 文章作者:未知 信息來源:網絡 閱讀次數:

使用過Windows 98的用戶對其自帶的紙牌游戲一定不會陌生,在您的鼠標點擊、拖動等操作之下,撲克牌上下翻飛、騰挪組合;在您不經意的操作中,其實您已經觸發(fā)了一系列預設事件,這些事件過程的響應最終讓您體會到成功的喜悅和失敗的痛苦。但您想不想體會一下借助于某種開發(fā)工具自己去編程實現的感覺呢,充分體會Delphi的事件驅動機制,這將是另外一番享受,并且理解了事件驅動機制后,再作其他更深層次的開發(fā),這樣您會變得更加得心應手。

  一、單張牌的實現

  Delphi編程環(huán)境中提供了圖形按鈕控件,設計時采用了一個按鈕就是一張牌,我們可以將選定的圖形(如BMP圖形,大小合適)作為其背面和前面。在Delphi中,圖形的裝入顯示的方法為:

  圖形按鈕.glyph.loadfromfile('圖形文件路徑+文件名')

  在設計中可以事先準備52張撲克正面圖形和幾張背景圖形,用控件(控件數組)動態(tài)生成的方法(Create(Self))逐一調用。

  二、關于圖形按鈕

  在游戲中要對撲克牌進行正確的操作還要借助在其圖形按鈕上增加幾個屬性(如圖1)


圖1

  HS:標識一張牌的花色(方塊、黑桃、紅心或梅花)。

  DS:標識一張牌的點數(1-13即A-K)。

  HB:標識一張牌的黑色和紅色。

  Over:標識本張牌上面是否有牌壓著。

  Look:標識本張牌的正面或背面。

  Area:指定本張牌的操作區(qū)域,在設計中將各操作區(qū)定義為如圖2所示各操作區(qū)。

  發(fā)牌源區(qū)(Source):即左上角兩疊牌。

  回歸區(qū)(Home):即右上角四門回收處。

  操作拖放區(qū)(Operate):即下排(7疊)主要拖放區(qū)。

  PTR屬性:用于支持多張撲克牌的拖動操作,為一指針,指向單張牌。筆者用此屬性來實現一疊牌的拉單向鏈表。也可以再加一屬性拉雙向鏈表方便操作。

  三、撲克牌的操作

  撲克牌的操作多數是通過Delphi提供的事件驅動編程實現的,開始一個拖動牌操作:Delphi是從OnMouseDown事件開始。請參考OnMouseDown模塊。

  接受/拒絕被拖動的牌:這里由OnDragOver事件決定,要接受被拖動的牌,必須把圖形按鈕的Accept屬性設為TRUE。

  釋放處理被拖動的牌:這里由EndDrag和DragDrop事件被激發(fā)來處理,這里選用了DragDrop事件來處理,因為該事件只有當DragOver事件的Accept設為TRUE時,只有這個事件被激發(fā)。


圖2

  另外,撲克牌的位置改動是通過Top和Left屬性實現的。

  這里在設計時,52個控件共享Click、OnMouseDown、OnDragOver、OnDragDrop事件。

  在運行時是動態(tài)賦予的。程序中如下例賦予事件代碼:

  Mainpk[i].OnMouseDown:=pk1mousedown;

  Mainpk[i].OnDragOver:=pk1DragOver;

  Mainpk[i].OnDragDrop:=pk1Dragdrop;

  Mainpk[i].OnClick:=pk1Click;

  四、程序的實現

  程序開始時先動態(tài)生成52張牌(圖形按鈕),賦予花色、點數、正面圖形等,接著利用Delphi提供的隨機函數RANDOM(), 將52張牌次序打亂,完成洗牌。接著開始發(fā)牌,動態(tài)賦予事件代碼。之后由接受用戶選擇進入游戲,游戲處理過程實際上就是相應事件代碼在運作。

  游戲調試通過后,筆者還查閱了其他相關資料,有的系統(tǒng)還提供了專門的關于撲克牌方面類庫或API函數供程序員直接調用,減少了程序員的設計復雜性,有興趣的讀者也可以不妨一試。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統(tǒng)下載排行

主站蜘蛛池模板: 欧美视频在线视频 | 在线观看 中文字幕 | 国产美女久久久久久久久久久 | 97碰碰视频 | 国内精品久久国产大陆 | 日日干天天操 | 狠狠干老司机 | 国产欧美日韩综合精品无毒 | 免费网站在线观看高清版 | 1000部啪啪勿入十八免费 | 亚洲免费在线视频观看 | 99这里只有精品视频 | 亚洲区精品久久一区二区三区 | 久久精品久久久久 | 亚洲精品日韩中文字幕久久久 | 成人精品区 | 中文字幕日韩高清版毛片 | 在线免费精品视频 | 高清欧美性狂猛bbbbbbxxxx | 日本一级二级三级中文 | 午夜在线视频网站 | 成人久久久久 | 91精品在线视频观看 | 中文字幕一二三区乱码老 | 狠狠狠狼鲁欧美综合网免费 | 色综合亚洲综合网站综合色 | 国产精品久久久久久久久久妇女 | 国产一区视频在线 | 日韩欧美精品一区二区 | 成人亚洲视频在线观看 | 国产精品久久久久亚洲 | 欧美30p| 国内精品日本久久久久影院 | 久操美女 | 中日韩一级片 | 国产精品你懂的在线播放 | 日韩毛片在线观看 | 国产亚洲精品一品区99热 | 天天爱天天舔 | 国产日本三级 | 欧美三级第一页 |