当前位置: 首页>>代码示例>>Python>>正文


Python Helper.munpack方法代码示例

本文整理汇总了Python中Helper.munpack方法的典型用法代码示例。如果您正苦于以下问题:Python Helper.munpack方法的具体用法?Python Helper.munpack怎么用?Python Helper.munpack使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Helper的用法示例。


在下文中一共展示了Helper.munpack方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: findGoodFloors

# 需要导入模块: import Helper [as 别名]
# 或者: from Helper import munpack [as 别名]
  def findGoodFloors(self):
    good_floors=[]
    for gsx, gsy in self.zfl:     # für jedes Zielfeld...
      pgdpt=[hlp.ppack(gsx, gsy)] # ...eine Box drauf setzen
      rlst=self.__pullableBordersForSingleBox(gsx, gsy) # mögliche inverse Züge bestimmen
      # rlst kann 0 bis 4 Elemente enthalten
      for p in rlst:
        pgdpt=[hlp.ppack(gsx, gsy)] # neu setzen, weil pgdpt von __findGoodFloorsForSingleBox geändert wird
        good_floors=self.__findGoodFloorsForSingleBox(pgdpt, p, self.pp, good_floors)

    rc=[]
    for i in good_floors:     # aus der Liste mit Pulls eine Liste von Floors machen
      (dp, d)=hlp.munpack(i)
      if dp not in rc:
        rc.append(dp)
    return(rc)
开发者ID:dede67,项目名称:sokoban,代码行数:18,代码来源:SokoGoodFloors.py

示例2: __findGoodFloorsForSingleBox

# 需要导入模块: import Helper [as 别名]
# 或者: from Helper import munpack [as 别名]
  def __findGoodFloorsForSingleBox(self, pgdp, pull, pp, good_floors):
    bp=hlp.punpack(pgdp[0])   # derzeitige Box-Position(ungepackt) - ist ja nur eine drin
    dp, d=hlp.munpack(pull)   # Box-Ziel-Position (ungepackt)

    if hlp.mpack(bp, d) in good_floors: # wenn Pull schon ausgeführt wurde...
      return(good_floors)               # ...langt das

    if self.__testPlayerWayToPos(pp, dp, bp)==True: # wenn der Player die Pull-Position erreichen kann...
      pp=dp                                         # ...dann kann die Player-Pos auf Pull-Pos gesetzt werden
      good_floors.append(hlp.mpack(bp, d))          # ...und der Pull als gut und ausgeführt vermerkt werden

      rc, pp=self.sm.inverseMovePlayer(self.pgs, pgdp, pp, d) # Zug gemäß "pull" ausführen
      bp=hlp.punpack(pgdp[0])                                 # ggf. geänderte Box-Position holen
      rlst=self.__pullableBordersForSingleBox(bp[0], bp[1])   # mögliche Folge-Pulls ermitteln

      for p in rlst:          # über alle Folge-Pulls
        pgdpt=[pgdp[0]]       # neu setzen, weil pgdpt von __findGoodFloorsForSingleBox geändert wird
        good_floors=self.__findGoodFloorsForSingleBox(pgdpt, p, pp, good_floors)
    return(good_floors)
开发者ID:dede67,项目名称:sokoban,代码行数:21,代码来源:SokoGoodFloors.py


注:本文中的Helper.munpack方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。