黑杰克详细注释

21点又名黑杰克(Blackjack),起源于法国,已流传到世界各地,有着悠久的历史。现在在世界各地的赌场中都可以看到二十一点。随着互联网的发展,二十一点开始走向网络时代。该游戏由2到6个人玩,使用除大小王之外的52张牌,游戏者的目标是使手中的牌的点数之和不超过21点且尽量大。
大家手中扑克点数的计算规则是:2至9牌,按其原点数计算;K、Q、J和10牌都算作10点;A 牌(ace)既可算作1点也可算作11点,由玩家自己决定(当玩家停牌时,点数一律视为最大而尽量不爆,如A+9为20,A+4+8为13,A+3+A视为15)。
这里我们假设游戏仅有两名玩家(分别叫庄家和闲家)进行,以下是游戏规则:
1、闲家和庄家都会从一副牌中抽取两张牌。 庄家会翻开一张牌让闲家看到。
2、闲家可以选择“要牌”或“停牌”,以尽可能接近21点。如果闲家选择“要牌”,则他会从牌堆上抽取一张牌。 如果闲家超过21点,则他输了游戏,无论庄家手中的牌是什么。
3、当闲家完成行动后,庄家会翻开他的第二张牌。如果他的牌点数小于17,则必须要牌。如果他的牌点数大于或等于17,则必须停牌。注意:如果闲家爆了,庄家只会展示第二张牌给闲家,而不会按规则要牌或停牌。
4、当庄家完成行动后,闲家的牌与庄家的牌进行比较。如果闲家的牌点数大于庄家但不超过21点,则闲家赢了游戏。同理如果庄家的牌点数大于闲家但不超过21点,则庄家赢了游戏;如果闲家或庄家超过21点,则超过者输了游戏(按规则不会出现双方同时超过21点的情况)。如果闲家和庄家都不超过21点且牌点数相等,则平局。
现请你写一段闲家的程序来和庄家比赛。因为发牌的顺序是随机的,你很难保证每次都获胜。但庄家的策略是固定的,因此我们要求你的算法要尽可能多的获胜。
这个程序与你做过的大部分题目不一样,你需要通过不断地和另外一个程序(叫“交互程序”)进行交互。你的程序是闲家,交互程序是庄家。
程序开始,庄家会先发给你两张牌,每张牌一行,格式为花色加牌面(中间有一个空格),如Spade 4、Heart A、Heart 10等(由于牌面可能是整数也可能是字符,所以建议按字符串读入),后边每次发牌的格式都一样。然后给自己也发两张牌,但目前它只会给你看一张。此时你的程序要根据你的牌和你看到的庄家的牌来决定下一步干什么,即要牌”或“停牌”。如果要牌,则输出Hit(要换行),此时,庄家会再发给你一张牌。此过程会一直持续,直到你停牌,这时你要输出Stand(要换行)。在此过程中,一旦你手上的牌超过21点,你要输出Bust(要换行),即爆了,同时也不能继续要牌了。无论你是主动停牌,还是爆掉21点被动停牌,庄家都是给你展示它的另外一张牌。此时庄家也有两种选择,一是你爆了,它会直接停牌,二是你没爆,按规则,当庄家的牌点数小于17,则要牌。牌点数大于或等于17,则停牌。如果它需要继续要牌,它会先输出Split(有换行符),然后向你展示它刚拿到的牌;此过程会持续到不能要为止。如果停牌,它会输出Stand(有换行符)。
停牌后,你的程序要先输出游戏结果,如果你赢了,则输出Win(要换行),输了则输出Lose(要换行),平局则输出Push(要换行)。然后再在同一行内依次输出你的牌点数和庄家的牌点数(中间用一个空格分隔),程序结束。
下边是一次游戏的过程:
庄家先输

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/636800.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

(C语言)编译和链接

