当前位置: 首页 > news >正文

问山海——天涯海角——桃花渊boss攻击顺序

文章目录

    • 桃花渊
    • 代码
    • 代码解读
    • 代码执行结果
    • 攻击顺序示意图

桃花渊

规划击杀各个boss顺序。

副本持续时间为30分钟,每个地方的boss被打死后,需要一定时间才能重新刷新。

只考虑其中两种boss,龟将和龟龙。各有四个。

其中我从一个boss地点到达另一个boss地点移动时间为20秒。(作为变量可设)

我击杀龟龙需要时间40秒,击杀龟将时间需要20秒。(作为变量可设)

四个龟将被击杀后,下一次刷新所需时间分别为:9:55 12:55 14:55 17:55
四个龟龙被击杀后,下一次刷新所需时间分别为:22:55 25:55 27:55 31:55

规划攻打顺序,击杀最大数量boss。

代码

from itertools import permutationsdef format_time(seconds):"""将时间从秒转换为分:秒的格式"""return f"{seconds // 60}{seconds % 60}秒"def calculate_kills_verbose(order, move_time=20, kill_time_turtle=20, kill_time_dragon=40):# 刷新时间refresh_times = {'J1': 9*60 + 55,'J2': 12*60 + 55,'J3': 14*60 + 55,'J4': 17*60 + 55,'L1': 22*60 + 55,'L2': 25*60 + 55,'L3': 27*60 + 55,'L4': 31*60 + 55,}# Boss备注信息boss_notes = {'J1': '右下角龟将','J2': '右上角龟将','J3': '左上角龟将','J4': '左下角龟将','L1': '右下角龟龙','L2': '左下角龟龙','L3': '右上角龟龙','L4': '左上角龟龙'}# 初始化变量current_time = 0kills = {'J': 0, 'L': 0}last_kill_time = {key: -refresh_times[key]for key in refresh_times}  # 记录每个boss上次被击杀的时间kill_sequence = []  # 新增:用于记录击杀顺序for boss in order:if current_time >= 30*60:  # 副本时间结束print("副本时间已结束")break# 打印攻击前Boss的剩余刷新时间print_boss_refresh_times(current_time, last_kill_time, refresh_times, boss_notes)current_time += move_time  # 移动到下一个boss# 计算击杀时间kill_time = kill_time_turtle if boss.startswith('J') else kill_time_dragon# 获取Boss备注note = boss_notes.get(boss, '')  # 如果Boss没有备注,则默认为空字符串# 检查boss是否刷新if current_time - last_kill_time[boss] >= refresh_times[boss]:# 如果已经刷新,则击杀bossprint(f"\n攻击{boss} ({note}), 剩余时间: {format_time(30*60 - current_time)}\n")kill_sequence.append(note)  # 新增:记录击杀顺序current_time += kill_timekills[boss[0]] += 1last_kill_time[boss] = current_timeelse:# 如果还未刷新,则计算等待时间wait_time = refresh_times[boss] - \(current_time - last_kill_time[boss])if current_time + wait_time + kill_time > 30*60:print(f"{boss} ({note}) 刷新所需时间超过剩余副本时间,无法继续击杀")break  # 剩余时间不够等待此boss刷新print(f"\n等待{boss} ({note}) 刷新, 需要等待{format_time(wait_time)}, 剩余时间: {format_time(30*60 - (current_time + wait_time))}\n")kill_sequence.append(note)  # 新增:记录击杀顺序current_time += wait_time + kill_timekills[boss[0]] += 1last_kill_time[boss] = current_time# 打印攻击后Boss的剩余刷新时间print_boss_refresh_times(current_time, last_kill_time, refresh_times, boss_notes)print('\n----------------------------------------------------------------------------------------------------------------------------------------------------\n')# 函数结束前,打印击杀顺序print("\n击杀顺序汇总:")for i, kill in enumerate(kill_sequence, start=1):print(f"{i}. {kill}")return killsdef print_boss_refresh_times(current_time, last_kill_time, refresh_times, boss_notes):for boss, refresh_time in refresh_times.items():time_since_last_kill = current_time - last_kill_time[boss]if time_since_last_kill < refresh_time:remaining_time = refresh_time - time_since_last_killprint(f"{boss} ({boss_notes[boss]}) 剩余刷新时间: {format_time(remaining_time)}")else:print(f"{boss} ({boss_notes[boss]}) 已刷新")# 输入攻击顺序
order = ["J2", "J1", "L1", "L2", "J4", "J3","L4", "L3", "J2", "J1", "J3", "J1", "J4", "J2", "L1", "L2"]result = calculate_kills_verbose(order)
print(f"\n击杀总结:击杀龟将数量:{result['J']}, 击杀龟龙数量:{result['L']}")

代码解读

这个代码主要实现了一个计算和模拟游戏中的“副本”击杀策略的功能。在这个游戏中,有两种类型的boss(龟将和龟龙),每种boss有不同的刷新时间,并分布在地图的不同位置。玩家需要在一定的时间内尽可能多地击杀boss以获得奖励。

