本文整理汇总了Python中Helper.copyList方法的典型用法代码示例。如果您正苦于以下问题:Python Helper.copyList方法的具体用法?Python Helper.copyList怎么用?Python Helper.copyList使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Helper
的用法示例。
在下文中一共展示了Helper.copyList方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: autoSolveProcessMoveList
# 需要导入模块: import Helper [as 别名]
# 或者: from Helper import copyList [as 别名]
def autoSolveProcessMoveList(self, lst, gnas_inv_idx):
t=time.clock()
i=0
lenlst=len(lst)
for i in range(lenlst): # über alle Lösungs-Strings...
rc, keyseq=self.autoSolveProcessOneMoveString(lst[i], gnas_inv_idx) # ...spiele aktuellen Lösungs-String
if self.autosolveActive==False: # wenn von Extern ein Abbruch angemeldet wurde...
return(-1) # ...abbrechen
if (i%1000)==0: # alle 1000 Durchläufe...
self.numberOfGamesToTest=len(lst) # ...Fortschritts-Infos ablegen
self.numberOfTestsDone=i
self.dictLen=len(self.gnas)
self.count+=1
lst[i]=keyseq
if rc==0: # wenn es einen illegalen oder unsinnigen Zug enthält...
self.killed+=1
lst[i]="-" # ...String zum Löschen vormerken.
elif rc==1: # wenn es ein legaler Zug war, der noch nicht die Lösung ist...
if (t+0.25)<time.clock(): # ...dann jede 1/4 Sekunde...
self.pg_dynp_ss=hlp.copyList(self.pg_dynp) # aktuelle Spielfeld merken
self.playerpos_ss=self.playerpos
t=time.clock()
elif rc==2: # wenn es eine Lösung war...
return(i) # ...Index in "lst" zurückliefern.
return(-1)
示例2: processKeys
# 需要导入模块: import Helper [as 别名]
# 或者: from Helper import copyList [as 别名]
def processKeys(self, key, ctrl):
move=-1
if key==wx.WXK_LEFT: # links
move=0
elif key==wx.WXK_RIGHT: # rechts
move=1
elif key==wx.WXK_UP: # hoch
move=2
elif key==wx.WXK_DOWN: # runter
move=3
elif key==wx.WXK_F5: # refresh
self.clearDC=True
if move>-1:
pg_stat, pg_dynp, playerpos=self.convertPlayground(self.playground, self.pg_size)
pg_dynp_backup=hlp.copyList(pg_dynp)
rc, playerpos=self.sm.inverseMovePlayer(pg_stat, pg_dynp, playerpos, move)
if ctrl==False:
pg_dynp=hlp.copyList(pg_dynp_backup)
self.playground=self.reconvertPlayground(pg_stat, self.pg_size, pg_dynp, playerpos)
self.paint()
示例3: startSolver
# 需要导入模块: import Helper [as 别名]
# 或者: from Helper import copyList [as 别名]
def startSolver(self):
self.worker=threading.Thread(target=self.__runAsThread, name="SokoSolver")
self.worker.setDaemon(True)
self.autosolveActive=True
self.solution=""
self.isRunning=True
self.count=0
self.killed=0
self.keyLength=0
self.numberOfTestsDone=0
self.numberOfGamesToTest=0
self.dictLen=0
self.playerpos_ss=self.playerpos
self.pg_dynp_ss=hlp.copyList(self.pg_dynp)
self.worker.start()
示例4: load
# 需要导入模块: import Helper [as 别名]
# 或者: from Helper import copyList [as 别名]
def load(self, gn):
self.finalMessageDisplayed=False
g=self.file.loadGame(gn)
if g!=[]:
self.file_title=self.file.getFileTitle()
self.game_number=gn
self.game_title=self.file.getGameTitle(gn)
self.pg_stat, self.pg_schk, self.pg_dof, self.size, self.pg_dynp, self.pg_zfl, self.playerpos, self.playground_raw=self.prep.importPlayground(g)
self.pg_dynp_backup=hlp.copyList(self.pg_dynp)
self.playerpos_backup=self.playerpos
self.warning=len(self.pg_dynp)!=len(self.pg_zfl) # ist True, wenn die Anzahl der Boxen != der Anzahl der Zielfelder ist
self.game_md5=self.prep.getMD5(self.playground_raw)
self.clearDC=True
self.paint()
self.saveConfig()
self.keyseq=""
self.isDeadList=[]
self.solutionUpdate()
else:
wx.MessageBox('Illegal playground !\n\nUse File/Open/... to select another game.', 'Error', wx.OK | wx.ICON_ERROR)
self.__StatusUpdate()
示例5: __runAsThread
# 需要导入模块: import Helper [as 别名]
# 或者: from Helper import copyList [as 别名]
def __runAsThread(self):
sl=[[""], []]
i=0
self.gnas_inv[i].update({"":self.hashable(self.playerpos, self.pg_dynp)})
for s in range(1000): # alle Spiele mit bis zu 1000 Zügen testen
self.keyLength=s
# jede der alten Zugfolgen, die nicht zum Löschen vorgemerkt wurden, um
# die vier möglichen Bewegungen verlängern.
for a in range(len(sl[i])): # über alle bisherigen Bewegungs-Strings
o=sl[i][a] # aktuelle Zugfolge holen
if o!="-": # wenn Zugfolge nicht zum Löschen vorgemerkt...
for m in ["l", "r", "u", "d"]: # ...einen weiteren Zug anhängen
sl[i^1].append(o+m) # ...und in neuer Liste ablegen
sl[i]=[] # die alte Liste wird nun nicht mehr benötigt
i^=1 # Liste für die neuen Bewegungs-Strings togglen
self.gnas_inv[i].clear()
self.numberOfGamesToTest=len(sl[i])
self.dictLen=len(self.gnas)
# Alle Bewegungs-Strings in sl[j] durchspielen.
sol=self.autoSolveProcessMoveList(sl[i], i) # in i^1 ist die gnas_inv mit den "alten" Daten
if sol>-1: # wenn sl[i] eine Lösung enthält...
self.solution=sl[i][sol]
self.pg_dynp_ss=hlp.copyList(self.pg_dynp)
self.playerpos_ss=self.playerpos
self.isRunning=False
return
if self.autosolveActive==False: # wenn von Extern ein Abbruch angemeldet wurde...
break # ...abbrechen
self.isRunning=False
示例6: resetGame
# 需要导入模块: import Helper [as 别名]
# 或者: from Helper import copyList [as 别名]
def resetGame(self):
self.pg_dynp=hlp.copyList(self.pg_dynp_backup)
self.playerpos=self.playerpos_backup