"""
通过学习的python知识,写一个简单的python小游戏
游戏名字:掷骰子比大小
游戏规则:
1、玩家可以选择玩掷几个骰子游戏(默认3个)
2、玩家可以设置双方初始的游戏金额(默认10)
3、玩家可以设置每次投入金额(默认1)
4、通过比大小决定比赛胜负
5、一方金额归0则游戏结束
"""
import random # 首先让玩家通过输入的方式将游戏规则设置好,也可以让其不设置,直接使用默认条件开始游戏
def setRule():
istoSet = input('是否开始设置游戏相关规则:(输入"是"则进入设置,其他则使用默认)')
game_Num = 3
game_Money = 10
one_Game = 1
if istoSet == '是':
# 让玩家设置使用几个骰子游戏
gameNum = input("请设置玩几个骰子:(请输入数字且大于0,输入其他则使用默认)")
if gameNum.isdigit():
if int(gameNum) > 0:
game_Num = int(gameNum)
# 让玩家设置双方的初始金额
gameMoney = input("请设置初始金额:(请输入数字且大于0,输入其他则使用默认)")
if gameMoney.isdigit():
if int(gameMoney) > 0:
game_Money = int(gameMoney)
# 让玩家设置每次比赛投入金额
oneGame = input("请设置每次比赛投入金额:(请输入数字不仅要大于0还需要小于等于初始金额,输入其他则使用默认)")
if oneGame.isdigit():
if int(oneGame) > 0 and oneGame <= game_Money:
one_Game = int(oneGame)
else:
print("恭喜您完成设置!")
data = [game_Num,game_Money,one_Game]
return data # 通过比较大小决定游戏胜负,如果一方金额归0则游戏结束,判断输赢
def myGame():
data=setRule()
game_Num = data[0]
game_Money1 = data[1]
game_Money2 = data[1]
one_Game = data[2]
print(str(game_Num) + '个骰子比大小游戏开始')
while game_Money1 > 0 and game_Money2 > 0:
print("您的目前资产:",game_Money1,",AI的目前资产:",game_Money2)
choice = ['大', '小']
user_choice = input('买大买小,买定离手:')
number = game_Num
if user_choice in choice:
points = []
bigest = game_Num * 6
smallest = game_Num
data = get_median(smallest, bigest)
# print(data)
while number > 0:
point = random.randrange(1, 7)
points.append(point)
number = number - 1
total = sum(points)
big = data[0] <= total <= bigest
small = smallest <= total <= data[1]
win = (big and user_choice == '大') or (small and user_choice == '小')
if win:
print('点数是:' + str(total) + '你赢咯~')
game_Money1 = game_Money1 + one_Game
game_Money2 = game_Money2 - one_Game
else:
print('点数是:' + str(total) + '你输啦!')
game_Money1 = game_Money1 - one_Game
game_Money2 = game_Money2 + one_Game
else:
print('请输入‘大’或‘小’')
else:
if game_Money1 < 0:
print("抱歉您输啦")
else:
print("您赢了!666") # 获取中间数
def get_median(number1, number2):
data = []
while number1 <= number2:
data.append(number1)
number1 = number1 + 1
# print(data)
data.sort()
half = len(data) // 2
lists = [data[half], data[~half]]
return lists if __name__ == '__main__':
myGame()

  

