国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語(yǔ)言|JavaScript|易語(yǔ)言|vb.net|

服務(wù)器之家 - 編程語(yǔ)言 - C# - C#編程調(diào)用Cards.dll實(shí)現(xiàn)圖形化發(fā)牌功能示例

C#編程調(diào)用Cards.dll實(shí)現(xiàn)圖形化發(fā)牌功能示例

2022-01-11 14:18songkexin C#

這篇文章主要介紹了C#編程調(diào)用Cards.dll實(shí)現(xiàn)圖形化發(fā)牌功能,結(jié)合實(shí)例形式分析了C#動(dòng)態(tài)鏈接庫(kù)調(diào)用及圖形操作技巧,需要的朋友可以參考下

本文實(shí)例講述了c#編程調(diào)用cards.dll實(shí)現(xiàn)圖形化發(fā)牌功能。分享給大家供大家參考,具體如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
using system;
using system.collections.generic;
using system.componentmodel;
using system.data;
using system.drawing;
using system.text;
using system.windows.forms;
using system.runtime.interopservices;
using system.windows.forms.design;
namespace getcards
{
  public partial class form1 : form
   {
     [dllimport("cards.dll")]
    public static extern bool cdtinit(ref int width, ref int height);
     [dllimport("cards.dll")]
    public static extern void cdtterm();
     [dllimport("cards.dll")]
    public static extern bool cdtdraw(intptr hdc,int x,int y,int card,int mode,long color);
    //mode=0表正面,1表反面,color我從0-0xff000試了很多,好象沒(méi)顏色改變
    //[dllimport("cards.dll")]
    //public static extern bool cdtdrawext(intptr hdc,int x,int y,int dx,int dy,int card,int type,long color);
    //[dllimport("cards.dll")]
    //public static extern bool cdtanimate(intptr hdc,int cardback,int x,int y,int frame);
    int[] bb = new int[100];
    public form1()
     {
       initializecomponent();
     }
    private void form1_load(object sender, eventargs e)
     {
      int width, height;
       width = 0; height = 0;
       cdtinit(ref width, ref height);
     }
    private void btn_paintcard_click(object sender, eventargs e)
     {
      int i, k, left_x, top_y, cardid;
      for (k = 0; k <= 3; k++)
       {
        for (i = 1; i <= 13; i++)
         {
           left_x = 20 + (i - 1) * 15;        //牌的重疊后的寬度是15
           top_y = 20 + k * 100;           //每行13張牌.高度是20
           cardid = (i - 1) * 4 + k;         //原來(lái)52張牌是編了號(hào)的
           cdtdraw(this.creategraphics().gethdc(), left_x, top_y, cardid, 0,9);
         }
       }
     }
    private void form1_formclosed(object sender, formclosedeventargs e)
     {
       cdtterm();
     }
    private void btn_paintback_click(object sender, eventargs e)
     {
      int i, left_x, top_y, backid;
      for (i = 0; i <= 11; i++)              //12張牌背面圖
       {
         backid = i;
         top_y = 20 + (i & 3) * 100;           //小于等于3的不變,>3的截尾,相當(dāng)于豎排
         left_x = 20 + (i >> 2) * 80 + 180 + 80;     //左邊牌占15*12+80=260,也就是和最右張牌20(隱含了牌大小=80)
         cdtdraw(this.creategraphics().gethdc(), left_x, top_y, 54 + backid, 1, 9);
       }
     }
    private void btn_random1_click(object sender, eventargs e) //第一種方法實(shí)現(xiàn)隨機(jī)交換牌
     {
      int ii, k, left_x, top_y, cardid;
      int[] thearray = new int[52];
       random r = new random();
       listbox1.items.clear();
      for (int i = 0; i < 52; i++)
       {
         thearray[i] = i + 1;
       }
      for (int i = 0; i < 52; i++) //就是做52次隨機(jī)交換兩張牌
       {
        int a = r.next(52); //生成0--->51的隨機(jī)數(shù)
        int b = r.next(52);
        int tmp = thearray[a];
         thearray[a] = thearray[b];
         thearray[b] = tmp;
       }
      for (int i = 0; i < 52; i++)
       {
         listbox1.items.add(thearray[i]);
         k = (int)(i / 13);
         ii = i % 13 + 1;
         left_x = 20 + (ii - 1) * 15;
         top_y = 20 + k * 100;
         cardid = thearray[i] - 1;
         cdtdraw(this.creategraphics().gethdc(), left_x, top_y, cardid, 0, 9);
       }
     }
    private void btn_random2_click(object sender, eventargs e) //第一種方法實(shí)現(xiàn)隨機(jī)交換牌
     {
      int ii, k, left_x, top_y, cardid;
      int[] thearray = new int[52];
      int i = 0;
      while (i < thearray.length)
       {
         thearray[i] = ++i;
       }
       random r = new random();
       listbox1.items.clear();
      while (i > 1) //從51-->1依次隨機(jī)向前交換獲得最終值
       {
        int j = r.next(i);
        int t = thearray[--i];
         thearray[i] = thearray[j];
         thearray[j] = t;
       }
      for (i = 0; i < thearray.length; ++i)
       {
         listbox1.items.add(thearray[i].tostring());
         k = (int)(i / 13);
         ii = i % 13 + 1;
         left_x = 20 + (ii - 1) * 15;
         top_y = 20 + k * 100;
         cardid = thearray[i] - 1;
         cdtdraw(this.creategraphics().gethdc(), left_x, top_y, cardid, 0, 9);
       }
     }
   }
}

界面設(shè)計(jì)的話截圖比貼designer.cs省事多了:

C#編程調(diào)用Cards.dll實(shí)現(xiàn)圖形化發(fā)牌功能示例

C#編程調(diào)用Cards.dll實(shí)現(xiàn)圖形化發(fā)牌功能示例

希望本文所述對(duì)大家c#程序設(shè)計(jì)有所幫助。

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 婷婷狠狠| 91精品国产综合久久久久久漫画 | 亚洲品质自拍视频网站 | 国产精品视频导航 | 久久99精品国产自在现线 | 欧美日韩电影一区二区 | 亚洲精品第一区在线观看 | 亚洲综合中文 | 毛片久久久 | 在线播放中文字幕 | 国产综合区 | 成年人综合网 | 国产精品亚洲一区二区三区 | 亚洲青涩在线 | 91精选视频在线观看 | 日韩视频区 | 毛片国产 | 可以看的毛片网站 | 国产精品手机在线 | 99伊人| 欧美一区二区三区在线观看视频 | 亚洲精品国产乱码在线看蜜月 | 亚洲免费在线播放 | 国产亚洲精 | 国产精品毛片一区视频播不卡 | 久久精品中文视频 | 欧美日韩一区精品 | 婷婷成人基地 | 成人小视频在线观看 | 国产中文字幕一区 | 久草视频网站 | 成人在线不卡 | 九九九亚洲 | 久久国产精品一区 | 国产中文字幕在线 | 激情毛片| 青青草综合 | yy6080久久伦理一区二区 | 久久久久中文字幕 | 国产精品v一区二区三区 | 亚洲天堂中文字幕 |