最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python實(shí)現(xiàn)原神抽卡的方法

 更新時(shí)間:2021年12月06日 15:33:19   作者:qq_41256425  
這篇文章主要為大家介紹了Python實(shí)現(xiàn)原神抽卡的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助

話(huà)不多說(shuō),直接貼所有代碼

import random
import sys
import tkinter as tk  # 導(dǎo)入一個(gè)第三方庫(kù),用于制作桌面軟件
import tkinter.font as tf
# 數(shù)據(jù)部分
R = {
    "name": "R",
    "color": "blue",
    "size": "20",
    "font": "微軟雅黑",
    "data": ["冷刃", "黑纓槍", "白纓槍", "翡玉法球", "飛天大御劍", "暗鐵劍", "旅行劍", "鋼輪弓",
             "吃魚(yú)虎刀", "沾染龍血的劍", "以理服人", "異世界行記", "甲級(jí)寶鈺", "翡玉法球"],
    "person": []
}
SR = {
    "name": "SR",
    "color": "purple",
    "size": "20",
    "font": "微軟雅黑",
    "data": ["腐殖之劍", "祭禮劍", "西風(fēng)劍", "試作斬巖", "笛劍", "螭骨劍", "鋼輪弓", "西風(fēng)獵弓",
             "鋼輪弓", "絕弦", "祭禮弓", "萬(wàn)國(guó)諸海圖譜", "匣里日月", "千巖古劍", "黑巖緋玉"],
    "person": ["香菱", "菲謝爾", "菲謝爾", "北斗", "芭芭拉", "北斗", "凝光", "托馬", "重云",
              "砂糖", "煙緋", "安柏", "凱亞", "麗莎", "諾艾爾"]
}
SSR = {
    "name": "SSR",
    "color": "yellow",
    "size": "20",
    "font": "微軟雅黑",
    "data": ["天空之卷", "四風(fēng)原典", "天空之傲", "天空之脊", "風(fēng)鷹劍", "風(fēng)鷹劍", "狼的末路"],
    "person": ["迪盧克", "七七", "琴", "莫娜", "刻晴"]
}

ten_count = 0
ninety_count = 0
max_count = 0
person_up = "優(yōu)菈"
data_up = "松籟響起之時(shí)"
ALL = [R, SR, SSR]
tag_id = "0"

# 單抽
def one():
    _res = get()
    count_flush(_res["level"], _res["thing"])
    insert_text(conf=_res["level"], message=_res["thing"])
    text.insert("end", "\n")
    text.see("end")

# 十連抽
def ten():
    text.tag_add('tag', "end")
    text.tag_config('tag', foreground="white")
    text.insert("end", "\nstart\n", 'tag')
    for i in range(10):
        one()
    text.insert("end", f"\nend{ten_count}/{ninety_count}/{max_count}\n", "tag")
    text.see("end")

# 根據(jù)抽獎(jiǎng)出的物品index獲取物品等級(jí)
def found(index):
    for i in ALL:
        if pool[index] in i["person"]:
            return i
        if pool[index] in i["data"]:
            return i

# 每次抽卡后刷新當(dāng)前計(jì)數(shù)器
def count_flush(level, thing):
    global ten_count
    global ninety_count
    global max_count
    if level["name"] == "SR":
        ten_count = 0
    if level["name"] == "SSR":
        ninety_count = 0
    if level["name"] == "SSR" and ((thing in person_up) or (thing in data_up)):
        max_count = 0

# 抽卡規(guī)則
def get():
    global ten_count
    global ninety_count
    global max_count
    level = None
    ten_count += 1
    ninety_count += 1
    max_count += 1
    if ten_count == 10:
        level = SR
    if ninety_count == 90:
        level = SSR
    if level is SR or level is SSR:
        index = random.randrange(len(level[what]))
        thing = level[what][index]
    if max_count != ninety_count and level is SSR:
        level = SSR
        thing = person_up if what == "person" else data_up
    if max_count == 180:
        level = SSR
        thing = person_up if what == "person" else data_up
    if level is None:
        index = random.randrange(len(pool))
        level = found(index)
        thing = pool[index]
    return {
        "level": level,
        "thing": thing
    }

