基于JAVA的斗地主小游戏之洗牌发牌设计

来源 :看世界·学术下半月 | 被引量 : 0次 | 上传用户:mainonewf
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:斗地主是一种常见的纸牌游戏,但随着桌面游戏的发展,斗地主做为一款桌面游戏越来越受追捧。本文设计的洗牌发牌方法简单易用,按照斗地主的游戏规则完成洗牌发牌的整个过程。包括花色与数字组合、编码,洗牌、发牌,看牌等。
  关键词:Java;斗地主;洗牌;发牌
  一、功能介绍
  斗地主是一款全国各地流行的扑克游戏,由三人玩一副牌,地主为一方,
  其余两家为另一方,双方对战,先出完手中牌的一方胜基于JAVA语言,按照斗地主的游戏规则,编写一个斗地主游戏的洗牌发牌程序, 完成洗牌发牌的过程。众所周知,一副扑克牌总共有54张牌,版面由不同的花色及数字组合而成,花色有黑桃、红桃、方块、梅花4种,数字有2、3、4、5、6、7、8、9、10、J、Q、K、A共13种,4种花色及13种数字共组合成52种,再加上大王、小王,共54张。洗牌的时候先将54张牌打乱,发牌时,共3位玩家参与游戏,每人轮流一次摸一张牌,每人得到17张牌,剩余3张留做底牌。3张底牌为地主一方所有,翻开显示可查看每个人手中纸牌(按照纸牌的大小顺序排序)和底牌。
  二、设计与实现
  要实现纸牌的洗牌发牌,首先需要完成纸牌的组装。针对牌面由4种
  花色和13种纸牌数字组合而成,分别创建两个ArrayList集合作为花色集合和数字集合,分别存放4种花色和13种纸牌数字。Color集合存放花色,顺序为:黑桃、红桃、方块、梅花。Number集合存放数字,顺序为:3、4、5、6、7、8、9、10、J、Q、K、A、2(该顺序根据斗地主游戏牌的大小规则排序)。
  其次,通过foreach语句将花色集合与数字集合进行循环嵌套,组合形成52张牌,并赋予编号。将组合后的牌依次从小到大的顺序放到一个HashMap集合中,集合的Key值是编号,Value值是组装完成的纸牌。顺序如下:0-黑桃3、1-红桃3、2-方块3、3-梅花3、4-黑桃4……依次循环下去,完成52张牌的组合,最后依次加上小王、大王,完成所有54张牌的编号。这样就完成了一个数字(Key值)与字符串纸牌(Value值)的对应关系(相当于一个字典)。如图1图所示:
  再次,使用Collection 类的shuffle()方法打乱数字集合的操作,相當于将纸牌打乱,实现洗牌操作。由于有3个玩家,可以用for循,通过将key值数字与3取余的方法,来区分不同的玩家,将不同纸牌对应的key值数字(编号)分配给3个不同的玩家,实现发牌的功能。如图2所示:
  最后,使用Collection 类的sort()方法对每个玩家手上的牌进行排序,然后循环HashMap集合,根据key值数字查找对应的纸牌并打印,完成显示每个人手中纸牌和底牌的效果。
  三、运行结果分析
  运行结果如图3所示,3个玩家手中分别有17张牌,有3张底牌为地
  主牌,且都按从小到大的顺序排列显示,运行结果符合预期设计效果。
  参考文献:
  [1]黑马程序员.Java基础案例教程.人民邮电出版社.2017(1)
  [2]扶松柏、王洋. Java编程从入门到实践.人民邮电出版社.2020(6)
  [3]武春岭 沈廷杰. 面向对象程序设计 Java版.2020(5)
  [4] 谭志国 . Java程序设计实训(第2版).电子工业出版社.2020(6)
  作者简介:
  陈尾英(1984-10),女,福建省南安市人,广东农工商职业技术学院智能工程学院教师,研究方向:通信技术。
