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

python人机对战小游戏

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

python人机对战小游戏

Nice!自己写的第一个小游戏,wanderful!!!
事前没有参照任何代码,只通过前两天学习的循环语句实现,感觉满满的成就感。

以下是源代码,可能在大神们看来很稚嫩,但对于小白的我来说却是学习进程中的一大步,加油

import random

for i in range(1,4):
    print('--------现在是第'+str(i)+'局--------')
    W_bloods = random.randrange(100, 200)
    W_attack = random.randrange(10, 50)
    print('【玩家】')
    print('血量:'+str(W_bloods)+'n攻击:'+str(W_attack))

    print('------------')

    D_bloods = random.randrange(100, 200)
    D_attack = random.randrange(10, 50)
    print('【敌人】')
    print('血量:'+str(D_bloods)+'n攻击:'+str(D_attack))

    print('------------')

    while True:
        D_bloods = D_bloods - W_attack
        print('你发起了攻击,【敌人】血量剩余'+str(D_bloods))
        W_bloods = W_bloods - D_attack
        print('敌人向你发起了进攻,【玩家】血量剩余'+str(W_bloods))

        print('------------')

        if W_bloods > 0 and D_bloods > 0:
            continue
        elif W_bloods <= 0 and D_bloods > 0:
            print('你被敌人干掉了!')
            break
        elif W_bloods > 0 and D_bloods <= 0:
            print('敌人被你干掉了!')
            break
        else:
            print('你和敌人同归于尽了!')
            break

以下是从其他地方找到的更为完整合理的代码,仅供参考:

import time, random

player_victory = 0
enemy_victory = 0

for i in range(1, 4):
    time.sleep(2)  # 让局与局之间有较明显的有时间间隔
    print(' n——————现在是第' + str(i) + '局——————')  # 作为局的标记

    player_life = random.randint(100, 150)
    player_attack = random.randint(30, 50)
    enemy_life = random.randint(100, 150)
    enemy_attack = random.randint(30, 50)

    # 展示双方角色的属性
    print('【玩家】n' + '血量:' + str(player_life) + 'n攻击:' + str(player_attack))
    print('------------------------')
    time.sleep(1)
    print('【敌人】n' + '血量:' + str(enemy_life) + 'n攻击:' + str(enemy_attack))
    print('------------------------')
    time.sleep(1)

    # 双方PK
    while player_life > 0 and enemy_life > 0:
        player_life = player_life - enemy_attack
        enemy_life = enemy_life - player_attack
        print('你发起了攻击,【玩家】剩余血量' + str(player_life))
        print('敌人向你发起了攻击,【敌人】剩余血量' + str(enemy_life))
        print('-----------------------')
        time.sleep(1.5)

    # 打印最终战果
    if player_life > 0 and enemy_life <= 0:
        player_victory += 1
        print('敌人死翘翘了,你赢了!')
    elif player_life <= 0 and enemy_life > 0:
        enemy_victory += 1
        print('悲催,敌人把你干掉了!')
    else:
        print('哎呀,你和敌人同归于尽了!')

if player_victory > enemy_victory:
    time.sleep(1)
    print('【最终结果:你赢了!】')
elif enemy_victory > player_victory:
    print('【最终结果:你输了!】')
else:
    print('【最终结果:平局!】')

代码同上,只不过使用格式符%进行了替换优化

import time
import random

player_victory = 0
enemy_victory = 0

for i in range(1,4):
    time.sleep(1.5)
    print('  n——————现在是第 %s 局——————' % i)
    #对比之前:(' n——————现在是第'+str(i)+'局——————')
    player_life = random.randint(100,150)
    player_attack = random.randint(30,50)
    enemy_life = random.randint(100,150)
    enemy_attack = random.randint(30,50)

    print('【玩家】n血量:%sn攻击:%s' % (player_life,player_attack))
    print('------------------------')
    time.sleep(1)
    print('【敌人】n血量:%sn攻击:%s' % (enemy_life,enemy_attack))
    print('-----------------------')
    time.sleep(1)

    while player_life > 0 and enemy_life > 0:
        player_life = player_life - enemy_attack 
        enemy_life = enemy_life - player_attack
        print('你发起了攻击,【玩家】剩余血量%s' % player_life)
        print('敌人向你发起了攻击,【敌人】的血量剩余%s' % enemy_life)
        print('-----------------------')
        time.sleep(1.2)

    if player_life > 0 and enemy_life <= 0:
        player_victory += 1
        print('敌人死翘翘了,你赢了!')
    elif player_life <= 0 and enemy_life > 0:
        enemy_victory += 1
        print('悲催,敌人把你干掉了!')
    else:
        print('哎呀,你和敌人同归于尽了!')

if player_victory > enemy_victory :
    time.sleep(1)
    print('n【最终结果:你赢了!】')
elif enemy_victory > player_victory:
    print('n【最终结果:你输了!】')
else: 
    print('n【最终结果:平局!】')

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

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

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