# 建立一個(gè)主窗口 root
root = tk.Tk()
# 設(shè)置窗口標(biāo)題
root.title("原神模擬抽卡器")
# 設(shè)置單抽圖片
image_one = tk.PhotoImage(file="單抽圖片.png")
# 設(shè)置十連抽圖片
image_ten = tk.PhotoImage(file="十連抽.png")
# 在窗口上創(chuàng)建一個(gè)按鈕 button,用于單抽,它依賴(lài)于父窗口root
button_one = tk.Button(root, text="單抽", image=image_one, command=one)
button_ten = tk.Button(root, text="十連抽", image=image_ten, command=ten)
# 布局創(chuàng)建的按鈕,rou代表行,column代表列
button_one.grid(row=0, column=0)
button_ten.grid(row=0, column=1)
# 創(chuàng)建一個(gè)文本框,用于打印抽獎(jiǎng)日志
text = tk.Text(root, bg="black")
# columnspan代表合并兩列
text.grid(row=1, columnspan=2)

# 添加日志到Text框
def insert_text(message, conf):
    global tag_id
    # 設(shè)置字體大小和顏色
    ft = tf.Font(family=conf["font"], size=conf["size"])
    text.tag_add('tag'+tag_id, "end")
    text.tag_config('tag'+tag_id, foreground=conf["color"], font=ft)
    text.insert("end", message + "\n", "tag"+tag_id)
    text.see("end")
    tag_id = str(int(tag_id) + 1)

# mian函數(shù),程序會(huì)運(yùn)行這里面的東西
if __name__ == '__main__':
    # 修改為武器抽武器池
    what = "角色"
    if what == "角色":
        what = "person"
    if what == "武器":
        what = "data"
    if what not in ["data", "person"]:
        sys.exit(1)
    # 把up角色和武器加入池
    SSR["data"].append(data_up)
    SSR["person"].append(person_up)
    # 合并在一個(gè)總池,實(shí)現(xiàn)概率,可以通過(guò)算法實(shí)現(xiàn),難得弄..
    pool = list()
    for i in range(90):
        pool.extend(R["data"])
    for i in range(10):
        pool.extend(SR[what])
    pool.extend(SSR[what])
    # 運(yùn)行窗口
    root.mainloop()

運(yùn)行效果

在這里插入圖片描述

需要用到的兩張圖片

在這里插入圖片描述

在這里插入圖片描述

總結(jié)

