已结贴√

问题点数:20 回复次数:9

自己做的斗地主游戏发牌C#程序

using System;

class Print

{

public void show(int a)  //显牌

{

string s="";

int i,j;

i=a/100;

j=a%100;

switch(i)

{

case 1: s=Convert.ToString('\x0003'); break;  //红桃

case 2: s=Convert.ToString('\x0004'); break;  //方块

case 3: s=Convert.ToString('\x0005'); break;  //梅花

case 4: s=Convert.ToString('\x0006'); break;  //黑桃

case 5: s="SK"; break;  //小王

case 6: s="BK"; break;  //大王

}

switch(j)

{

case 1:  s=s+"A"; break;

case 11: s=s+"J"; break;

case 12: s=s+"Q"; break;

case 13: s=s+"K"; break;

case 14: break;

case 15: break;

default: s=s+j.ToString(); break;

}

Console.Write(s);

}

}

class myclass

{

public static void Main()

{

int dz,i,j,k,l,a,b,c,temp;

int []card=new int[54]; int []dp=new int[3]; int [,]player=new int[3,17];

Random Rnd1=new Random();

Print print=new Print();

dz=Rnd1.Next(0,3);  //选地主

for(i=1;i<5;i++)   //初始化54张牌

for(j=1;j<14;j++)

card[(i-1)*13+j-1]=i*100+j;

card[52]=514; card[53]=615;  //小王,大王

do

{

dp[0]=Rnd1.Next(0,54);

dp[1]=Rnd1.Next(0,54);

dp[2]=Rnd1.Next(0,54);

}while(dp[0]==dp[1]||dp[1]==dp[2]||dp[0]==dp[2]);  //选底牌

a=card[dp[0]]; card[dp[0]]=0;  //记住底牌,并将牌中底牌的值置0

b=card[dp[1]]; card[dp[1]]=0;

c=card[dp[2]]; card[dp[2]]=0;

for(i=0;i<=10;i++)  //洗牌10次

for(j=0;j<54;j++)

{

k=Rnd1.Next(0,54);

temp=card[j];

card[j]=card[k];

card[k]=temp;

}

j=0;

for(i=0;i<3;i++)      //分牌,每人17张

for(l=0,k=0;j<54;j++)

{

if(card[j]!=0)  //略去底牌

{

if(k==17) break;

k++;

player[i,l]=card[j];

l++;

}

}

for(k=0;k<3;k++)  //排列每个人的牌

{

for(i=0;i<16;i++)  //排列大小

for(j=i+1;j<17;j++)

if((player[k,i]%100)

{

temp=player[k,i];

player[k,i]=player[k,j];

player[k,j]=temp;

}

for(i=0;i<16;i++)  //排列花色

for(j=i+1;j<17;j++)

if(((player[k,i]/100)

{

temp=player[k,i];

player[k,i]=player[k,j];

player[k,j]=temp;

}

}

Console.WriteLine("---模仿QQ游戏中斗地主中的发牌---");

Console.WriteLine("地主是:player[{0}]",dz);

Console.Write("底牌是:"); print.show(a); Console.Write(","); print.show(b); Console.Write(","); print.show(c);  //显示底牌

Console.WriteLine();

for(i=0;i<3;i++)  //显示每个人的牌

{

Console.Write("player[{0}]的牌是:",i);

for(j=0;j<16;j++)

{

print.show(player[i,j]);

Console.Write(",");

}

if(i!=dz)  //不是地主

print.show(player[i,j]);

else  //是地主,发给三张底牌

{

print.show(player[i,j]); Console.Write(",");

print.show(a); Console.Write(",");

print.show(b); Console.Write(",");

print.show(c);

}

Console.WriteLine();

}

Console.ReadKey();

}

}

自己比较得意的C#控制台程序,大家分享,水平有限呵呵。另外大家看看有没有好的算法排列扑克的大小和花色?我的没有搞好啊!

搜索更多相关主题的帖子:

斗地主游戏 大王

斗地主发牌游戏编程java,自己做的斗地主游戏发牌C#程序相关推荐

  1. python游戏编程入门书籍推荐-游戏编程入门书籍推荐:想要游戏编程尽快入门这些书不要错过...

    游戏编程一直都是编程之中的一大热点,这也是由于游戏本身的火热造成的结果,所以每年都有很多人在关注着游戏编程.介于此小编今天就来将一些好的游戏编程入门书籍推荐给大家,希望对想要了解和学习游戏编程的朋友能 ...

  2. easyx游戏编程:五子棋(C语言游戏开发)

    easyx游戏编程:五子棋(C语言游戏开发) 五子棋: 本游戏用到了图形界面库graphics.h,图形界面库下载安装: 下载链接: https://easyx.cn/downloads/. 下方有源 ...

  3. 3D游戏编程:介绍一款功能游戏

    3D游戏编程:介绍一款功能游戏 功能游戏简介 介绍游戏:Single N-back 游戏简介 设计元素分析 社会贡献与价值 功能游戏简介 功能游戏(Serious Game)可被理解为严肃性游戏或应用 ...

  4. 视频教程-C++游戏编程实例精讲--3D射击游戏作弊-C/C++

    C++游戏编程实例精讲--3D射击游戏作弊 80后,游戏作弊工程师,从事C++开发14年,擅长语言:C,C++ 领域:服务器开发,精通MFC,STL,Boost,熟悉TCP/IP协议,熟练运用IOCP ...

  5. java斗地主发牌代码_[Java源码]扑克牌——斗地主发牌实现

    --------------------------------------- --------------------------------------- ----------一个扑克牌核心和简单 ...

  6. JAVA游戏编程之二----j2me MIDlet 手机游戏入门开发--贪吃蛇

    作者:雷神 QQ:38929568 QQ群:28048051JAVA游戏编程(满) 28047782(将满) 与前一款扫雷比较,这个游戏多了一个 类,用来显示动画,也是蛇要吃的物品类, 也有了代码包, ...

  7. C++游戏编程(1)——先做一个窗口

    C++游戏编程(1) Are you a game lover?如果是的,那么你想开发一个游戏吗?如果想,那就跟着我来吧. 一.一个窗口的开始 先看VS2017的初始窗口代码. //cppgame1. ...

  8. java怎么做简易的游戏,Java小项目之《简易桌面小游戏》

    注意小球的运动范围,规定向右为正,如果不限定范围小球可能会跑出银河系-所以限定小球碰到左面左右回弹 画完窗口后运行若还是一片空白可以先最大化然后最小化解决 代码目录 实现代码 import java. ...

  9. java四连环游戏编程_Java实现四连环棋游戏

    本文实例为大家分享了Java实现四连环棋游戏的具体代码,供大家参考,具体内容如下 游戏规则: (1)双人游戏,有黑红两色棋子,双方各执一色棋子. (2)空棋局开盘,黑棋先发,从最上面一行开始下,棋子会 ...

  10. 纯java语言做rpg游戏_【纯JAVA语言做个RPG游戏】2.游戏界面及角色移动的基本实现...

    继上次做的地图编辑器,我大致的做了一个4000X4000的游戏地图数组,不过只画了一部分,以后要加什么新东西继续编辑这个地图就行了,保存在了一个文件中. 现在便可以继续下一步,做出游戏的大致界面了. ...

最新文章

  1. Java中对clone对象的认知
  2. mysql5.5.54语法_mysql 基础篇5(mysql语法---数据)
  3. linux下配置环境变量【原创】
  4. redis mysql主从延迟_MySQL主从延迟问题解决
  5. html5 svg组态图,绘制SVG内容到Canvas的HTML5应用
  6. mysql 行转列 (结果集以坐标显示)
  7. python-数字(int)知识整理
  8. 计算机保研-中科大计算机
  9. Axure| .rp的文件怎么转化为.rplib
  10. python实现同花顺股票模拟交易+东方财富模拟交易
  11. js定义对象的多个属性值
  12. pytorch下使用LSTM神经网络写诗
  13. python 柱状图显示数值_Matplotlib里的柱状图带数值显示
  14. 系统提示无法删除文件或文件夹的常用解决办法
  15. 【爬虫】IP代理池的总结、实现与维护,IP代理池小工具(小框架),自建代理ip池
  16. 使用 yarn 安装 marked
  17. VMware创建共享文件夹并实现文件传输(Windows主机,Ubuntu虚拟机)
  18. vue中怎么获取元素
  19. 数据结构入门9—虚树
  20. centos5安装nagios

热门文章

  1. office 快捷键
  2. x1000e rtl wifi 移植
  3. 宁夏移民文化的四个特点
  4. 码农和程序员之间的5个关键差异
  5. Ffmpeg实例,为视频添加一个循环播放的背景音乐(混声)
  6. 不同品牌路由器无线桥接的设置方法
  7. 苹果x和xsmax有什么区别_苹果12和12pro有什么区别?参数对比拍照续航,哪个值得买?...
  8. 提交form表单时,修改action路径,增加参数
  9. 如何科学地利用A/B测试快速迭代产品?
  10. ue4 离线渲染_UE4渲染引擎模块简介(2)