【萌新投稿】自学几个月Python制作的明日方舟寻访模拟器

【萌新投稿】自学几个月Python制作的明日方舟寻访模拟器,第1张

概述【萌新投稿】自学几个月Python制作的明日方舟寻访模拟器很拙劣的程序。技术力不足,代码还有很多欠缺之处,希望大佬们多多指教!卡池.py#'0'和重复的元素只是为了控制概率test={'six_up':['Aup','0'],'five_up':['Bup','0'],'six_stars':[&#0 【萌新投稿】自学几个月Python制作的明日方舟寻访模拟器

很拙劣的程序。技术力不足,代码还有很多欠缺之处,希望大佬们多多指教!

卡池.py

# '0'和重复的元素只是为了控制概率test = {    'six_up':['Aup','0'],    'five_up':['Bup','0'],    'six_stars':['A1','A2','A3'],    'five_stars':['B1','B2','B3'],    'four_stars':['C1','C2','C3','C4'],    'three_stars':['D1','D2','D3','D4','D5'],    }# 这个池子没有up!常驻 = {    'six_up':['0'],    'five_up':['0'],    'six_stars':['能天使','黑','安洁莉娜','银灰','莫斯提马','夜莺','星熊','陈',        '阿','煌','麦哲伦','赫拉格','斯卡蒂','塞雷娅','闪灵','艾雅法拉','伊芙利特',        '推进之王','刻俄柏','风笛','傀影','温蒂','早露','铃兰','棘刺','森蚺',        '史尔特尔','瑕光','泥岩','山','空弦','嵯峨','异客','凯尔希','夕','年',        'W','迷迭香','浊心斯卡蒂'],    'five_stars':['狮蝎','食铁兽','蓝毒','拉普兰德','幽灵鲨','德克萨斯','槐琥',        '赫默','红','白面鸮','空','吽','灰喉','布洛卡','苇草','送葬人','星极',        '格劳克斯','诗怀雅','夜魔','真理','初雪','崖心','守林人','普罗旺斯','可颂',        '雷蛇','临光','华法琳','梅尔','天火','陨星','白金','芙兰卡','凛冬','惊蛰',        '慑砂','巫恋','极境','石棉','月禾','莱恩哈特','断崖','蜜蜡','贾维','安哲拉',        '燧石','四月','奥斯塔','絮雨','卡夫卡','爱丽丝','乌有','熔泉'],    'four_stars':['安比尔','梅','红云','桃金娘','苏苏洛','格雷伊','猎蜂','阿消',       '地灵','深海色','古米','蛇屠箱','角峰','调香师','末药','暗索','砾','慕斯',       '霜叶','缠丸','杜宾','红豆','清道夫','白雪','流星','杰西卡','远山','夜烟',        '宴','刻刀','波登可','卡达','孑','酸糖','芳汀','泡泡','杰克','松果','豆苗'],    'three_stars':['芬','炎熔','月见夜','香草','史都华德','卡缇','米格鲁','斑点',        '空爆','梓兰','芙蓉','克洛丝','玫兰莎','翎羽','泡普卡','安赛尔'],    }# '浊心斯卡蒂'和'凯尔希'占六星出率的70%,'W'在剩余出率中以5倍权值出率提升#  '赤冬'占五星出率的50%深悼 = {    'six_up':['浊心斯卡蒂','凯尔希','浊心斯卡蒂','凯尔希','浊心斯卡蒂','凯尔希',        '浊心斯卡蒂','凯尔希','浊心斯卡蒂','凯尔希','浊心斯卡蒂','凯尔希',        '浊心斯卡蒂','凯尔希',        '0','0','0','0','0','0','0','0','0','0','0','0','0'],    'five_up':['赤冬','0'],    'six_stars':['能天使','推进之王','伊芙利特','艾雅法拉','安洁莉娜','闪灵',        '夜莺','星熊','塞雷娅','银灰','斯卡蒂','陈','黑','赫拉格','麦哲伦',        '莫斯提马','煌','阿','刻俄柏','风笛','傀影','温蒂','早露','铃兰','棘刺',        '森蚋','史尔特尔','瑕光','泥若','山','空弦','嵯峨','异客',        'W','W','W','W','W'],    'five_stars':['白面鸮','凛冬','德克萨斯','芙兰卡','拉普兰德','幽灵鲨','蓝毒',        '白金','陨星','天火','梅尔','赫默','华法琳','临光','红','雷蛇','可颂',        '普罗旺斯','守林人','崖心','初雪','真理','空','狮竭','食铁兽','夜魔',        '诗怀雅','格劳克斯','星极','送葬人','槐琥','苇草','布洛卡','灰喉','吽',        '惊蛰','慑砂','巫恋','极境','石棉','月禾','莱恩哈特','断崖','蜜蜡','贾维',        '安哲拉','燧石','四月','奥斯塔','絮雨','卡夫卡','爱丽丝','乌有','熔泉'],    'four_stars':['夜烟','远山','杰西卡','流星','白雪','清道夫','红豆','杜宾',        '缠丸','霜叶','慕斯','砾','暗索','末药','调香师','角峰','蛇屠箱','古米',        '深海色','地灵','阿消','猎蜂','格雷伊','苏苏洛','桃金娘','红云','梅',        '安比尔','宴','刻刀','波登可','卡达','孑','酸糖','芳汀','泡泡','杰克',        '松果','豆苗'],    'three_stars':['芬','香草','翎羽','玫兰莎','卡缇','米格鲁','克洛丝','炎熔',        '芙蓉','安赛尔','史都华德','梓兰','空爆','月见夜','班点','泡普卡'],    }

寻访模拟器

