用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - python代码库

Python文字游戏——数字炸弹 人机对战

2022-12-11 作者: Python自学举报

[python]代码库

import random
import time

player = 0
computer = 0

print('[数字炸弹游戏]')
print('''
———————————————————————————————————————————————
[游戏规则:1-100的炸弹编号中,其中一个编号是引爆编号。
玩家和电脑每次随机选择一个编号,如果有人引爆了炸弹则游
戏结束。如果没有人引爆炸弹,那么编号范围会根据玩家和电
脑的选择而不断缩小直至炸弹引爆。]
———————————————————————————————————————————————
''')
while True:
    print()
    print(f'[开始游戏][玩家得分:{player}][电脑得分:{computer}]')
    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('[你引爆了炸弹][电脑获胜]')
                    computer += 1
                    break

            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('[电脑引爆了炸弹][玩家获胜]')
                player += 1
                break

    else:
        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('[你引爆了炸弹][电脑获胜]')
                    computer += 1
                    break

            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('[电脑引爆了炸弹][玩家获胜]')
                player += 1
                break

[代码运行效果截图]


Python文字游戏——数字炸弹 人机对战


网友评论    (发表评论)


发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...