纸牌控件的编写(上)

原创 2004年05月21日 18:17:00

使用了系统自带的纸牌库,无需任何资源,具有边角圆滑的效果,支持Windows 98、Windows 2000系统。

效果如下图:

 

还具有自定义图象功能,如下图所示:

unit ZFPlayCard;<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

{

2003.11.27

xzhifei

}

interface

 

uses

  Windows, WinTypes, Messages, SysUtils, Classes, Controls, Graphics;

 

const

  idClubsAce = 1;

  idClubs2 = 2;

  idClubs3 = 3;

  idClubs4 = 4;

  idClubs5 = 5;

  idClubs6 = 6;

  idClubs7 = 7;

  idClubs8 = 8;

  idClubs9 = 9;

  idClubs10 = 10;

  idClubsJack = 11;

  idClubsQueen = 12;

  idClubsKing = 13;

 

  idDiamondsAce = 14;

  idDiamonds2 = 15;

  idDiamonds3 = 16;

  idDiamonds4 = 17;

  idDiamonds5 = 18;

  idDiamonds6 = 19;

  idDiamonds7 = 20;

  idDiamonds8 = 21;

  idDiamonds9 = 22;

  idDiamonds10 = 23;

  idDiamondsJack = 24;

  idDiamondsQueen = 25;

  idDiamondsKing = 26;

 

  idHeartsAce = 27;

  idHearts2 = 28;

  idHearts3 = 29;

  idHearts4 = 30;

  idHearts5 = 31;

  idHearts6 = 32;

  idHearts7 = 33;

  idHearts8 = 34;

  idHearts9 = 35;

  idHearts10 = 36;

  idHeartsJack = 37;

  idHeartsQueen = 38;

  idHeartsKing = 39;

 

  idSpadesAce = 40;

  idSpades2 = 41;

  idSpades3 = 42;

  idSpades4 = 43;

  idSpades5 = 44;

  idSpades6 = 45;

  idSpades7 = 46;

  idSpades8 = 47;

  idSpades9 = 48;

  idSpades10 = 49;

  idSpadesJack = 50;

  idSpadesQueen = 51;

  idSpadesKing = 52;

 

  RankFirst = idClubsAce;

  RankLast = idClubsKing;

  RankCount = RankLast - RankFirst + 1;

 

  idFaceFirst = idClubsAce;

  idFaceLast = idSpadesKing;

  FaceCount = idFaceLast - idFaceFirst;

 

  SuitCount = 4;

 

  idDeckEmpty = 53; { $35  }

  idDeckPattern1 = 54; { $36  }

  idDeckPattern2 = 55; { $37  }

  idDeckRobot = 56; { $38  }

  idDeckRoses = 57; { $39  }

  idDeckFlowers1 = 58; { $3A  }

  idDeckFlowers2 = 59; { $3B  }

  idDeckFishes = 60; { $3C  }

  idDeckAquarium = 61; { $3D  }

  idDeckShell = 62; { $3E  }

  idDeckCastle = 63; { $3F  }

  idDeckPalmbeach = 64; { $40  }

  idDeckCardhand = 65; { $41  }

  { there is no card# 66 }

  idDeckCross = 67; { $43  }

  idDeckCircle = 68; { $44  }

 

  idDeckFirst = idDeckEmpty;

  idDeckLast = idDeckCardhand;

  DeckCount = idDeckLast - idDeckFirst + 1;

 

  idDeckSpecialFirst = idDeckCross;

  idDeckSpecialLast = idDeckCircle;

  DeckSpecialCount = idDeckSpecialLast - idDeckSpecialFirst + 1;

 

  idAnimateCardhand1 = 678; { $02A6 }

  idAnimateCardhand2 = 679; { $02A7 }

  idAnimateCastle = 680; { $02A8 }

  idAnimateSunSmile = 681; { $02A9 }

  idAnimateSunSmileTongue = 682; { $02AA }

  idAnimateRobot1 = 683; { $02AB }

  idAnimateRobot2 = 684; { $02AC }

 

type

  TCardId = Cardinal; { Win32 - 31-bit unsigned integer

  Win16 - 16-bit unsigned integer }

  TCardMode = (mode1, mode2, mode3, mode4, mode5, mode6, mode7, mode8, mode9);

  { Win32 - 31-bit unsigned integer

Win16 - 16-bit unsigned integer }

  TCoordinate = Integer; { Win32 - 32-bit signed integer

  Win16 - 16-bit signed integer }

 

未完,请看下一章。

[NOIP2002]均分纸牌题解

题目描述   有 N 堆纸牌,编号分别为 1,2,…, N。每堆上有若干张,但纸牌总数必为 N 的倍数。可以在任一堆上取若于张纸牌,然后移动。   移牌规则为:在编号为 1 堆上取的纸牌,只能移到...
  • wangwei6125
  • wangwei6125
  • 2016年05月30日 21:05
  • 1175

js+canvas实现纸牌游戏

废话不多说,先上地址 https://github.com/dogzhang/Solitaire_Html.git 运行截图 最后如果完成了会有结束动画,我技术比较渣,难以玩到结束,就不...
  • u010655942
  • u010655942
  • 2015年06月12日 20:26
  • 1868

开发日记:KBEngine+Unity+php做个扑克小游戏-DAY1

写这篇博客的时候其实我已经开发了一大部分了~php 部分,unity 部分 都已经差不多了 ,由于KBEngine(简称kbe)完全没接触过,其实很多地方php部分的逻辑都可以直接挪到kbe中完成。实...
  • zay109327402
  • zay109327402
  • 2016年11月04日 14:04
  • 3433

纯java编写的蜘蛛纸牌(源码+成品)---感兴趣的可以看看

  • 2009年05月14日 12:47
  • 436KB
  • 下载

C++编写的纸牌游戏(斗地主)

  • 2012年09月19日 19:10
  • 24.97MB
  • 下载

用java编写的纸牌游戏

  • 2010年12月14日 22:13
  • 2KB
  • 下载

用java编写的蜘蛛纸牌游戏

  • 2009年12月06日 17:10
  • 295KB
  • 下载

C#编写COM控件 Powerbuilder调用

  • 2014年03月15日 09:42
  • 4.26MB
  • 下载

C++编写的Active时间控件

  • 2009年11月09日 19:52
  • 55KB
  • 下载

LibUIDK控件编写VC++消球游戏源程序

  • 2010年07月05日 20:01
  • 78KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:纸牌控件的编写(上)
举报原因:
原因补充:

(最多只允许输入30个字)