一个游戏中很常见的找路径问题,请各位算法大神帮忙 - V2EX
badbye

一个游戏中很常见的找路径问题,请各位算法大神帮忙

  •  
  •   badbye Jan 6, 2023 2016 views
    This topic created in 1222 days ago, the information mentioned may be changed or developed.
    想在战棋游戏中实现类似 dota 中宙斯的弧形闪电技能:释放一道会跳跃穿越附近敌人的闪电。

    像 dota 这样实时的游戏,有可能宙斯释放技能时,目标的队友会走位离开闪电的跳跃范围,所以猜想的实现方式是递归寻找范围内的目标,找到一个就直接跳过去。

    但在战棋游戏中,回合行动时,其他人的位置是固定的,所以应该能找到一条路径,尽可能的电到最多敌人。

    在图中从一个顶点出发,找到一条能经过最多顶点数的最长路径,顶点不可重复,不知道这样描述是否清晰。
    11 replies    2023-01-06 18:15:35 +08:00
    MeiJM
        1
    MeiJM  
       Jan 6, 2023 via Android
    不是动态障碍物 a*就可以 还有其他算法 可以搜一下路径规划
    MeiJM
        2
    MeiJM  
       Jan 6, 2023 via Android
    你这个有点不一样 要先算结束位置再匹配哪个路径可达
    takato
        3
    takato  
       Jan 6, 2023
    想到一个需要补充的点,如果弹跳范围内有两个可选的点,它会根据特定的规则寻找点还是随机选择一个?两个不同的选项可能影响最终结果。
    rrfeng
        4
    rrfeng  
       Jan 6, 2023
    棋盘上随机放置了 N 个棋子。

    从 A 棋子开始,跳转到任意相邻的棋子,重复此过程,求最长路径。
    badbye
        5
    badbye  
    OP
       Jan 6, 2023
    @MeiJM A*我一直以为需要有个终点
    badbye
        6
    badbye  
    OP
       Jan 6, 2023
    @takato 我这一个带 bug 的实现是都走完然后选最长的
    elmagnificogg
        7
    elmagnificogg  
       Jan 6, 2023
    GuardX
        8
    GuardX  
       Jan 6, 2023
    有点类似哈密尔顿通路?
    elmagnificogg
        9
    elmagnificogg  
       Jan 6, 2023
    或者求 极大连通子图 结果应该就是你想要的
    badbye
        10
    badbye  
    OP
       Jan 6, 2023
    @elmagnificogg 是的,看了一些算法,大多是输出最大的长度,而不是完整的路径,修改的时候脑子就不够用,有些算法根本不能改成路径
    MeiJM
        11
    MeiJM  
       Jan 6, 2023 via Android
    @assiadamo 是需要结束点 所以要查找所有结束点 再检验哪个点可达
    About     Help     Advertise     Blog     API     FAQ     Solana     5781 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 41ms UTC 02:42 PVG 10:42 LAX 19:42 JFK 22:42
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86