扑克牌的随机发牌程序

python案例:扑克牌发牌程序-面向对象 (Python经典编程案例) 下面是一个使用面向对象编程(OOP)实现的扑克牌发牌程序的 Python 案例。这个程序模拟了一副扑克牌的创建、洗牌和发牌过程。 阅读详情

来自Asp.net精英论坛:bbs.1aspx.com 


打算写一个扑克牌游戏(准确的说就是“斗地主”),本来是打算取0-53的随机数,取过的就做一个标识,循环直至全部完。但是细想一下,效率实在是太低了,最后决定用乱序的方式,感觉还不错。不知道还有没有更好的办法,请大家多多指教!

using
 System;
using System.Collections;
namespace ConsoleApplication11
{
    
/// <summary>
    
/// RandomTEST 的摘要说明。
    
/// </summary>
    public class RandomTest
    {        
        
//0-12表示黑桃A到K;
        
//13-25表示红桃A到K;
        
//26-38表示梅花A到K;
        
//39-51表示方块A到K;
        
//52表示小鬼,53表示大鬼;
        public string man_a;
        
public string man_b;
        
public string man_c;
        
public string remnant;
        
private    int[] array = new int[]{0,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};
        
//乱序算法
        public void Random_Sequence()
        {
            
int m,n;
            Random ram
=new Random();
            
for(int i=0;i<1000;i++)
            {
                m
=ram.Next(0,54);
                n
=ram.Next(0,54);
                
if (m!=n)
                {
                    
this.permute(m,n);
                }
            }
        }
        
//两个数置换
        public void permute(int a,int b)
        {
            array[a]
=array[a]+array[b];
            array[b]
=array[a]-array[b];
            array[a]
=array[a]-array[b];
        }
        
//发牌
        public void deal_cards()
        {
            
for (int i=0;i<17;i++)
            {    
                man_a
=man_a+" "+array[i*3].ToString();
                man_b
=man_b+" "+array[i*3+1].ToString();
                man_c
=man_c+" "+array[i*3+2].ToString();
            }
            remnant
=array[51].ToString()+" "+array[52].ToString()+" "+array[53].ToString();
        }
    }
    
public class GameStart
    {
        [STAThread]
        
static void Main(string[] args)
        {
            RandomTest rt
= new RandomTest();
            rt.Random_Sequence();
            rt.deal_cards();
            Console.WriteLine(
"玩家甲的牌型:"+rt.man_a.ToString());
            Console.WriteLine(
"玩家乙的牌型:"+rt.man_b.ToString());
            Console.WriteLine(
"玩家丙的牌型:"+rt.man_c.ToString());
            Console.WriteLine(
"剩余的牌型:"+rt.remnant.ToString());
            Console.ReadLine();
        }
    }
}

C语言程序扑克发牌 现在有一副扑克牌共54张,去掉大小王,剩余52张,分别发给四个游戏玩家,每个玩家会收到13张扑克牌,并且要求每轮每个玩家收到的13张牌都不一样。 立即下载

相关推荐

全能随机码生成器

该工具具有小巧、实用、好用等优点,绿色版,无须安装

【Python从入门到实践3.0】扑克牌发牌程序

扑克发牌 编程思路 1、

扶摇直上 4029

扑克牌发牌程序

C语言 扑克牌发牌程序。研究生考试C语言试题。

Python——实现扑克牌发牌

这个案例书写了一个实体玩家类还有一个工具集的类,大量运用了python的各个容器,写下来收获还是很大的。

qq_68076599的博客 1117

java发牌程序,扑克牌

java发牌程序,扑克牌打牌可以选择发牌张数,然后是动态的发牌过程,可以实现移动扑克牌,翻页,出牌等功能

扑克牌洗牌发牌程序

此程序用C完成了对52张扑克牌的洗牌和发牌,程序内容比较简单易学

(Python)扑克牌发牌程序 超详细的个人解读(学习笔记)