下面是对这个代码的详细解读:

  1. 首先,定义了一个format_time函数,该函数接受一个表示秒数的参数,并将其转换为"分钟:秒"的格式。

  2. 然后,定义了主要的函数calculate_kills_verbose,该函数接收四个参数:攻击顺序、移动时间、击杀龟将所需时间和击杀龟龙所需时间。其中,攻击顺序是一个列表,包含按顺序要击杀的boss的标识符。

  3. calculate_kills_verbose函数中,首先定义了两个字典:refresh_timesboss_notesrefresh_times字典存储每个boss的刷新时间,boss_notes字典存储每个boss的备注信息。

  4. 接着,初始化了一些变量,包括当前时间、各类boss的击杀数量,最后一次击杀每个boss的时间,以及用于记录击杀顺序的列表kill_sequence

  5. 然后,函数进入一个主循环,按照给定的顺序遍历并处理每个boss。在每次循环中,首先打印出当前时间和各个boss的剩余刷新时间,然后计算移动到下一个boss所需的时间,并增加当前时间。

  6. 对于每个boss,首先检查它是否已经刷新。如果已经刷新,那么就直接击杀它,并更新相关信息。如果还未刷新,那么需要等待其刷新,然后再击杀它。在等待过程中,会不断检查剩余的副本时间是否足够。

  7. 击杀完boss后,会打印出击杀后的当前时间和各个boss的剩余刷新时间。

  8. 在处理完所有boss或者副本时间结束后,函数会退出主循环,然后打印出整个副本过程中的击杀顺序,最后返回一个包含各类boss击杀数量的字典。

  9. print_boss_refresh_times函数是用来打印各个boss的剩余刷新时间的辅助函数。

  10. 在最后的部分,定义了一个攻击顺序,然后调用calculate_kills_verbose函数模拟副本过程,并打印出击杀结果。

代码执行结果

