栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python最简单的文字游戏——数字炸弹

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python最简单的文字游戏——数字炸弹

Python写的数字炸弹游戏,有简单和困难两个难度。

困难难度是指电脑暗地里随机一个数值,如果刚好引爆了炸弹则不算,会再次随机一个新数值,从而增加获胜概率。

import random
import time

print('[数字炸弹游戏]')

print('''
————————————————————————————————————
[游戏规则:1-100的炸弹编号中,其中一个
编号是引爆编号。玩家和电脑每次随机选择
一个编号,如果有人引爆了炸弹则游戏结束。
如果没有人引爆炸弹,那么编号范围会根据
玩家和电脑的选择而不断缩小直至炸弹引爆。]
—————————————————————————————————————
''')
D = int(input('[请选择难度][1.普通 2.困难]:'))
if D == 1:
    print('[当前难度][普通]')
    bomb = random.randint(1, 100)
    a = 0
    b = 100
    while True:
        print('-'*30)
        N = int(input('[玩家][请输入一个炸弹编号]:'))
        if N <= a or N >= b:
            print('[编号输入范围错误]')
            continue
        else:
            time.sleep(0.5)
            if N != bomb:
                if a < N < bomb:
                    a = N
                    print(f'当前可输入的范围:[{a}]-[{b}]')
                elif bomb < N < b:
                    b = N
                    print(f'当前可输入的范围:[{a}]-[{b}]')
            else:
                print('[BOOOOM!!]')
                print('[你引爆了炸弹][电脑获胜]')
                exit()

        time.sleep(1)
        print('-'*30)
        M = random.randint(a+1, b-1)
        print(f'[电脑][输入了一个炸弹编号]:{M}')
        time.sleep(0.5)
        if M != bomb:
            if a < M < bomb:
                a = M
                print(f'当前可输入的范围:[{a}]-[{b}]')
            elif bomb < M < b:
                b = M
                print(f'当前可输入的范围:[{a}]-[{b}]')
        else:
            print('[BOOOOM!!]')
            print('[电脑引爆了炸弹][玩家获胜]')
            exit()

else:
    print('[当前难度][困难]')
    bomb = random.randint(1, 100)
    a = 0
    b = 101
    while True:
        print('-' * 30)
        N = int(input('[玩家][请输入一个炸弹编号]:'))
        if N <= a or N >= b:
            print('[编号输入范围错误]')
            continue
        else:
            time.sleep(0.5)
            if N != bomb:
                if a < N < bomb:
                    a = N
                    print(f'当前可输入的范围:[{a}]-[{b}]')
                elif bomb < N < b:
                    b = N
                    print(f'当前可输入的范围:[{a}]-[{b}]')
            else:
                print('[BOOOOM!!]')
                print('[你引爆了炸弹][电脑获胜]')
                exit()

        time.sleep(1)
        print('-' * 30)
        M = random.randint(a + 1, b - 1)
        if M == bomb:
            M = random.randint(a + 1, b - 1)
        print(f'[电脑][输入了一个炸弹编号]:{M}')
        time.sleep(0.5)
        if M != bomb:
            if a < M < bomb:
                a = M
                print(f'当前可输入的范围:[{a}]-[{b}]')
            elif bomb < M < b:
                b = M
                print(f'当前可输入的范围:[{a}]-[{b}]')
        else:
            print('[BOOOOM!!]')
            print('[电脑引爆了炸弹][玩家获胜]')
            exit()

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/990195.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号