扑克牌发牌程序 我对程序的理解(不足请谅解): 首先牌数为52张,按照梅花0到12,方块13到25,红桃26到38,黑桃39到51,于是建立包含0到51的列表当作52张牌(自始至终一定要注意列表从0开始)。 对于洗牌的理解: 列表中是从0到51按顺序排列的,利用random库中的randint()函数可以随机从0到51选取出2个数,然后交换2张牌,进行100次左右的交换后,此时列表中从0到51的位置上不再是按顺序的0到51.(其实就是原来是pai[0]==0,pai[1]==1,现在pai[0]等于0到51

不吃辣的IT男 1万+

从GitHub到海浪模拟:手把手教你配置WAVEWATCHⅢ 6.07.0的完整开发与测试环境

本文详细指导如何在Ubuntu系统中配置WAVEWATCHⅢ 6.07.0的开发与测试环境,涵盖虚拟机设置、依赖安装、源码编译及案例验证的全流程。通过步骤化教程,帮助科研人员快速搭建高效的海浪模拟平台,提升海洋数值模拟的研究效率。

weixin_42568801的博客 322

java 随机发牌_java实现扑克牌发牌器

Java练习——扑克牌发牌器,供大家参考,具体内容如下声明:学习自其他博主,感谢分享实现思路构建一张扑克牌构建一套扑克牌测试构建一张扑克牌/*** @author 冬冬* 定义一个单张扑克牌类* 有花型,大小*/public class Card {private String flower; // 花型private int daxiao; // 点数/**构造方法* @param flowe...

weixin_36014846的博客 1820

英飞凌TC397芯片时钟树详解:从EB-tresos配置到PLL锁相环实战避坑

本文详细解析了英飞凌TC397芯片的时钟树架构,从EB-tresos配置到PLL锁相环的实战应用,帮助工程师避免常见配置陷阱。文章深入探讨了时钟源层、频率转换层和分配网络层的设计原理,提供了PLL配置的数学公式和EB-tresos关键容器的配置要点,并分享了调试技巧与性能优化实践,适用于MCU开发中的时钟管理需求。

weixin_42524226的博客 211

无人机基本组成部件

无人机基本组成部件

qq_37410522的博客 1万+

用python扑克随机发牌_python:扑克牌发牌程序

Python实现扑克牌发牌程序运行效果如下Python3.7代码实现如下classPard:#一张牌DIGIT=['A','2','3','4','5','6','7','8','9','10','J','Q','K'];#数值FLOWER_COLOUR=['黑','红','梅','方'];#花色def__init__(self,digit,flower_colour,face_up=True):...

weixin_39945178的博客 1484

60、新型共轴直升机建模与事件触发积分强化学习研究

本文研究了新型共轴直升机的动力学建模与控制方法,基于牛顿-欧拉方程建立了6自由度非线性模型,并设计了四通道闭环控制器实现稳定飞行。同时,提出一种事件触发积分强化学习方法,用于解决非零和博弈中的最优跟踪控制问题,在减少通信开销的同时保证系统性能。通过仿真验证了控制器的轨迹跟踪能力,并证明了算法下跟踪误差与神经网络权重估计误差的一致最终有界性。两种方法协同可提升飞行器的自主性与鲁棒性,未来可拓展至多智能体协作、智能交通等复杂系统应用。

rl6adventurer的博客 118

大家看看这个随机发牌的小程序,给出点建议,或者挑出点瑕疵,一起来讨论一下

主要功能介绍:扑克牌共54张,但便于平均分配,所以就排除大小王,剩下52张,每人13张。                          使这些牌随机分配给4个玩家player1-4、  以及给出牌的花色及大小、     #include #include #include //初始化扑克牌列表,使52张扑克牌均为未发状态 int puker[52]={0}; int main

yue的专栏 940

2、机器人控制技术:阻抗/导纳控制与强化学习的融合

本文探讨了阻抗/导纳控制与强化学习在机器人控制中的融合应用。阻抗/导纳控制广泛应用于外骨骼和跟踪控制,通过改进方案提升建模误差下的鲁棒性;强化学习则为解决维度灾难、实现最优交互提供了有效途径,尤其在大输入空间、连续时间系统、冗余机器人及鲁棒控制中表现突出。结合近似器与合理奖励设计,强化学习可在无模型情况下实现高效控制。未来,两者融合有望推动更智能、更安全的机器人系统发展。

ice55的博客 299

MoveIt 运动学、运动规划、混合规划、move_group

混合规划是运动规划方法的一个术语,它将异构运动规划器结合起来,以产生更稳健或反应更快的解决方案。这种通用方法在导航领域已经非常成熟,并在导航2等流行项目中成功实施。MoveIt 的混合规划架构结合了一对全局规划器和局部规划器,它们以不同的规划速度和问题范围并行、并发运行。全局规划器的任务是解决全局运动规划问题,这与 “感知-规划-行动 ”应用中使用的规划器非常相似。所使用的规划器算法应该是完整的,因此假定其计算时间相对较慢。此外,全局规划器不要求实时安全,这意味着无法保证规划器在特定期限内找到解决方案。

机器人控制与仿真应用 2131

请大家看看这个随机发牌的小程序,希望给出点建议或者挑出点瑕疵

主要功能介绍:扑克牌共54张,但便于平均分配,所以就排除大小王,剩下52张,每人13张。                          使这些牌随机分配给4个玩家player1-4、  以及给出牌的花色及大小、     #include #include #include //初始化扑克牌列表,使52张扑克牌均为未发状态 int puker[52]={0}; int main

yue的专栏 1117

【从0到1实战】C# WinForm开发工业级PLC监控系统(完整串口+Modbus RTU/TCP+数据库存储+源码+避坑指南)

做C#工控上位机开发的工程师,尤其是刚入行的新人,最核心的刚需就是开发一套完整的PLC监控系统。这也是工控领域最基础、最核心、应用最广的项目类型——小到单台PLC的设备测控,大到整线的产线监控,本质都是「上位机与PLC通讯,实现数据采集、参数下发、状态监控、数据存储」。碎片化的知识点学了很多,串口会用了、Modbus协议看了、数据库也懂点,但是始终无法把这些知识点串联起来,做出一套能落地的工业级PLC监控系统。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1559

用python扑克随机发牌_python实现扑克牌交互式界面发牌程序

本文实例为大家分享了python实现扑克牌交互式界面发牌程序的具体代码,供大家参考,具体内容如下注:图片自行在网上下载、替换即可#coding=utf-8class Card(): #扑克牌类points=['1','2','3','4','5','6','7','8','9','10','11','12','13']suits=['1','2','3','4'] #花色def __init__(...

weixin_39743622的博客 441

vue:npm安装pnpm报错,npm ERR! code ENOTFOUND,npm ERR! syscall getaddrinfo,npm ERR! errno ENOTFOUND详细排查解决!

vue2 vue3,npm install -g pnpm 安装出现错误,安装pnpm及解决安装失败问题,解决 npm无法安装pnpm问题,npm 安装 pnpm 时 报错 npm ERR! code ENOTFOUND,pnpm无法安装报错,vue npm install -g pnpm安装报错,request to http://registry.cnpmjs.org/pnpm failed, reason: getaddrinfo ENOTFOUND registry.cnpmjs.org,安装pnp

✅ 精选推荐文章 3608

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

用python扑克随机发牌_python练手程序1-发扑克牌

importrandomimportitertoolsdef Poker_Deal(a = 4, b = 13): #a:游戏人数,b:每人手牌数量Flower = ['黑桃', '红桃', '方块', '草花']Number= ['A', 'K', 'Q', 'J', '10', '9', '8', '7', '6', '5', '4', '3', '2']Poker_Cards= [(x,y)...

weixin_39762001的博客 971

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

用C语言指针实现随机发牌程序,用C#模拟实现扑克牌发牌、随机排序程序。 报错...

usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;usingSystem.Collections;usingTest5;//用C#模拟实现扑克牌发牌、随机排序程序。//(1)52张扑克牌,四种花色(红桃、黑桃、方块和梅花),...

weixin_39621488的博客 712

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

大家都来看看这个随机发牌的小程序代码。给出一点改进的建议,或者能找出点瑕疵,,呵呵

主要功能介绍:扑克牌共54张,但便于平均分配,所以就排除大小王,剩下52张,每人13张。                          使这些牌随机分配给4个玩家player1-4、  以及给出牌的花色及大小、     #include #include #include //初始化扑克牌列表,使52张扑克牌均为未发状态 int puker[52]={0}; int main

yue的专栏 991
上一篇: C#实现斗地主洗牌
下一篇: li去点,变色,改成图片。。
fmpfantasy
博客等级 码龄20年 27粉丝 50原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值