斗地主发牌游戏编程java,自己做的斗地主游戏发牌C#程序
已结贴√
问题点数: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#程序相关推荐
- python游戏编程入门书籍推荐-游戏编程入门书籍推荐:想要游戏编程尽快入门这些书不要错过...
游戏编程一直都是编程之中的一大热点,这也是由于游戏本身的火热造成的结果,所以每年都有很多人在关注着游戏编程.介于此小编今天就来将一些好的游戏编程入门书籍推荐给大家,希望对想要了解和学习游戏编程的朋友能 ...
- easyx游戏编程:五子棋(C语言游戏开发)
easyx游戏编程:五子棋(C语言游戏开发) 五子棋: 本游戏用到了图形界面库graphics.h,图形界面库下载安装: 下载链接: https://easyx.cn/downloads/. 下方有源 ...
- 3D游戏编程:介绍一款功能游戏
3D游戏编程:介绍一款功能游戏 功能游戏简介 介绍游戏:Single N-back 游戏简介 设计元素分析 社会贡献与价值 功能游戏简介 功能游戏(Serious Game)可被理解为严肃性游戏或应用 ...
- 视频教程-C++游戏编程实例精讲--3D射击游戏作弊-C/C++
C++游戏编程实例精讲--3D射击游戏作弊 80后,游戏作弊工程师,从事C++开发14年,擅长语言:C,C++ 领域:服务器开发,精通MFC,STL,Boost,熟悉TCP/IP协议,熟练运用IOCP ...
- java斗地主发牌代码_[Java源码]扑克牌——斗地主发牌实现
--------------------------------------- --------------------------------------- ----------一个扑克牌核心和简单 ...
- JAVA游戏编程之二----j2me MIDlet 手机游戏入门开发--贪吃蛇
作者:雷神 QQ:38929568 QQ群:28048051JAVA游戏编程(满) 28047782(将满) 与前一款扫雷比较,这个游戏多了一个 类,用来显示动画,也是蛇要吃的物品类, 也有了代码包, ...
- C++游戏编程(1)——先做一个窗口
C++游戏编程(1) Are you a game lover?如果是的,那么你想开发一个游戏吗?如果想,那就跟着我来吧. 一.一个窗口的开始 先看VS2017的初始窗口代码. //cppgame1. ...
- java怎么做简易的游戏,Java小项目之《简易桌面小游戏》
注意小球的运动范围,规定向右为正,如果不限定范围小球可能会跑出银河系-所以限定小球碰到左面左右回弹 画完窗口后运行若还是一片空白可以先最大化然后最小化解决 代码目录 实现代码 import java. ...
- java四连环游戏编程_Java实现四连环棋游戏
本文实例为大家分享了Java实现四连环棋游戏的具体代码,供大家参考,具体内容如下 游戏规则: (1)双人游戏,有黑红两色棋子,双方各执一色棋子. (2)空棋局开盘,黑棋先发,从最上面一行开始下,棋子会 ...
- 纯java语言做rpg游戏_【纯JAVA语言做个RPG游戏】2.游戏界面及角色移动的基本实现...
继上次做的地图编辑器,我大致的做了一个4000X4000的游戏地图数组,不过只画了一部分,以后要加什么新东西继续编辑这个地图就行了,保存在了一个文件中. 现在便可以继续下一步,做出游戏的大致界面了. ...
最新文章
- Java中对clone对象的认知
- mysql5.5.54语法_mysql 基础篇5(mysql语法---数据)
- linux下配置环境变量【原创】
- redis mysql主从延迟_MySQL主从延迟问题解决
- html5 svg组态图,绘制SVG内容到Canvas的HTML5应用
- mysql 行转列 (结果集以坐标显示)
- python-数字(int)知识整理
- 计算机保研-中科大计算机
- Axure| .rp的文件怎么转化为.rplib
- python实现同花顺股票模拟交易+东方财富模拟交易
- js定义对象的多个属性值
- pytorch下使用LSTM神经网络写诗
- python 柱状图显示数值_Matplotlib里的柱状图带数值显示
- 系统提示无法删除文件或文件夹的常用解决办法
- 【爬虫】IP代理池的总结、实现与维护,IP代理池小工具(小框架),自建代理ip池
- 使用 yarn 安装 marked
- VMware创建共享文件夹并实现文件传输(Windows主机,Ubuntu虚拟机)
- vue中怎么获取元素
- 数据结构入门9—虚树
- centos5安装nagios