root@ubuntu:/userdata/20240212_askMoutainSeaPeachBlossomAbyssAttackPlan# python3 plan1.py
J1 (右下角龟将) 已刷新
J2 (右上角龟将) 已刷新
J3 (左上角龟将) 已刷新
J4 (左下角龟将) 已刷新
L1 (右下角龟龙) 已刷新
L2 (左下角龟龙) 已刷新
L3 (右上角龟龙) 已刷新
L4 (左上角龟龙) 已刷新攻击J2 (右上角龟将), 剩余时间: 2940秒J1 (右下角龟将) 已刷新
J2 (右上角龟将) 剩余刷新时间: 1255秒
J3 (左上角龟将) 已刷新
J4 (左下角龟将) 已刷新
L1 (右下角龟龙) 已刷新
L2 (左下角龟龙) 已刷新
L3 (右上角龟龙) 已刷新
L4 (左上角龟龙) 已刷新----------------------------------------------------------------------------------------------------------------------------------------------------J1 (右下角龟将) 已刷新
J2 (右上角龟将) 剩余刷新时间: 1255秒
J3 (左上角龟将) 已刷新
J4 (左下角龟将) 已刷新
L1 (右下角龟龙) 已刷新
L2 (左下角龟龙) 已刷新
L3 (右上角龟龙) 已刷新
L4 (左上角龟龙) 已刷新攻击J1 (右下角龟将), 剩余时间: 290秒J1 (右下角龟将) 剩余刷新时间: 955秒
J2 (右上角龟将) 剩余刷新时间: 1215秒
J3 (左上角龟将) 已刷新
J4 (左下角龟将) 已刷新
L1 (右下角龟龙) 已刷新
L2 (左下角龟龙) 已刷新
L3 (右上角龟龙) 已刷新
L4 (左上角龟龙) 已刷新----------------------------------------------------------------------------------------------------------------------------------------------------J1 (右下角龟将) 剩余刷新时间: 955秒
J2 (右上角龟将) 剩余刷新时间: 1215秒
J3 (左上角龟将) 已刷新
J4 (左下角龟将) 已刷新
L1 (右下角龟龙) 已刷新
L2 (左下角龟龙) 已刷新
L3 (右上角龟龙) 已刷新
L4 (左上角龟龙) 已刷新攻击L1 (右下角龟龙), 剩余时间: 2820秒J1 (右下角龟将) 剩余刷新时间: 855秒
J2 (右上角龟将) 剩余刷新时间: 1115秒
J3 (左上角龟将) 已刷新
J4 (左下角龟将) 已刷新
L1 (右下角龟龙) 剩余刷新时间: 2255秒
L2 (左下角龟龙) 已刷新
L3 (右上角龟龙) 已刷新
L4 (左上角龟龙) 已刷新----------------------------------------------------------------------------------------------------------------------------------------------------J1 (右下角龟将) 剩余刷新时间: 855秒
J2 (右上角龟将) 剩余刷新时间: 1115秒
J3 (左上角龟将) 已刷新
J4 (左下角龟将) 已刷新
L1 (右下角龟龙) 剩余刷新时间: 2255秒
L2 (左下角龟龙) 已刷新
L3 (右上角龟龙) 已刷新
L4 (左上角龟龙) 已刷新攻击L2 (左下角龟龙), 剩余时间: 2720秒J1 (右下角龟将) 剩余刷新时间: 755秒
J2 (右上角龟将) 剩余刷新时间: 1015秒
J3 (左上角龟将) 已刷新
J4 (左下角龟将) 已刷新
L1 (右下角龟龙) 剩余刷新时间: 2155秒
L2 (左下角龟龙) 剩余刷新时间: 2555秒
L3 (右上角龟龙) 已刷新
L4 (左上角龟龙) 已刷新----------------------------------------------------------------------------------------------------------------------------------------------------J1 (右下角龟将) 剩余刷新时间: 755秒
J2 (右上角龟将) 剩余刷新时间: 1015秒
J3 (左上角龟将) 已刷新
J4 (左下角龟将) 已刷新
L1 (右下角龟龙) 剩余刷新时间: 2155秒
L2 (左下角龟龙) 剩余刷新时间: 2555秒
L3 (右上角龟龙) 已刷新
L4 (左上角龟龙) 已刷新攻击J4 (左下角龟将), 剩余时间: 2620秒J1 (右下角龟将) 剩余刷新时间: 715秒
J2 (右上角龟将) 剩余刷新时间: 935秒
J3 (左上角龟将) 已刷新
J4 (左下角龟将) 剩余刷新时间: 1755秒
L1 (右下角龟龙) 剩余刷新时间: 2115秒
L2 (左下角龟龙) 剩余刷新时间: 2515秒
L3 (右上角龟龙) 已刷新
L4 (左上角龟龙) 已刷新----------------------------------------------------------------------------------------------------------------------------------------------------J1 (右下角龟将) 剩余刷新时间: 715秒
J2 (右上角龟将) 剩余刷新时间: 935秒
J3 (左上角龟将) 已刷新
J4 (左下角龟将) 剩余刷新时间: 1755秒
L1 (右下角龟龙) 剩余刷新时间: 2115秒
L2 (左下角龟龙) 剩余刷新时间: 2515秒
L3 (右上角龟龙) 已刷新
L4 (左上角龟龙) 已刷新攻击J3 (左上角龟将), 剩余时间: 2540秒J1 (右下角龟将) 剩余刷新时间: 635秒
J2 (右上角龟将) 剩余刷新时间: 855秒
J3 (左上角龟将) 剩余刷新时间: 1455秒
J4 (左下角龟将) 剩余刷新时间: 1715秒
L1 (右下角龟龙) 剩余刷新时间: 2035秒
L2 (左下角龟龙) 剩余刷新时间: 2435秒
L3 (右上角龟龙) 已刷新
L4 (左上角龟龙) 已刷新----------------------------------------------------------------------------------------------------------------------------------------------------J1 (右下角龟将) 剩余刷新时间: 635秒
J2 (右上角龟将) 剩余刷新时间: 855秒
J3 (左上角龟将) 剩余刷新时间: 1455秒
J4 (左下角龟将) 剩余刷新时间: 1715秒
L1 (右下角龟龙) 剩余刷新时间: 2035秒
L2 (左下角龟龙) 剩余刷新时间: 2435秒
L3 (右上角龟龙) 已刷新
L4 (左上角龟龙) 已刷新攻击L4 (左上角龟龙), 剩余时间: 250秒J1 (右下角龟将) 剩余刷新时间: 535秒
J2 (右上角龟将) 剩余刷新时间: 755秒
J3 (左上角龟将) 剩余刷新时间: 1355秒
J4 (左下角龟将) 剩余刷新时间: 1615秒
L1 (右下角龟龙) 剩余刷新时间: 1935秒
L2 (左下角龟龙) 剩余刷新时间: 2335秒
L3 (右上角龟龙) 已刷新
L4 (左上角龟龙) 剩余刷新时间: 3155----------------------------------------------------------------------------------------------------------------------------------------------------J1 (右下角龟将) 剩余刷新时间: 535秒
J2 (右上角龟将) 剩余刷新时间: 755秒
J3 (左上角龟将) 剩余刷新时间: 1355秒
J4 (左下角龟将) 剩余刷新时间: 1615秒
L1 (右下角龟龙) 剩余刷新时间: 1935秒
L2 (左下角龟龙) 剩余刷新时间: 2335秒
L3 (右上角龟龙) 已刷新
L4 (左上角龟龙) 剩余刷新时间: 3155秒攻击L3 (右上角龟龙), 剩余时间: 240秒J1 (右下角龟将) 剩余刷新时间: 435秒
J2 (右上角龟将) 剩余刷新时间: 655秒
J3 (左上角龟将) 剩余刷新时间: 1255秒
J4 (左下角龟将) 剩余刷新时间: 1515秒
L1 (右下角龟龙) 剩余刷新时间: 1835秒
L2 (左下角龟龙) 剩余刷新时间: 2235秒
L3 (右上角龟龙) 剩余刷新时间: 2755秒
L4 (左上角龟龙) 剩余刷新时间: 3055----------------------------------------------------------------------------------------------------------------------------------------------------J1 (右下角龟将) 剩余刷新时间: 435秒
J2 (右上角龟将) 剩余刷新时间: 655秒
J3 (左上角龟将) 剩余刷新时间: 1255秒
J4 (左下角龟将) 剩余刷新时间: 1515秒
L1 (右下角龟龙) 剩余刷新时间: 1835秒
L2 (左下角龟龙) 剩余刷新时间: 2235秒
L3 (右上角龟龙) 剩余刷新时间: 2755秒
L4 (左上角龟龙) 剩余刷新时间: 3055秒等待J2 (右上角龟将) 刷新, 需要等待635, 剩余时间: 1625秒J1 (右下角龟将) 已刷新
J2 (右上角龟将) 剩余刷新时间: 1255秒
J3 (左上角龟将) 剩余刷新时间: 540秒
J4 (左下角龟将) 剩余刷新时间: 80秒
L1 (右下角龟龙) 剩余刷新时间: 1120秒
L2 (左下角龟龙) 剩余刷新时间: 1520秒
L3 (右上角龟龙) 剩余刷新时间: 2040秒
L4 (左上角龟龙) 剩余刷新时间: 2340----------------------------------------------------------------------------------------------------------------------------------------------------J1 (右下角龟将) 已刷新
J2 (右上角龟将) 剩余刷新时间: 1255秒
J3 (左上角龟将) 剩余刷新时间: 540秒
J4 (左下角龟将) 剩余刷新时间: 80秒
L1 (右下角龟龙) 剩余刷新时间: 1120秒
L2 (左下角龟龙) 剩余刷新时间: 1520秒
L3 (右上角龟龙) 剩余刷新时间: 2040秒
L4 (左上角龟龙) 剩余刷新时间: 2340秒攻击J1 (右下角龟将), 剩余时间: 1545秒J1 (右下角龟将) 剩余刷新时间: 955秒
J2 (右上角龟将) 剩余刷新时间: 1215秒
J3 (左上角龟将) 剩余刷新时间: 50秒
J4 (左下角龟将) 剩余刷新时间: 720秒
L1 (右下角龟龙) 剩余刷新时间: 1040秒
L2 (左下角龟龙) 剩余刷新时间: 1440秒
L3 (右上角龟龙) 剩余刷新时间: 200秒
L4 (左上角龟龙) 剩余刷新时间: 230----------------------------------------------------------------------------------------------------------------------------------------------------J1 (右下角龟将) 剩余刷新时间: 955秒
J2 (右上角龟将) 剩余刷新时间: 1215秒
J3 (左上角龟将) 剩余刷新时间: 50秒
J4 (左下角龟将) 剩余刷新时间: 720秒
L1 (右下角龟龙) 剩余刷新时间: 1040秒
L2 (左下角龟龙) 剩余刷新时间: 1440秒
L3 (右上角龟龙) 剩余刷新时间: 200秒
L4 (左上角龟龙) 剩余刷新时间: 230秒等待J3 (左上角龟将) 刷新, 需要等待440, 剩余时间: 1025秒J1 (右下角龟将) 剩余刷新时间: 435秒
J2 (右上角龟将) 剩余刷新时间: 655秒
J3 (左上角龟将) 剩余刷新时间: 1455秒
J4 (左下角龟将) 剩余刷新时间: 20秒
L1 (右下角龟龙) 剩余刷新时间: 520秒
L2 (左下角龟龙) 剩余刷新时间: 920秒
L3 (右上角龟龙) 剩余刷新时间: 1440秒
L4 (左上角龟龙) 剩余刷新时间: 1740----------------------------------------------------------------------------------------------------------------------------------------------------J1 (右下角龟将) 剩余刷新时间: 435秒
J2 (右上角龟将) 剩余刷新时间: 655秒
J3 (左上角龟将) 剩余刷新时间: 1455秒
J4 (左下角龟将) 剩余刷新时间: 20秒
L1 (右下角龟龙) 剩余刷新时间: 520秒
L2 (左下角龟龙) 剩余刷新时间: 920秒
L3 (右上角龟龙) 剩余刷新时间: 1440秒
L4 (左上角龟龙) 剩余刷新时间: 1740秒等待J1 (右下角龟将) 刷新, 需要等待415, 剩余时间: 530秒J1 (右下角龟将) 剩余刷新时间: 955秒
J2 (右上角龟将) 剩余刷新时间: 20秒
J3 (左上角龟将) 剩余刷新时间: 100秒
J4 (左下角龟将) 已刷新
L1 (右下角龟龙) 剩余刷新时间: 025秒
L2 (左下角龟龙) 剩余刷新时间: 425秒
L3 (右上角龟龙) 剩余刷新时间: 945秒
L4 (左上角龟龙) 剩余刷新时间: 1245----------------------------------------------------------------------------------------------------------------------------------------------------J1 (右下角龟将) 剩余刷新时间: 955秒
J2 (右上角龟将) 剩余刷新时间: 20秒
J3 (左上角龟将) 剩余刷新时间: 100秒
J4 (左下角龟将) 已刷新
L1 (右下角龟龙) 剩余刷新时间: 025秒
L2 (左下角龟龙) 剩余刷新时间: 425秒
L3 (右上角龟龙) 剩余刷新时间: 945秒
L4 (左上角龟龙) 剩余刷新时间: 1245秒攻击J4 (左下角龟将), 剩余时间: 450秒J1 (右下角龟将) 剩余刷新时间: 915秒
J2 (右上角龟将) 剩余刷新时间: 120秒
J3 (左上角龟将) 剩余刷新时间: 920秒
J4 (左下角龟将) 剩余刷新时间: 1755秒
L1 (右下角龟龙) 已刷新
L2 (左下角龟龙) 剩余刷新时间: 345秒
L3 (右上角龟龙) 剩余刷新时间: 95秒
L4 (左上角龟龙) 剩余刷新时间: 125----------------------------------------------------------------------------------------------------------------------------------------------------J1 (右下角龟将) 剩余刷新时间: 915秒
J2 (右上角龟将) 剩余刷新时间: 120秒
J3 (左上角龟将) 剩余刷新时间: 920秒
J4 (左下角龟将) 剩余刷新时间: 1755秒
L1 (右下角龟龙) 已刷新
L2 (左下角龟龙) 剩余刷新时间: 345秒
L3 (右上角龟龙) 剩余刷新时间: 95秒
L4 (左上角龟龙) 剩余刷新时间: 125秒等待J2 (右上角龟将) 刷新, 需要等待10, 剩余时间: 310秒J1 (右下角龟将) 剩余刷新时间: 735秒
J2 (右上角龟将) 剩余刷新时间: 1255秒
J3 (左上角龟将) 剩余刷新时间: 740秒
J4 (左下角龟将) 剩余刷新时间: 1615秒
L1 (右下角龟龙) 已刷新
L2 (左下角龟龙) 剩余刷新时间: 25秒
L3 (右上角龟龙) 剩余刷新时间: 725秒
L4 (左上角龟龙) 剩余刷新时间: 1025----------------------------------------------------------------------------------------------------------------------------------------------------J1 (右下角龟将) 剩余刷新时间: 735秒
J2 (右上角龟将) 剩余刷新时间: 1255秒
J3 (左上角龟将) 剩余刷新时间: 740秒
J4 (左下角龟将) 剩余刷新时间: 1615秒
L1 (右下角龟龙) 已刷新
L2 (左下角龟龙) 剩余刷新时间: 25秒
L3 (右上角龟龙) 剩余刷新时间: 725秒
L4 (左上角龟龙) 剩余刷新时间: 1025秒攻击L1 (右下角龟龙), 剩余时间: 230秒J1 (右下角龟将) 剩余刷新时间: 635秒
J2 (右上角龟将) 剩余刷新时间: 1155秒
J3 (左上角龟将) 剩余刷新时间: 640秒
J4 (左下角龟将) 剩余刷新时间: 1515秒
L1 (右下角龟龙) 剩余刷新时间: 2255秒
L2 (左下角龟龙) 剩余刷新时间: 15秒
L3 (右上角龟龙) 剩余刷新时间: 625秒
L4 (左上角龟龙) 剩余刷新时间: 925----------------------------------------------------------------------------------------------------------------------------------------------------J1 (右下角龟将) 剩余刷新时间: 635秒
J2 (右上角龟将) 剩余刷新时间: 1155秒
J3 (左上角龟将) 剩余刷新时间: 640秒
J4 (左下角龟将) 剩余刷新时间: 1515秒
L1 (右下角龟龙) 剩余刷新时间: 2255秒
L2 (左下角龟龙) 剩余刷新时间: 15秒
L3 (右上角龟龙) 剩余刷新时间: 625秒
L4 (左上角龟龙) 剩余刷新时间: 925秒等待L2 (左下角龟龙) 刷新, 需要等待045, 剩余时间: 045秒J1 (右下角龟将) 剩余刷新时间: 450秒
J2 (右上角龟将) 剩余刷新时间: 1010秒
J3 (左上角龟将) 剩余刷新时间: 455秒
J4 (左下角龟将) 剩余刷新时间: 1330秒
L1 (右下角龟龙) 剩余刷新时间: 2110秒
L2 (左下角龟龙) 剩余刷新时间: 2555秒
L3 (右上角龟龙) 剩余刷新时间: 440秒
L4 (左上角龟龙) 剩余刷新时间: 740----------------------------------------------------------------------------------------------------------------------------------------------------击杀顺序汇总:
1. 右上角龟将
2. 右下角龟将
3. 右下角龟龙
4. 左下角龟龙
5. 左下角龟将
6. 左上角龟将
7. 左上角龟龙
8. 右上角龟龙
9. 右上角龟将
10. 右下角龟将
11. 左上角龟将
12. 右下角龟将
13. 左下角龟将
14. 右上角龟将
15. 右下角龟龙
16. 左下角龟龙击杀总结:击杀龟将数量:10, 击杀龟龙数量:6

