双人报数小游戏,指定总数,每人每次报1或2,全部相加,最后一个人报数为赢

news/2024/11/23 0:23:04/

游戏玩法:

两人轮流报数,每次智能报1或者2,把两个人报的所有数加起来,谁报数后和为10,谁就获胜。必赢游戏

比赢策略

游戏本质要赢需要看总数和谁先开始报数,结合才能确定谁能赢,程序依靠随机整数确定谁先报数来赢

栗子

假如总数是21
21 % 3 = 7
没有余数所以是对手先报数可以必赢,根据对手报的数用3相减(使用3相减是因为对方和我方每次报数一定能够组成是数字是3)
20 % 3 = 6 余 2
我方先报余数2,然后根据对手报数,我方报数用3相减最后就可以赢

import random
print("游戏玩法:")
print("两人轮流报数,每次智能报1或者2,把两个人报的所有数加起来,谁报数后和为10,谁就获胜。必赢游戏")
print("游戏本质要赢需要看总数和谁先开始报数,结合才能确定谁能赢,程序依靠随机整数确定谁先报数来赢")sum_num = random.randint(3,100)
print("="*99)
print(f"游戏现在开始:总数为:{sum_num}")def decorator(func):def counting_game(sum_num):if sum_num % 3 == 0:# 对手先报one_num = int(input("您先开始,请输入1或者2: "))print(f"我报: {3 - one_num}")one_num += 3 - one_numprint(f"[当前总数为:{one_num}]")else:# 我先报one_num = sum_num % 3print(f"我先报数: {one_num}")cur_num = one_numwhile True:if cur_num >= sum_num:breake_num = int(input("请输入1或2: "))cur_num += e_numprint(f"[当前总数为:{cur_num}]")print(f"我报:{3-e_num}")cur_num += 3 - e_numprint(f"[当前总数为:{cur_num}]")print("我赢了")
counting_game(sum_num)

代码比较简陋核心就是根据数学原理计算,没有做一些异常处理

少年易老学难成,一寸光阴不可轻


http://www.ppmy.cn/news/991499.html

相关文章

关于网络通信安全协议的一些知识(ssl,tls,CA,https)

首先了解一下http协议的变迁。 http1.0默认短连接,1.1默认长连接并且可以管道传输,但是存在队头阻塞问题; https就是在tcp和http之间加了SSL/TLS层。 http2也是安全的,改进是hpack二进制和编码压缩减小体积,stream没有…

【数字IC设计】VCS仿真DesignWare IP

DesignWare介绍 DesignWare是SoC/ASIC设计者最钟爱的设计IP库和验证IP库。它包括一个独立于工艺的、经验证的、可综合的虚拟微架构的元件集合,包括逻辑、算术、存储和专用元件系列,超过140个模块。DesignWare和 Design Compiler的结合可以极大地改进综合…

Android中的Fragment和Activity的onCreateOptionsMenu

Android中的Fragment和Activity的onCreateOptionsMenu 在Android中,Fragment和Activity是两个常用的组件,用于构建应用程序的界面和交互。onCreateOptionsMenu是一个用于创建选项菜单的生命周期方法,它在Activity和Fragment中都可以使用。 …

批量插入数据、MVC三层分离

八、批量插入数据 1、使用Statement() 2、使用PreparedStatement() 3、使用批量操作API 4、优化 九、MVC三层分离

ElasticSearch基础篇-Java API操作

ElasticSearch基础-Java API操作 演示代码 创建连接 POM依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:sch…

ARM和MIPS的区别

ARM和MIPS的区别主要有以下几方面&#xff1a; 指令集&#xff1a;ARM支持32位和64位指令&#xff0c;而MIPS同时支持32位和64位指令。除法器&#xff1a;MIPS有专门的除法器&#xff0c;可以执行除法指令&#xff0c;而ARM没有。寄存器&#xff1a;MIPS的内核寄存器比ARM多一…

js实现上下无缝滚动(不卡顿)

效果图如下&#xff1a; 代码如下&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport"…

ESP32(MicroPython) 四足机器人(五)功能补充

本次更新增加了前后倾斜&#xff08;每次动作交换前部和后部高度&#xff09;、蹲起与抬脚动作&#xff0c;均位于用于连续执行动作的function函数中&#xff0c;但实测抬脚动作需要先启动function函数的另一项功能才能正常开启&#xff0c;代码检查无误&#xff0c;应该是Micr…