王者荣耀达摩英雄双大代码推测

  今天中午吃饭时,由于室友煜哥问我王者荣耀游戏中达摩的双大可能是怎样的代码,我由于毕业论文的事很苦恼,便不耐烦的敷衍了几句。事后再回想颇为羞愧,一点都没有耐心去听别人讲话。心情不好便不想说话,自我封闭,这点需要改正。多希望能泰山崩于前而面不改色。胸有激雷而面如平湖者,可拜上将军!

  当时我说只要敌人上墙就会触发刷新,所以有双打。之后又说第二段大招不属于刷新,属于第一段上墙后触发。很显然是自相矛盾,当时还不以为意,觉得自己很在理,无视煜哥反驳。

  以下是自我猜测的可以实现双大的代码,花费了一下午,毫无意义,游戏设计感觉应该是面向对象的,仅作个人纪念罢了

  虽说于他人而言毫无意义,但在自我思考过程中对代码的逻辑性有了些许深入的思考,对自己以后写代码或许有所帮助。

flag = 1
冷却时间 = 0

def button_on():
    # 判断是第一段还是第二段 用flag=1或2判断
    if flag == 1:
        击退()
        cd = 30
    else:
        自己位移()
        flag = 1
        cd = 30

    # 假定击退是给敌人一个速度,然后技能有个持续时间,在这个时间内敌人会以这个速度移动
    # 当然抵抗鞋或许会影响速度和时间,此处不做讨论        
def 击退():
    敌人们 = 获取判定范围内敌人()
    for 敌人 in 敌人们:
        if 敌人的状态可被击退:
            计算路径()
            强制位移()
            if 能上墙:
                计算上墙时间()  #计算出n毫秒后后上墙
                flag = 2
                计时器()            #在n毫秒后触发

def 计时器():
    cd = 0
    倒计时()            #二段大招倒计时 

 


 

posted @ 2022-05-15 15:01  Just_Now  阅读(184)  评论(0编辑  收藏  举报