攻击顺序示意图

在这里插入图片描述
在这里插入图片描述
备注:绿色是第一轮,蓝色第二轮,黄色第三轮

相关文章:

问山海——天涯海角——桃花渊boss攻击顺序

文章目录 桃花渊代码代码解读代码执行结果攻击顺序示意图 桃花渊 规划击杀各个boss顺序。 副本持续时间为30分钟&#xff0c;每个地方的boss被打死后&#xff0c;需要一定时间才能重新刷新。 只考虑其中两种boss&#xff0c;龟将和龟龙。各有四个。 其中我从一个boss地点到…...

springboot181基于springboot的乐享田园系统

简介 【毕设源码推荐 javaweb 项目】基于springbootvue 的 适用于计算机类毕业设计&#xff0c;课程设计参考与学习用途。仅供学习参考&#xff0c; 不得用于商业或者非法用途&#xff0c;否则&#xff0c;一切后果请用户自负。 看运行截图看 第五章 第四章 获取资料方式 **项…...

Dubbo集成Zookeeper embbed模式

为了简化应用支持服务方便的分合&#xff0c;使用Zookeeper embbed模式。集成Zookeeper比较容易&#xff0c;使用starter或自己写代码都可以。但是由于集成了Dubbo&#xff0c;每次启动时都会发现zookeeper没有启动就开始报错退出&#xff0c;但是确是已经集成了。 于是只能翻…...

