扑克牌的随机发牌程序

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万+

S7-200SMART系列全套接线说明

SMART200接线方法,输入,输出,模拟量,面板,扩展糟等,并且详细说明接线原理。

文都龙哥 1万+

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

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

weixin_36014846的博客 1820

别再死记公式了!用HFSS/CST手把手教你仿真一个2.4GHz WiFi的PIFA天线(附参数调试技巧)

本文详细介绍了使用HFSS和CST仿真软件设计2.4GHz WiFi PIFA天线的全流程,包括建模准备、分步操作指南和参数调试技巧。通过可视化结果和实战案例,帮助工程师快速掌握天线设计的关键参数优化方法,提升辐射性能和工作效率。

weixin_31682031的博客 331

FPGA领域四大顶级会议全景解读:从架构到应用的技术风向标

本文全景解读FPGA领域四大顶级会议(FPGA、FCCM、FPL、FPT),剖析其各自定位与技术风向。FPGA会议聚焦架构与工具创新,FCCM专攻硬件加速与定制计算,FPL覆盖从理论到应用的广泛领域,FPT则重点关注亚太市场与前沿应用。跟踪这些会议是把握FPGA技术演进、寻找创新灵感和应用方案的高效途径。

weixin_29274969的博客 335

用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

深度学习在传感器数据分析中的创新应用

传感器是物理世界与数字世界的“接口”,其生成的高维、时序、多源数据蕴含着设备状态、环境变化、用户行为等关键信息。传统传感器数据分析依赖手工特征工程与简单机器学习模型,难以应对复杂场景下的非线性、长程依赖与实时性需求。深度学习通过自动特征提取非线性建模与端到端学习,成为传感器数据处理的革命性工具。本文从概念基础理论框架架构设计实现机制到实际应用,系统拆解深度学习与传感器数据的融合逻辑,结合工业预测维护医疗健康监测智能交通等场景,揭示其技术边界与未来演化方向。

大数据洞察的博客 568

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

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

yue的专栏 940

【QNX+Android虚拟化方案】125 - 如何创建android-spare镜像

【QNX+Android虚拟化方案】125 - 如何创建android-spare镜像

|~~~热爱生活、努力学习的小伙汁~~~| 1092

【OpenFOAM】-olaFlow-算例10-wavemakerTank

采用 Flap和Piston两种方式的动网格进行造波

ou_no的博客 2167

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

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

yue的专栏 1117

数字人(对嘴型 Lip-sync)数据集 LRS2 介绍(含网盘链接)

LRS2(Lip Reading Sentences 2)是牛津大学与BBC合作开发的一个大规模唇语识别数据集,专门用于训练和评估数字人唇语同步(Lip-sync)技术。该数据集包含数千条来自BBC电视节目的口语句子,每个句子长度最多100个字符。官方网站为:https://www.robots.ox.ac.uk/~vgg/data/lip_reading/lrs2.html可惜需要认证,不过我已经下载好并存到网盘里了,有需要可适用如下链接下载。(仅供学习,请勿传播)

iioSnail的博客 1683

用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

基于STM32设计的智能水产养殖系统(2025)_359

本设计提出并实现了一种基于STM32F103RCT6微控制器的智能水产养殖控制系统,针对传统水产养殖中人工依赖高、环境参数监测滞后、控制手段单一等问题,集成了TDS水质检测、水温检测、水位监测、自动喂食、自动充氧、换水控制与加热保温等功能。系统采用ESP8266模块实现WIFI联网,通过MQTT协议将关键数据上传至华为云物联网平台,支持Android手机APP和Windows上位机远程监测与控制。同时,系统具备本地LCD数据显示与蜂鸣器异常报警功能,支持本地按键控制操作。整套系统功能完善,响应灵敏,运行稳定

624

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

用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

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

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

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

weixin_39621488的博客 712

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

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

主要功能介绍:扑克牌共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、付费专栏及课程。

余额充值