猫史档案馆


【Python作品分享】对战【作品秀】

用户:爽快的草灵灵a1hx爽快的草灵灵a1hx查看:0 回复:0 评论:0 创建时间:2022-01-16T15:44:33


【作品展示】

center_image

 

【作品介绍】

一个游戏

灵感来自于kitten4游戏《卡牌世界》

 

【作品源代码】

import time
import math
import random


def game():

    # 游戏函数
    global my_xl, AI_xl, ka, my_q, AI_q, pka, AI_xl_Max, my_xl_Max, _AI, _my
    my_xl = 50
    # 我方血量
    AI_xl = 50
    # 敌方血量
    my_q = 10
    # 我方的钱
    AI_q = 10
    # 敌方的钱
    AI_xl_Max = 50
    my_xl_Max = 50
    _AI = 0
    _my = 0
    pka = ['攻击', '治疗', '挣钱', '飞镖', '暴击', '神医', '点石成金', '中毒']
    ka = ['攻击', '治疗', '挣钱', '飞镖', '暴击', '神医', '点石成金', '中毒']
    while (not (my_xl <= 0 or AI_xl <= 0)):
        wo()
        if pd():
            break
        dui()
        if pd():
            break

def wo():

    global my_xl, AI_xl, ka, my_q, AI_q, pka, _AI, _my, AI_xl_Max, my_xl_Max
    if (_my > 0):
        my_xl -= 6
        _my -= 1
    if cpd():
        return
    print('——————————————————————————————————————————————————————————————')
    print('   ', pka)
    print('需要  5金币,  5金币, 0金币', '  12金币', '  10金币', ' 10金币', ' 24金币', '     7金币')
    print('造成  -5♥,    +5♥,   +5金币', ',-10/16♥', ',-12♥', '   +12♥', '   +32金币', '对方2回合-5♥')
    xl()
    cp = input('你选择:')
    if (cp in ka):
        if (cp == '攻击'):
            if (my_q >= 5):
                print('你选择了', cp)
                print('对方-5♥')
                AI_xl -= 5
                my_q -= 5
            else:
                print('金币不足,,请重试')
                time.sleep(1)
                wo()
        elif (cp == '治疗'):
            if (my_q >= 5):
                print('你选择了', cp)
                print('你+5♥')
                my_xl += 5
                my_q -= 5
                if (my_xl > my_xl_Max):
                    my_xl = my_xl_Max
            else:
                print('金币不足,,请重试')
                wo()
        elif (cp == '挣钱'):
            print('你选择了', cp)
            print('你+5元')
            my_q += 5
        elif (cp == '飞镖'):
            if (my_q >= 12):
                print('你选择了', cp)
                伤害 = (10 + 6 * math.floor(2 * (random.random())))
                print('对方-', 伤害, '♥')
                AI_xl -= 伤害
                my_q -= 12
            else:
                print('金币不足,请重试')
                wo()
        elif (cp == '暴击'):
            if (my_q >= 10):
                print('你选择了', cp)
                print('对方-', 12, '♥')
                AI_xl -= 12
                my_q -= 10
            else:
                print('金币不足,请重试')
                wo()
        elif (cp == '神医'):
            if (my_q >= 10):
                print('你选择了', cp)
                print('你+', 12, '♥')
                my_xl += 12
                my_q -= 10
                if (my_xl > my_xl_Max):
                    my_xl = my_xl_Max
        elif (cp == '点石成金'):
            if (my_q >= 24):
                print('你选择了', cp)
                print('你+', 32, '金币')
                my_q += 8
        elif (cp == '中毒'):
            if (my_q >= 7):
                print('你选择了', cp)
                print('对方2回合-', 6, '♥')
                my_q -= 7
                _AI += 2
            else:
                print('金币不足,请重试')
                wo()
        else:
            pass
    elif (cp == 'yyds'):
        my_q += 100
        AI_xl -= 20
        my_xl = my_xl_Max
    elif (cp == 'yydsq'):
        my_q += 100
    else:
        print('找不到本牌,请重试')
        wo()

def dui():

    global AI_q, AI_xl, my_q, my_xl, ka, pka, AI_Max, _AI, _my, AI_xl_Max, my_xl_Max
    # 什么?(请求注释回答)对方
    time.sleep(2)
    AI_q += 3
    print('——————————————————————————————————————————————————————————————')
    if (_AI > 0):
        AI_xl -= 6
        _AI -= 1
    if cpd():
        return
    xl()
    if (AI_q < 5):
        print('对方选择了挣钱')
        print('对方+5元')
        AI_q += 5
    else:
        if (AI_q < 10):
            k = random.randint(0, 2)
        elif (AI_q >= 7 and AI_q < 10):
            k = random.randint(0, 3)
        elif (AI_q >= 10 and AI_q < 12):
            k = random.randint(0, 5)
        elif (AI_q >= 12 and AI_q < 24):
            k = random.randint(0, 6)
        else:
            k = random.randint(0, 7)
        if (k == 0):
            print('对方选择了挣钱')
            print('对方+5元')
            AI_q += 5
        elif (k == 1):
            print('对方选择了攻击')
            print('你-5♥')
            AI_q -= 5
            my_xl -= 5
        elif (k == 2):
            print('对方选择了治疗')
            print('对方+5♥')
            AI_q -= 5
            AI_xl += 5
            if (AI_xl > AI_xl_Max):
                AI_xl = AI_xl_Max
        elif (k == 3):
            print('对方选择了中毒')
            AI_q -= 7
            _my += 2
            print('你2回合-', 5, '♥')
        elif (k == 4):
            print('对方选择了暴击')
            print('你-12♥')
            AI_q -= 10
            my_xl -= 12
        elif (k == 5):
            print('对方选择了神医')
            print('对方+12♥')
            AI_q -= 10
            AI_xl += 12
        elif (k == 6):
            print('对方选择了飞镖')
            _i = (random.randint(0, 1) * 6 + 10)
            my_xl -= 16
            AI_q -= 12
            print('你-', _i, '♥')
        elif (k == 7):
            print('对方选择了点石成金')
            AI_q += 8
            print('对方+', 30, '金币')
        else:
            pass
    my_q += 3

def xl():

    print('我方血量:', my_xl)
    print('我方金钱:', my_q)
    print('敌方血量:', AI_xl)
    print('敌方金钱:', AI_q)

def pd():

    if (my_xl <= 0):
        print('——————————————————————————————————————————————————————————————')
        xl()
        print('——————————————————————————————————————————————————————————————')
        print('输')
        return 1
    elif (AI_xl <= 0):
        print('——————————————————————————————————————————————————————————————')
        xl()
        print('——————————————————————————————————————————————————————————————')
        print('赢')
        return 1
    else:
        return 0

def cpd():

    if (AI_xl <= 0 or my_xl <= 0):
        return 1
    return 0

# 开始进入Python的世界
game()

 

【提示】

部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:

https://python.codemao.cn


回复

上一页1 页 / 共 0下一页