156基于Matlab的光纤陀螺随机噪声和信号

基于Matlab的光纤陀螺随机噪声和信号&#xff0c;利用固定步长和可调步长的LMS自适应滤波、最小二乘法、滑动均值三种方法进行降噪处理&#xff0c;最后用阿兰方差评价降噪效果。程序已调通&#xff0c;可直接运行。 156 信号处理 自适应滤波 降噪效果评估 (xiaohongshu.com)...

秋招上岸大厂,分享一下经验

文章目录 秋招过程学习过程项目经验简历经验面试经验offer选择总结 秋招过程 今天是除夕&#xff0c;秋招已经正式结束了&#xff0c;等春节过完就到了春招的时间点了。 运气比较好&#xff0c;能在秋招的末尾进入一家大厂&#xff0c;拿到20k的sp offer。 从九月份十月份就开…...

使用 C++23 从零实现 RISC-V 模拟器

&#x1f449;&#x1f3fb; 文章汇总「从零实现模拟器、操作系统、数据库、编译器…」&#xff1a;https://okaitserrj.feishu.cn/docx/R4tCdkEbsoFGnuxbho4cgW2Yntc 使用 C23 从零实现 RISC-V 模拟器 使用 C23 从零实现的 RISC-V 模拟器&#xff0c;最终的模拟器可以运行 x…...

Hugging Face 刚刚推出了一款开源的 AI 助手制造工具,直接向 OpenAI 的定制 GPT 挑战

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…...

powershell 雅地关闭UDP监听器

在PowerShell中优雅地关闭UDP监听器意味着你需要一种机制来安全地停止正在运行的UdpClient实例。由于UdpClient类本身没有提供直接的停止或关闭方法&#xff0c;你需要通过其他方式来实现这一点。通常&#xff0c;这涉及到在监听循环中添加一个检查点&#xff0c;以便在接收到停…...

