猫史档案馆


【Python作品分享】随机_带玩家【作品秀】

用户:shark_penshark_pen查看:0 回复:0 评论:0 创建时间:2024-06-01T14:50:15


【作品展示】

center_image

 

【作品介绍】

一个喵但容易让你红温的游戏,全靠孕气

 

【作品源代码】

import random
players = {}
mk = [['无'], 0]
喵 = [['无'], 0]

def out(a, b):
    if players[a][0] <= 0:
        print(str(b)+'击败了'+str(a)+"!")
        players[b][1] = min(players[b][1]+players[a][1], 3)
        players[b][2] += 1
        if players[b][2] > mk[1]:
            mk[0] = [b]
            mk[1] = players[b][2]
        elif players[b][2] == mk[1]:
            mk[0].append(b)
        del players[a]
        o.remove(a)  # 若玩家血量<=0判断其喵亡


def att(t, l):
    dam = random.randint(20, 48)
    players[t][3] += dam
    players[l][0] -= dam
    #print(str(t)+'对'+str(l)+'造成了'+str(dam)+'点伤害')
    if players[t][3] > 喵[1]:
        喵[1] = players[t][3]
        喵[0] = [t]
    elif players[t][3] == 喵[1]:
        喵[0].append(t)
    out(l, t)


for i in range(1, 100):
    players[i] = [100, random.randint(0, 2), 0, 0]  # 初始化血量,药品数,击杀数,伤害量
players["你"] = [100, random.randint(0, 2), 0, 0]
p = 1
while len(players) != 1:
    o = list(players.keys())
    random.shuffle(o)
    for j in o:
        if j != "你":
            if random.randint(0, 2) <= 1:
                at = o[random.randint(0, len(o)-1)]
                while at == j:
                    at = o[random.randint(0, len(o)-1)]
                att(j,at)
            if random.randint(0, 3) == 2 and players[j][1] <= 2:
                players[j][1] += 1  # 有1/4的概率捡到一个药品
            if random.randint(0, 1) == 1 and players[j][0] <= 76 and players[j][1] >= 1:
                players[j][0] += 24
                players[j][1] -= 1  # 若玩家血量小于76,有1/2的概率使喵品
        else:
            print(("您血量"+str(players[j][0])+",药品"+str(players[j][1])+"个"))
            while 1:
                try:
                    at=int(input('你要攻击:'))
                    att(j,at)
                    break
                except:
                    print(str(at)+"已出局,请重新选择")
            if input("1使喵物,0不使用:") == '1' and players[j][1] >= 1:
                players[j][0] += 24
                players[j][1] -= 1
                if players[j][0] >= 100:
                    players[j][0] = 100
            if random.randint(0, 3) == 2 and players[j][1] <= 2:
                players[j][1] += 1
    print("——————————————————————————————————————————————————————————————")
    print("第"+str(p)+"轮")
    print(players)
    print("当前击杀最多是", mk[0], '击杀了', mk[1], "人")
    p += 1


b = list(players.keys())
print(str(b[0])+"赢了,共击杀"+str(players[b[0]][2])+'个人')
print('此外,击杀最多敌人的是', mk[0],'杀了',mk[1],'个人')
print('造成伤害最多的是',喵[0],'造成了',喵[1],'点伤害')

 

【提示】

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

https://python.codemao.cn


回复

上一页1 页 / 共 0下一页