其他文献
摘要:读写能力的培养是小学语文教学的重点工作,同时读写能力培养过程中,教师还要善于为学生学习能力的发展提供平台,让学生可以多角度吸纳,这样才能够更好的输出。在小学语文读写结合推进的过程中,教师要善于运用信息技术对学生进行情景创建、方法指导和有机评价,使学生读写训练的积极性能够不断提升。  关键词:小学语文;读写结合;信息技术;应用  信息技术的不断发展,为教学创新带来了更多可能,而与此同时,信息技
期刊
摘要:土地整理测量工作是目前国土资源部门的主要工作方向之一,为有效提高土地测量工作效率与质量,可合理应用数字摄影测量技术,推动土地整理测量工作方式创新。数字摄影测量技术应用时,应当对首级控制测量、像控测量、影像判读、测图处理等环节进行控制,保证GIS技术、RS技术、GPS技术的实际应用效果。本文就数字摄影测量在土地整理测量工作中的实际应用探析。  关键词:土地整理测量;数字摄影测量;工作概述;注意
期刊
摘要:近年来,经济的发展,促进我国科技水平的提升。在我国科技飞速发展的背景下,机电一体化技术被广泛应用到了经济市场各行各业中。在我国制造行业领域,机电一体化技术的应用可以加速实现智能制造,大大提高产品的生产质量与效率。本文就机电一体化在智能制造中的应用展开探讨。  关键词:机电一体化;智能;制造  引言  我国在机电一体化技术方面,正不断的加强研究、创新,很多不足的弥补过程中,都可以选择针对性的标
期刊
摘要:智能电网建设中的电力工程技术保证着智能电网的作用发挥,与此同时,此项技术的不断优化与革新,也在进一步扩展着智能电网的价值。如高效减压、安全防害、调节优化等方面的功能,进一步保障着电网的运行稳定与安全。在发挥智能电网建设中的电力工程技术作用时,应结合多种技术的应用,例如质量优化技术、柔性交流输电技术、高压直流输电技术等。  关键词:智能电网建设;电力工程技术;柔性交流输电技术  引言  智能电
期刊
摘要: 塔西南地区目的层埋藏深度大,上覆多套强反射界面,反射资料信噪比低,成像难度较大,尤其是山前逆冲推覆段构造复杂,老地层出露,断裂发育,反射信息弱。为了提高本地区地震采集效果,本文对目前技术工作中在激发和接收环节存在的细节问题,进行了较为充分的论证和试验,取得了较为明显的效果,为以后类似地区的勘探实践提供了可贵的经验。  关键词:塔西南山前带;激发和接收;技术细节;方法探讨  一、前言  山前
期刊
摘要:机电工程是指机电工程。进入21世纪以来,我国机电工程取得了长足的进步。电气自动化是其重要组成部分,广泛应用于工农业、国防等领域,在我国经济中发挥着越来越重要的作用。电气自动化技术涉及各行各业,从开关的设计到火箭的制造。电气自动化设备在各行各业中起着重要的作用。  关键词:电气自动化;机电工程;应用与分析  1电气自动化的简述  电气自动化,即电气工程及其自动化,是电气信息领域的一门新兴学科。
期刊
摘要:进入21世纪以来在我国经济发展的推动下,当前制造业的竞争愈发激烈。企业为了保持活力,不断提高产品质量和其领先的产品性能。快速成形技术是一项集精密机械尧数控尧材料科学尧激光技术和计算机辅助设计为一体的新型制造技术。快速成形技术的应用,不但能够有效的克服模具复杂性所带来的负面影响,也能让制造模具的成本及周期得到显著的降低。对此本文探讨分析了快速成形技术在铸造模具制造中的应用。  关键词:快速形成
期刊
摘要:在当代社会当中,白蚁问题危害着人们的生产活动及生活,对房屋、建筑、水利工程、堤坝乃至农业产业带来严重的安全隐患,会对经济产生直接损失。本文首先阐述了白蚁问题对建筑工程、水利工程的危害情况,然后分别分析了针对白蚁危害的生物、物理、化学防治方法。最后以实际工程项目为例,对白蚁危害防治方法的应用实践进行探讨。  关键词:白蚁;危害;建筑工程;防治方法  引言:  白蚁是一种广泛存在于我国多个地区的
期刊
摘要:现如今,我国经济正在不断增长,社会正在进步发展,促使科学技术的深入研发已取得可观的成就,并且在各行各业中有所渗透。GPS技术的深入研发与大力推广,可以为土地测绘地籍控制测量的高效开展带来协助作用,实时性、保密性、抗干扰性、连续性是其最为显著的特征,能够确保测绘测量数据的精准性,在土地测绘工程地籍控制测量中,起到不可忽视、不可小觑的重要作用。基于此,本文首先针对当前GPS技术的相关概念及其主要
期刊
摘要:项目管理中,BIM技术的重要性不言而喻,尤其是利用可视化模拟技术,构建建筑物三维动态模型,使得管理效率获得明显提升。本文主要分析了项目管理中EPC项目信息化管理系统的设计思路,通过对BIM技术的应用,使得管理过程更加高效,信息化管理系统应覆盖计划模块、施工模块和管理流程等。  关键词:BIM技术;EPC项目;信息化管理系统  前言:EPC项目即工程总承包模式,实践中,承包商按照合同约定,承包
期刊