Google Cloud 2024 年报告重点介绍了关键的网络威胁和防御

Google Cloud 的 2024 年威胁范围报告预测了云安全的主要风险&#xff0c;并提出了加强防御的策略。 该报告由 Google 安全专家撰写&#xff0c;为寻求预测和应对不断变化的网络安全威胁的云客户提供了宝贵的资源。 该报告强调&#xff0c;凭证滥用、加密货币挖矿、勒索软件和…...

【算法题】102. 二叉树的层序遍历

题目 给你二叉树的根节点 root &#xff0c;返回其节点值的 层序遍历 。 &#xff08;即逐层地&#xff0c;从左到右访问所有节点&#xff09;。 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,null,15,7] 输出&#xff1a;[[3],[9,20],[15,7]] 示例 2&#xff1a;…...

【龙年大礼】| 2023中国开源年度报告!

【中国开源年度报告】由开源社从 2015 年发起&#xff0c;是国内首个结合多个开源社区、高校、媒体、风投、企业与个人&#xff0c;以纯志愿、非营利的理念和开源社区协作的模式&#xff0c;携手共创完成的开源研究报告。后来由于一些因素暂停&#xff0c;在 2018 年重启了这个…...

本地搭建three.js官方文档

因为three.js官网文档是国外的网站&#xff0c;所以你没有魔法的情况下打开会很慢&#xff0c;这时我们需要在本地搭建一个官方文档便于我们学习查看。 第一步&#xff1a;首先我们先访问GitHub地址 GitHub - mrdoob/three.js: JavaScript 3D Library. 下载不下来的小伙伴们私…...

【seata自动化治愈数据库问题解决方案】

wu-database-lazy-seata-cure-plus-starter 描述 针对saas 数据库隔离情况下&#xff0c;每次版本迭代都需要重新修改对应的数据库&#xff0c;对于升级与运维存在一定的难度&#xff0c;那么这个数据库治愈框架来了&#xff0c;使用场景如下 1.数据库不存在自动创建数据库 …...

Node.js之npm单独与批量升级依赖包的方式

Node.js之npm单独与批量升级依赖包的方式 文章目录 Node.js之npm单独与批量升级依赖包的方式npm查看与升级依赖包1. 单独安装或升级最新版本2. 查看依赖但不升级1. npm outdated2. npm update 3. 批量升级新版本4. npm-check-updates1. 全局安装2. ncu查看可升级的版本3. 升级依…...

66.加一

66. 加一 给定一个由 整数 组成的 非空 数组所表示的非负整数&#xff0c;在该数的基础上加一。 最高位数字存放在数组的首位&#xff0c; 数组中每个元素只存储单个数字。 你可以假设除了整数 0 之外&#xff0c;这个整数不会以零开头。 示例 1&#xff1a; 输入&#xff…...

UI自动化之Poco常用断言方式

实际上用到的几种写断言的方式&#xff1a; 1.验证UI界面&#xff08;断言图片是否存在&#xff0c;UI页面不稳定情况下&#xff0c;图片识别效率不高&#xff09; assert_exists assert_not_exists 2.验证数值&#xff08;断言传入的两个值(数字或者string)是否相等&#xff…...

c语言_实现类class的功能 实例

c语言_实现类class的功能 实例 1.需求与背景2.实例1.类的头文件 class_A.h2.类的实现 class_A.c3.引用4.编译与运行 3.总结 1.需求与背景 使用C , python语言久了, 发现 类 class写代码逻辑更方便, 简洁. 封装的API更加易用; 内核代码中, 也经常看到类似类的封装. 自己尝试实现…...

[2024]常用的pip指令

[2024]常用的pip指令 HI&#xff0c;这里是肆十二&#xff0c;好久不见&#xff0c;大家&#xff01; 新年好&#xff01; pip是Python的包管理工具&#xff0c;它可以用来安装、升级、卸载Python包。以下是一些常用的pip指令&#xff1a; 安装包&#xff1a; bash复制代码…...

【Java EE初阶十二】网络编程TCP/IP协议(二)

1. 关于TCP 1.1 TCP 的socket api tcp的socket api和U大片的socket api差异很大&#xff0c;但是和前面所讲的文件操作很密切的联系 下面主要讲解两个关键的类&#xff1a; 1、ServerSocket&#xff1a;给服务器使用的类&#xff0c;使用这个类来绑定端口号 2、Socket&#xf…...

Idea Git Review插件

idea git plugin 添加了一些常用的小插件 可以右键打开git bash窗口 可以右键选中文字点击baidu fanyi 可以通过搜索git用户名 指定开始时间查询某个版本自己提交的所有代码文件 可以通过点击蓝色行数&#xff0c;跳转到指定的改动代码块 资源地址&#xff1a; git-pl…...

python的turtle可以定义多个海龟对象

import turtle as t t.color(purple) t.right(10) t.fd(100) t1 t.Turtle() #t1.color(red) t1.left(10) t1.fd(100) t2 t.Turtle() #t2.color(green) t2.left(20) t2.fd(100) t3 t.Turtle() #t3.color(blue) t3.left(30) t3.fd(100) python的turtle可以定义多个海龟对象…...

LocalAI 部署(主要针对 mac m2 启动)

LocalAI 部署 介绍 LocalAI 是免费的开源 OpenAI 替代方案。 LocalAI 充当 REST API 的直接替代品&#xff0c;与本地推理的 OpenAI API 规范兼容。 它无需 GPU&#xff0c;还有多种用途集成&#xff0c;允许您使用消费级硬件在本地或本地运行 LLM、生成图像、音频等等&#…...

Swift Combine 管道 从入门到精通三