前言͟͟͞͞💌:对于现在的各种编译器而言许多都是好多个功能的集成,那么我们的代码到底是如何去实现的呢?难道我们的计算机可以直接读懂我们所写的代码,并运行吗?对于很多细心的小伙伴们可能会想这样的问题…

已解决java.net.BindException异常的正确解决方法,亲测有效!!!

已解决java.net.BindException异常的正确解决方法,亲测有效!!! 文章目录 问题分析 报错原因 解决思路 解决方法 检查端口占用 停止占用端口的进程 改变应用程序的端口 允许端口复用 总结 在软件开发中,尤其是…

Hive管理UDF详解

大数据集群下,共有三种管理Hive UDF的方式,如下: 名称重启Hive服务Jar保存目录场景直接JAR配置需要HDFS开发辅助JARs目录配置需要本地目录防止意外覆盖文件可重载辅助JAR配置不需要本地目录频繁更新UDF场景{HIVE_HOME}/auxlib目录需要本地目录不建议{HIVE_HOME}/lib目录需要…

Spring Security 优化鉴权注解:自定义鉴权注解的崭新征程

文章目录 1. 引言2. Spring Security基础2.1 Spring Security概述2.2 PreAuthorize注解 3. 自定义鉴权注解的优势3.1 业务语义更明确3.2 参数化鉴权更灵活3.3 可维护性更好 4. 实现自定义鉴权注解4.1 创建自定义注解4.2 实现鉴权逻辑4.3 注册自定义注解和逻辑4.4 使用自定义注解…

Divisibility Problem-codefordes

题目链接&#xff1a;Problem - A - Codeforces 解题思路&#xff1a; 如果 a 能被 b整除&#xff0c;就不需要进行改变&#xff0c;直接输出0&#xff0c;否则输出((a / b) 1) * b - a&#xff0c;找到最小的能被b整除的数。 下面是c代码&#xff1a; #include<iostrea…

异步

编程中的异步是一种处理程序中等待操作完成的机制&#xff0c;允许程序在等待一个操作完成的同时执行其他任务。异步编程可以使程序更加高效&#xff0c;因为它避免了不必要的等待和阻塞&#xff0c;从而提高了程序的响应性和性能。 在异步编程中&#xff0c;通常会使用回调函…

WebOffice在VUE/Electron网页在线编辑Office之用只读方式打开Word文档

在一些在线 Office 文档中&#xff0c;有很多重要的文件需要保密控制&#xff0c;比如&#xff1a;报价单、客户资料等数据&#xff0c;只能给公司成员查看&#xff0c;但是不能编辑&#xff0c;并且不能拷贝&#xff0c;防止重要资料外泄。可以通过猿大师办公助手的在线 Offic…

探索JAVA神秘运行机制:揭秘JVM内存区域

目录 1. 前文回顾 2.内存区域的划分 2.1 存放类的方法区 2.2 程序计数器 2.3 Java虚拟机栈 2.4 Java堆内存 2.5 其他内存区域 3. 核心内存区域运行流程 4. 总结 1. 前文回顾 上一篇我们一起探索了Java的整体运行流程&#xff0c;类加载器以及类的加载机制&#xff0…

去了字节跳动,才知道年薪 30w 的测试工程师有这么多?

&#x1f525; 交流讨论&#xff1a;欢迎加入我们一起学习&#xff01; &#x1f525; 资源分享&#xff1a;耗时200小时精选的「软件测试」资料包 &#x1f525; 教程推荐&#xff1a;火遍全网的《软件测试》教程 &#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1…

solidjs 中方便的修改对象与数组的值

createSignal 众所周知, React 想方便的修改 useState 中的对象或数组, 需要使用第三方库 Immer , immer 官方直接支持 React, 类型与智能提示都很不错, solidjs 中有一个第三方的包.封装了 createSignal 与 Immer , 提供了更好的 ts 类型 与 智能提示 https://github.com/…

logstack 日志技术栈-03-日志最佳实践