python学习之掷骰子游戏的更多相关文章

  1. 掷骰子游戏窗体实现--Java初级小项目

    掷骰子 **多线程&&观察者模式 题目要求:<掷骰子>窗体小游戏,在该游戏中,玩家初始拥有1000的金钱,每次输入押大还是押小,以及下注金额,随机3个骰子的点数,如果3个骰 ...

  2. Python学习之Craps赌博游戏篇

    在此先安利一波大佬的Python学习项目地址:https://github.com/jackfrued/Python-100-Days 这些天一直在看着大佬的项目学习Python,这是第五天循环学习完 ...

  3. 使用python实现模拟掷骰子数据分析

    Data:2020/4/8 主题:模拟实现掷骰子数据分析 编译环境:pycharm 库:pygal 说明: code 1:创建一个掷骰子类对象,类方法获得掷骰子随机数1-6,默认6个面,模拟20次将结 ...

  4. python学习:猜数字游戏

    猜数字游戏   系统生成一个100以内的随机整数, 玩家有6次机会进行猜猜看,每次猜测都有反馈(猜大了,猜小了,猜对了-结束) 6次中,猜对了,玩家赢了. 否则系统赢了   #!/usr/bin/en ...

  5. python学习笔记02-简单游戏

    一拖又过去快一个月了,哭聊.. 惰性千万不要有.. 今天简单接触一下条件语句 一个简单的文字游戏 1 print('----第一个文字游戏----') 2 temp = input('猜一下现在心里想 ...

  6. python学习-6 猜拳小游戏

    import random # 调用随机数模块 pc = random.randint(1,3) # 产生1-3的随机数 print("来玩个猜拳游戏吧!") a = '石头' b ...

  7. 【NOIP2012模拟10.31】掷骰子

    题目 太郎和一只免子正在玩一个掷骰子游戏.有一个有N个格子的长条棋盘,太郎和兔子轮流掷一个有M面的骰子,骰子M面分别是1到M的数字.且掷到任意一面的概率是相同的.掷到几.就往前走几步.当谁走到第N格时 ...

  8. 通过创建一个简单的骰子游戏来探究 Python

    在我的这系列的第一篇文章 中, 我已经讲解如何使用 Python 创建一个简单的.基于文本的骰子游戏.这次,我将展示如何使用 Python 模块 Pygame 来创建一个图形化游戏.它将需要几篇文章才 ...

  9. TurnipBit开发板掷骰子小游戏DIY教程实例

    转载请以链接形式注明文章来源(MicroPythonQQ技术交流群:157816561,公众号:MicroPython玩家汇) 0x00前言 下面带大家用TurnipBit开发板实现一个简单的小游戏- ...

随机推荐

  1. 起步 - 安装 Git

    安装 Git 是时候动手尝试下 Git 了,不过得先安装好它.有许多种安装方式,主要分为两种,一种是通过编译源代码来安装:另一种是使用为特定平台预编译好的安装包. 从源代码安装 若是条件允许,从源代码 ...

  2. 学成在线_nginx遇到的问题

    下载nginx:http://nginx.org/en/download.html 下载了最新的稳定版本 安装目录内运行nginx.exe 一直运行不起来.进程里面也没有这个进程.我把本机的IIS的8 ...

  3. LeetCode_26. Remove Duplicates from Sorted Array

    26. Remove Duplicates from Sorted Array Easy Given a sorted array nums, remove the duplicates in-pla ...

  4. ElasticSearch——数据建模最佳实践

    如何建模 mapping 设计非常重要,需要从两个维度进行考虑: 功能:搜索.排序.聚合 性能:存储的开锁.内存的开销.搜索的性能 mapping 注意事项: 加入新字段很容易(必要时需要 updat ...

  5. VLOOKUP函数 from Excel

    1.VLOOKUP函数是Excel中的一个纵向查找函数,它与LOOKUP函数和HLOOKUP函数属于一类函数,在工作中都有广泛应用,例如可以用来核对数据,多个表格之间快速导入数据等函数功能.功能是按列 ...

  6. 【数据库开发】Redis数据库服务器启动配置

    Redis简介 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sor ...

  7. windows服务器入门 初始化数据盘

    本人在寒假的时候自行搭建了一个服务器,在此分享一下我的方法.本人服务器的系统为Windows 2012R2 在后面的讲解中中文英文都会有    所以不用在意系统的语言问题 1)第一步  自然就是打开服 ...

  8. @ResponseBody使用

    @responseBody注解的作用是将controller的方法返回的对象通过适当的转换器转换为指定的格式之后,写入到response对象的body区,通常用来返回JSON数据或者是XML 数据,需 ...

  9. poj1584(判断凸包+求点到线段的距离)

    题目链接:https://vjudge.net/problem/POJ-1584 题意:首先要判断凸包,然后判断圆是否在多边形中. 思路: 判断凸包利用叉积,判断圆在多边形首先要判断圆心是否在多边形中 ...

  10. Openssl 加解密文件

    使用openssl 的命令行进行文件的加密与解密过程,主要有两种方式: openssl 指定加密/解密算法加密 openssl 指定公钥/私钥文件加密 openssl 指定加密/解密算法加密 To E ...