本篇文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

  • python繪制云雨圖raincloud?plot

    python繪制云雨圖raincloud?plot

    這篇文章主要介紹了python繪制云雨圖raincloud?plot,Raincloud的Python實(shí)現(xiàn)是一個(gè)名為PtitPrince的包,它寫(xiě)在seaborn之上,這是一個(gè)Python繪圖庫(kù),用于從pandas數(shù)據(jù)幀中獲取漂亮的繪圖
    2022-08-08
  • python神經(jīng)網(wǎng)絡(luò)Keras常用學(xué)習(xí)率衰減匯總

    python神經(jīng)網(wǎng)絡(luò)Keras常用學(xué)習(xí)率衰減匯總

    這篇文章主要為大家介紹了python神經(jīng)網(wǎng)絡(luò)Keras常用學(xué)習(xí)率衰減匯總,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • 基于Python的GUI圖形用戶(hù)界面編程詳細(xì)講解

    基于Python的GUI圖形用戶(hù)界面編程詳細(xì)講解

    GUI圖形用戶(hù)界面編程,我們可以通過(guò)python提供的豐富的組件,快速的實(shí)現(xiàn)使用圖形的界面和用戶(hù)交互, GUI編程類(lèi)似于“搭積?”,將?個(gè)個(gè)組件(Widget)放到窗?中,這篇文章主要給大家介紹了基于Python的GUI圖形用戶(hù)界面編程的相關(guān)資料,需要的朋友可以參考下
    2022-12-12
  • Python+moviepy實(shí)現(xiàn)音頻/視頻提取器

    Python+moviepy實(shí)現(xiàn)音頻/視頻提取器

    這篇文章主要為大家詳細(xì)介紹了如何使用Python和wxPython構(gòu)建的音頻/視頻提取器應(yīng)用程序,允許用戶(hù)從視頻文件中提取音頻,或者從音頻文件中截取特定時(shí)間段,需要的可以參考下
    2024-10-10
  • Python利用Charles 實(shí)現(xiàn)全部自動(dòng)答題思路流程分析

    Python利用Charles 實(shí)現(xiàn)全部自動(dòng)答題思路流程分析

    這篇文章主要介紹了Python利用Charles 實(shí)現(xiàn)全部自動(dòng)答題思路流程分析,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-08-08
  • python中強(qiáng)制關(guān)閉線(xiàn)程與協(xié)程與進(jìn)程方法

    python中強(qiáng)制關(guān)閉線(xiàn)程與協(xié)程與進(jìn)程方法

    python使用中多線(xiàn)程、多進(jìn)程、多協(xié)程使用是比較常見(jiàn)的。那么如果在多線(xiàn)程等的使用,我們這個(gè)時(shí)候我們想從外部強(qiáng)制殺掉該線(xiàn)程請(qǐng)問(wèn)如何操作?這篇文章帶你介紹,感興趣的同學(xué)可以參考閱讀
    2023-03-03
  • Python實(shí)現(xiàn)的簡(jiǎn)單dns查詢(xún)功能示例

    Python實(shí)現(xiàn)的簡(jiǎn)單dns查詢(xún)功能示例

    這篇文章主要介紹了Python實(shí)現(xiàn)的簡(jiǎn)單dns查詢(xún)功能,結(jié)合實(shí)例形式分析了Python基于socket模塊的dns信息查詢(xún)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2017-05-05
  • python得到電腦的開(kāi)機(jī)時(shí)間方法

    python得到電腦的開(kāi)機(jī)時(shí)間方法

    今天小編就為大家分享一篇python得到電腦的開(kāi)機(jī)時(shí)間方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-10-10
  • 如何使用 Python 中的功能和庫(kù)創(chuàng)建 n-gram的過(guò)程

    如何使用 Python 中的功能和庫(kù)創(chuàng)建 n-gram的過(guò)程

    在計(jì)算語(yǔ)言學(xué)中,n-gram 對(duì)于語(yǔ)言處理、上下文和語(yǔ)義分析非常重要,本文將討論如何使用 Python 中的功能和庫(kù)創(chuàng)建 n-gram,感興趣的朋友一起看看吧
    2023-09-09
  • 以windows service方式運(yùn)行Python程序的方法

    以windows service方式運(yùn)行Python程序的方法

    這篇文章主要介紹了以windows service方式運(yùn)行Python程序的方法,可實(shí)現(xiàn)將Python程序變成windows服務(wù)的功能,需要的朋友可以參考下
    2015-06-06

最新評(píng)論

柳州市| 红原县| 元朗区| 乐亭县| 监利县| 丹凤县| 新绛县| 青河县| 公安县| 石城县| 奉新县| 锡林浩特市| 灵台县| 尤溪县| 孟村| 墨玉县| 隆尧县| 花垣县| 望谟县| 邯郸市| 湘乡市| 义马市| 肇东市| 甘孜县| 山阳县| 龙井市| 揭西县| 天长市| 宣城市| 连平县| 岢岚县| 教育| 疏附县| 丰台区| 改则县| 衡山县| 舞钢市| 铜梁县| 靖安县| 大名县| 贵定县|