收集日志 日志管理的第一件事&#xff0c;就是日志的收集。日志收集是开发者必备的技巧&#xff0c;不管是哪个开发语言&#xff0c;哪个开发平台&#xff0c;日志收集的插件都是有很多选择的。 例如&#xff1a;.net 平台大家钟爱的log4net,支持多种存储方式&#xff08;文件…

会体言一心文-码代-4202

简明版本 最近感悟就是在“常规赛”中&#xff0c;大部分奇技淫巧远不如官方教程。 我使用大模型工具快一年的时间所积累的经验远不如认真看看官方教程。 官方教程 里面有一点就可以秒99%的工具人&#xff0c;“文心一言7*24小时在线&#xff0c;伴你左右。 ” 结合文心一言…

基于STM32单片机设计的智能水温控制系统

一、前言 1.1 项目介绍 【1】项目功能介绍 随着科技的快速发展和智能化生活的普及,人们对生活品质的需求日益提高,对家用电器自动化与智能化控制的要求也越来越高。在家庭用水场景中,热水器、浴缸以及智能水暖系统的温控需求尤为突出。传统水温控制系统往往功能单一、操作…

中仕教育:考上选调生之后能不去吗?选调生和公务员哪个比较好?

选调生&#xff0c;是指经过选拔、培训、考核等一系列程序&#xff0c;选拔出的人才。选调生通常需要在基层锻炼一段时间&#xff0c;然后根据工作表现和能力得到提拔。 考上选调生之后能否不去&#xff0c;有以下两种情况。 1.如果通过选调笔试&#xff0c;但是并未参加后续…

组件开发遇到的问题(vue的问题)

组件的开发和引用 <template><div class"xx">组件</div> </template> <script>export default {name: viewMore,components: {},data() {return {}}} </script> <style scoped>可以定义组件都有的样式 </style> …

2788.按分隔符拆分字符串

前言 力扣还挺上道&#xff08;bushi&#xff09;&#xff0c;今天第一次写每日一题&#xff0c;给了个简单等级的数组题&#xff0c;我只能说&#xff0c;首战告捷&#xff08;小白的呐喊&#xff09;&#xff0c;看看这每日一题我能坚持一天写出来&#xff0c; ok&#xff…

Javaweb之SpringBootWeb案例员工管理之新增员工的详细解析

SpringBootWeb案例 前面我们已经实现了员工信息的条件分页查询以及删除操作。 关于员工管理的功能&#xff0c;还有两个需要实现&#xff1a; 新增员工 修改员工 首先我们先完成"新增员工"的功能开发&#xff0c;再完成"修改员工"的功能开发。而在&q…

在前端开发中需要考虑的常见web安全问题和攻击原理以及防范措施

文章目录 一、XSS攻击1、反射型XSS攻击原理2、DOM型XSS攻击原理3、存储型XSS攻击原理 防范措施 二、CSRF攻击攻击原理&#xff1a;防范措施&#xff1a; 三、点击劫持攻击原理&#xff1a;防范措施&#xff1a; 四、项目中如何预防安全问题 随着互联网的发展&#xff0c;Web应用…

2024QS世界大学排名完整榜单

第1位: 麻省理工学院 第2位: 剑桥大学 第3位: 牛津大学 第4位: 哈佛大学 第5位: 斯坦福大学 第6位: 帝国理工学院 第7位: 苏黎世联邦理工大学&#xff08;瑞士联邦理工学院&#xff09; 第8位: 新加坡国立大学 第9位: 伦敦大学学院 第10位: 加州大学伯克利分校 第11位…

Self-RAG:通过自我反思学习检索、生成和批判

论文地址&#xff1a;https://arxiv.org/abs/2310.11511 项目主页&#xff1a;https://selfrag.github.io/ Self-RAG学习检索、生成和批评&#xff0c;以提高 LM 的输出质量和真实性&#xff0c;在六项任务上优于 ChatGPT 和检索增强的 LLama2 Chat。 问题&#xff1a;万能L…