Combine 系列 Swift Combine 从入门到精通一Swift Combine 发布者订阅者操作者 从入门到精通二 1. 用弹珠图描述管道 函数响应式编程的管道可能难以理解。 发布者生成和发送数据&#xff0c;操作符对该数据做出响应并有可能更改它&#xff0c;订阅者请求并接收这些数据。 这…...

【RISC-V DSP设计】基于CEVA DSP架构的指令集分析(二)-函数列表

目录 表3-1&#xff1a;定点滤波器功能 表3-2&#xff1a;定点快速傅里叶变换&#xff08;FFT&#xff09;函数 表3-3&#xff1a;定点数学函数 表3-4&#xff1a;定点三角函数 表3-5&#xff1a;定点向量函数 表3-6&#xff1a;定点矩阵函数 表3-7&#xff1a;浮点滤波…...

蓝桥杯(Web大学组)2022国赛真题:水果消消乐

思路&#xff1a; 记录点击次数&#xff0c;点击次数为1时&#xff0c;记录点击下标&#xff08;用于隐藏or消除&#xff09;、点击种类&#xff0c;点击次数为2时&#xff0c;判断该下标所对应种类与第一次是否相同 相同&#xff1a;两个都visibility:hidden &#xff08;占…...

LeetCode--代码详解 155.最小栈

155.最小栈 题目 设计一个支持 push &#xff0c;pop &#xff0c;top 操作&#xff0c;并能在常数时间内检索到最小元素的栈。 实现 MinStack 类: MinStack() 初始化堆栈对象。void push(int val) 将元素val推入堆栈。void pop() 删除堆栈顶部的元素。int top() 获取堆栈顶…...

第6讲后端鉴权拦截器实现

后端鉴权拦截器实现 package com.java1234.interceptor;import com.java1234.util.JwtUtils; import com.java1234.util.StringUtil; import io.jsonwebtoken.Claims; import org.springframework.web.method.HandlerMethod; import org.springframework.web.servlet.HandlerI…...

uniapp从入门到进阶

一、了解uniapp 跨平台开发&#xff1a;Uniapp可以同时开发多个平台的应用&#xff0c;只需编写一套代码即可。开发者可以通过编写Vue组件来构建界面&#xff0c;通过编写JavaScript代码来实现业务逻辑。 页面和组件&#xff1a;Uniapp的页面和组件都是基于Vue组件的&#xff…...

CDN缓存404、403状态码

可以参考一下&#xff1a;浏览器缓存和 CDN 在前端的落地 事故记录&#xff1a; 前端发版时存在新旧两个容器&#xff0c;在资源替换的间隙&#xff0c;用户请求到的肯定是新容器的html文件&#xff0c;但是根据新容器的html向新静态资源发起请求&#xff0c;此时旧容器还没有…...

【Python网络编程之DHCP服务器】

&#x1f680; 作者 &#xff1a;“码上有前” &#x1f680; 文章简介 &#xff1a;Python开发技术 &#x1f680; 欢迎小伙伴们 点赞&#x1f44d;、收藏⭐、留言&#x1f4ac; Python网络编程之DHCP服务器 代码见资源&#xff0c;效果图如下一、实验要求二、协议原理2.1 D…...

【MySQL】:深入理解并掌握DML和DCL

&#x1f3a5; 屿小夏 &#xff1a; 个人主页 &#x1f525;个人专栏 &#xff1a; MySQL从入门到进阶 &#x1f304; 莫道桑榆晚&#xff0c;为霞尚满天&#xff01; 文章目录 &#x1f4d1;前言一. DML1.1 添加数据1.2 修改数据1.3 删除数据 二. DCL2.1 管理用户2.2 权限控制…...

CSP-动态规划-最长公共子序列(LCS)

一、动态规划 动态规划&#xff08;Dynamic Programming&#xff0c;简称DP&#xff09;主要用于求解可以被分解为相似子问题的复杂问题&#xff0c;特别是在优化问题上表现出色&#xff0c;如最短路径、最大子数组和、编辑距离等。动态规划的核心思想是将原问题分解为较小的子…...

安装nodejs2011并配置npm仓库

1. 安装nodejs 选择2011版本下载 在安装目录(个人情况)下 D:\Program Files\nodejs2011创建2个文件夹&#xff1a; node_global &#xff08;依赖库&#xff09; node_cache &#xff08;缓存&#xff09; 然后在当前目录下cmd进入dos窗口&#xff0c;执行&#xff1a; npm c…...

排序C++代码(已更:快速排序,归并排序)

一、快速排序 #include<iostream> using namespace std;//设定三个数组&#xff0c;判断排序算法代码的正确性 int a[100]{3,4,2,6,9,7,1,0,1,2,3,3,5,6,7,8,3,4,5}; int b[100]{1,5,3,4}; int c[100]{7,8,9,1,2,3};void quickSort(int* num,int l,int r){if(l>r) re…...

CentOS 7.9安装Tesla M4驱动、CUDA和cuDNN

正文共&#xff1a;1333 字 21 图&#xff0c;预估阅读时间&#xff1a;2 分钟 上次我们在Windows上尝试用Tesla M4配置深度学习环境&#xff08;TensorFlow识别GPU难道就这么难吗&#xff1f;还是我的GPU有问题&#xff1f;&#xff09;&#xff0c;但是失败了。考虑到Windows…...

Java设计模式——策略

前言 策略模式是平时Java开发中常用的一种&#xff0c;虽然已有很多讲解设计模式的文章&#xff0c;但是这里还是写篇文章来从自己理解的角度讲解一下。 使用场景 我们不妨进行场景假设&#xff0c;要对我们的软件进行授权管理&#xff1a;在启动我们的软件之前先要校验是否…...

线性代数的本质 1 向量