from random import randintfrom time import sleepimport 卡池# 一系列要用到的变量result = []# 储存抽卡结果dic = {}# 定义空字典以共享引用卡池的字典six,five,four,three = 0,0,0,0# 用于判断各个星级出现的总数n = 0# 用于判断六星概率提升# 初始化源石数和合成玉数,选择卡池,展示概率print("欢迎来到Allen抽卡模拟器!\n合成玉不足时,源石会自动转换成合成玉!(1源石=180合成玉)")while 1:    try:        stone = input('请输入初始源石数:')        stone = int(stone)        jade = input('请输入初始合成玉数:')        jade = int(jade)        break    except:        print('请正确输入数值!')while 1:    tip = input("请选择卡池(test/常驻/深悼):")    try:       dic = eval(f'卡池.{tip}')       break    except:       print("请正确选择卡池!")# 将六星和五星分别整理到一个集合中,以便展示结果时使用six_up_result = set(dic['six_up'])six_up_result.remove('0')five_up_result = set(dic['five_up'])five_up_result.remove('0')six_stars_result = set(dic['six_stars'])|six_up_resultfive_stars_result = set(dic['five_stars'])|five_up_result# 打印卡池print(f"已选择卡池:{tip}\n六星(2%):",end='')for i in six_stars_result:    print(i,end=',')print("\n五星(8%):",end='')for i in five_stars_result:    print(i,end=',')print("\n四星(50%):",end='')for i in dic['four_stars']:    print(i,end=',')print("\n三星(40%):",end='')for i in dic['three_stars']:    print(i,end=',')print("\n")def judge(n):    """判断抽卡结果"""    global six,five,four,three# 定义全局变量    if n<=50:        num=50    else:        num=n# 判断抽卡次数    b = randint(1,1000)    if b>= 1 and b<= 20+(num-50)*20:# 六星        a = dic['six_up'][randint(0,int(len(dic['six_up']))-1)]        if a != '0':            result.append(a)            print(a)        else:            a = dic['six_stars'][randint(0,int(len(dic['six_stars']))-1)]            result.append(a)            print(a)        six+=1        n=0# 重置抽卡次数    elif b>=921 and b<=1000:# 五星        a = dic['five_up'][randint(0,int(len(dic['five_up']))-1)]        if a != '0':            result.append(a)            print(a)        else:            a = dic['five_stars'][randint(0,int(len(dic['five_stars']))-1)]            result.append(a)            print(a)        five+=1        n+=1    elif b>=421 and b<=920:# 四星        a = dic['four_stars'][randint(0,int(len(dic['four_stars']))-1)]        four+=1        n+=1        result.append(a)        print(a)        else:# 三星        a = dic['three_stars'][randint(0,int(len(dic['three_stars']))-1)]        three+=1        n+=1        result.append(a)        print(a)def one():    """单抽"""    judge(n)def ten():    """十连"""    for i in range(10):        # sleep(0.2)        one()# 主程序部分active = Truewhile active:    a = input(f"\n源石数:{stone} 合成玉数:{jade}\n输入1单抽,输入2十连:\n(输入'q'以退出)")    while a == '1':        if jade >= 600:# 判断合成玉是否足够            jade -= 600            one()            break        else:# 尝试将源石转换成合成玉            if stone >= 1:                stone -= 1                jade += 180            else:# 源石不足                break    while a == '2':        if jade >= 6000:# 判断合成玉是否足够            jade -= 6000            ten()            break        else:            if stone >= (6000-jade)/180:# 尝试将源石转换成合成玉                if (6000-jade)%180==0:# 当所需合成玉数能转换成整数颗源石时                    stone -= int((6000-jade)/180)                    jade = 6000                else:# 当所需合成玉数不能转换成整数颗源石时                    stone -= int((6000-jade)//180+1)                    jade += int(((6000-jade)//180+1)*180)            else:                print('源石不足!请单抽!')                break    if a == 'q':# 退出主程序        break    while stone*180+jade < 600:# 氪金系统        tip = input(f'\n源石数:{stone} 合成玉数:{jade}\n源石不足,是否氪金?(¥648=130源石)(y/n)')        if tip == 'y':# 确认氪金            stone += 130            print('氪金成功!')        if tip == 'n':# 取消氪金并退出主程序            active = False            break# 抽卡结果展示print(f'\n抽卡数:{len(result)}')# 打印抽卡结果print("六星:",end="")for i in six_stars_result:    if i in result:# 判断抽卡结果        print(f"{i}:{str(result.count(i))}",end=" ")print(f"总数:{six}")print("五星:",end="")for i in five_stars_result:    if i in result:# 判断抽卡结果        print(f"{i}:{str(result.count(i))}",end=" ")print(f"总数:{five}")print("四星:",end="")for i in dic['four_stars']:    if i in result:# 判断抽卡结果        print(f"{i}:{str(result.count(i))}",end=" ")print(f"总数:{four}")print("三星:",end="")for i in dic['three_stars']:    if i in result:# 判断抽卡结果        print(f"{i}:{str(result.count(i))}",end=" ")# 打印总览print(f"总数:{three}\n共消耗{len(result)}颗源石,价值{len(result)*180}合成玉!")luck = six/len(result)print(f"六星出货占比:{'%.3f'%luck}")if float(luck) > 0.02:    print("双黄出货全满潜")else:    print("醒来枕边泪点点")print('\n已退出模拟器!')

如果程序有什么不足之处,请及时指出!
谢谢大佬们

总结

以上是内存溢出为你收集整理的【萌新投稿】自学几个月Python制作的明日方舟寻访模拟器全部内容,希望文章能够帮你解决【萌新投稿】自学几个月Python制作的明日方舟寻访模拟器所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1186732.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存