向量是线性代数中最为基础的概念。 何为向量&#xff1f; 从物理上看&#xff0c; 向量就是既有大小又有方向的量&#xff0c;只要这两者一定&#xff0c;就可以在空间中随便移动。 从计算机应用的角度看&#xff0c;向量和列表很接近&#xff0c;可以用来描述某对象的几个不同…...

基于JAVA的贫困地区人口信息管理系统 开源项目

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 人口信息管理模块2.2 精准扶贫管理模块2.3 特殊群体管理模块2.4 案件信息管理模块2.5 物资补助模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 人口表3.2.2 扶贫表3.2.3 特殊群体表3.2.4 案件表3.2.5 物资补助表 四…...

【后端高频面试题--Mybatis篇】

&#x1f680; 作者 &#xff1a;“码上有前” &#x1f680; 文章简介 &#xff1a;后端高频面试题 &#x1f680; 欢迎小伙伴们 点赞&#x1f44d;、收藏⭐、留言&#x1f4ac; 后端高频面试题--Mybatis篇 什么是Mybatis&#xff1f;Mybatis的优缺点&#xff1f;Mybatis的特点…...

【笔记】Helm-5 Chart模板指南-12 .helmignore文件

.helmignore文件 .helmignore文件用来指定您不想包含在您的helm chart中的文件。 如果该文件存在&#xff0c;helm package命令会在打包应用时忽略所有在.helmignore文件中匹配的文件。 有助于避免不需要的或敏感文件及目录添加到您的helm chart中。 .helmignore文件支持Uni…...

【MySQL】表的增删改查(基础)

MySQL表的增删改查&#xff08;基础&#xff09; 1. CRUD2. 新增&#xff08;Create&#xff09;2.1 单行数据全列插入2.2 多行数据 指定列插入 3. 查询&#xff08;Retrieve&#xff09;3.1 全列查询3.2 指定列查询3.3 查询字段为表达式3.4 别名3.5 去重&#xff1a;DISTINCT…...

Android矩阵Matrix动画缩放Bitmap移动手指触点到ImageView中心位置,Kotlin

Android矩阵Matrix动画缩放Bitmap移动手指触点到ImageView中心位置&#xff0c;Kotlin 借鉴 Android双指缩放ScaleGestureDetector检测放大因子大图移动到双指中心点ImageView区域中心&#xff0c;Kotlin&#xff08;2&#xff09;-CSDN博客 在此基础上实现手指在屏幕上点击后&…...

C语言:表达式求值

引言&#xff1a;在笔试中&#xff0c;有一类的题目&#xff0c;题目给出代码&#xff0c;要求分析得出输出结果。这类题目更加考察我们对于运算顺序和运算类型转换的理解。文章介绍了隐式类型转换和操作符注意点&#xff0c;希望增加读者对于表达式求值的理解。 1.隐式类型转…...

GO 的 Web 开发系列(五)—— 使用 Swagger 生成一份好看的接口文档

经过前面的文章&#xff0c;已经完成了 Web 系统基础功能的搭建&#xff0c;也实现了 API 接口、HTML 模板渲染等功能。接下来要做的就是使用 Swagger 工具&#xff0c;为这些 Api 接口生成一份好看的接口文档。 一、写注释 注释是 Swagger 的灵魂&#xff0c;Swagger 是通过…...

【极数系列】Flink集成KafkaSink 实时输出数据(11)

文章目录 01 引言02 连接器依赖2.1 kafka连接器依赖2.2 base基础依赖 03 使用方法04 序列化器05 指标监控06 项目源码实战6.1 包结构6.2 pom.xml依赖6.3 配置文件6.4 创建sink作业 01 引言 KafkaSink 可将数据流写入一个或多个 Kafka topic 实战源码地址,一键下载可用&#xf…...

我为什么选择Xamarin开发ios app安卓app

临岁之寒简书作者,转载 Xamarin是一项跨平台开发技术&#xff0c;之前是收费的&#xff0c;而且据说收费不菲&#xff0c;所以使用的人数比较少&#xff0c;在国内几乎无人问津。后来Xamarin被微软收购&#xff0c;现已免费开放&#xff0c;相信今后国内的使用人群会大幅地增长…...

安全基础~通用漏洞4

文章目录 知识补充XSS跨站脚本**原理****攻击类型**XSS-后台植入Cookie&表单劫持XSS-Flash钓鱼配合MSF捆绑上线ctfshow XSS靶场练习 知识补充 SQL注入小迪讲解 文件上传小迪讲解 文件上传中间件解析 XSS跨站脚本 xss平台&#xff1a; https://xss.pt/ 原理 恶意攻击者…...

2024/2/12 图的基础知识 2

目录 查找文献 P5318 【深基18.例3】查找文献 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 有向图的拓扑序列 848. 有向图的拓扑序列 - AcWing题库 最大食物链计数 P4017 最大食物链计数 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 查找文献 P5318 【深基18.例3】…...

无人机飞行原理,多旋翼无人机飞行原理详解

多旋翼无人机升空飞行的首要条件是动力&#xff0c;有了动力才能驱动旋粪旋转&#xff0c;才能产生克服重力所必需的升力。使旋翼产生升力&#xff0c;进而推动多旋翼无人机升空飞行的一套设备装置称为动力装置&#xff0c;包括多旋翼无人机的发动机以及保证发动机正常工作所必…...

docker本地目录挂载

小命令 1、查看容器详情 docker inspect 容器名称 还是以nginx为例&#xff0c;上篇文章我们制作了nginx静态目录的数据卷&#xff0c;此时查看nginx容器时会展示出来&#xff08;docker inspect nginx 展示信息太多&#xff0c;这里只截图数据卷挂载信息&#xff09;&#…...