JavaScript is required to use Bungie.net

《命运2》

讨论与《命运2》有关的一切。
10/2/2018 3:27:11 PM
4

Best Strategy for Picture Puzzles (Last Wish raid)

Guardians, I have tried to find the best strategy to follow to minimize communication during Picture Puzzle part of Shuro Chi fight. Basically, I was looking for a strategy that would use only 4 players and would minimize the chance of wipe due to guardians standing on the same plate. So, I had to check about 13K such possible strategies against 2M possible picture outcomes (assumed here that missing pieces are drawn completely random from 9 available picture parts) My evaluation resulted in the following strategy to be the winner: [[1, 3, 1], [2, 4, 2], [3, 1, 3], [4, 2, 4]] Meaning first player goes to 1st missing piece, then 3rd and then back to 1st. Here we enumerate missing pieces starting from the top row and then going right. My results say that this strategy should work in 5 puzzle room encounters out of 6. Meaning complete fight following this strategy should be doable with 70% success rate. Even if you wipe due to that strategy not working - repeating it 4 times should guarantee completion. So, I was wondering if someone could test it and give me some feedback on how viable it is. Thank you. PS: Here is quick python script I used to do evaluation: import copy from itertools import combinations def makePlayerStrat(): strats = [] possiblePositions = [1,2,3,4] for p1t1Place in possiblePositions: possiblePositions2t1 = copy.deepcopy(possiblePositions); possiblePositions2t1.remove(p1t1Place) for p2t1Place in possiblePositions2t1: possiblePositions3t1 = copy.deepcopy(possiblePositions2t1); possiblePositions3t1.remove(p2t1Place) for p3t1Place in possiblePositions3t1: possiblePositions4t1 = copy.deepcopy(possiblePositions3t1); possiblePositions4t1.remove(p3t1Place) for p4t1Place in possiblePositions4t1: for p1t2Place in possiblePositions: possiblePositions2t2 = copy.deepcopy(possiblePositions); possiblePositions2t2.remove(p1t2Place) for p2t2Place in possiblePositions2t2: possiblePositions3t2 = copy.deepcopy(possiblePositions2t2); possiblePositions3t2.remove(p2t2Place) for p3t2Place in possiblePositions3t2: possiblePositions4t2 = copy.deepcopy(possiblePositions3t2); possiblePositions4t2.remove(p3t2Place) for p4t2Place in possiblePositions4t2: for p1t3Place in possiblePositions: possiblePositions2t3 = copy.deepcopy(possiblePositions); possiblePositions2t3.remove(p1t3Place) for p2t3Place in possiblePositions2t3: possiblePositions3t3 = copy.deepcopy(possiblePositions2t3); possiblePositions3t3.remove(p2t3Place) for p3t3Place in possiblePositions3t3: possiblePositions4t3 = copy.deepcopy(possiblePositions3t3); possiblePositions4t3.remove(p3t3Place) for p4t3Place in possiblePositions4t3: strats.append([[p1t1Place,p1t2Place,p1t3Place],[p2t1Place,p2t2Place,p2t3Place],[p3t1Place,p3t2Place,p3t3Place],[p4t1Place,p4t2Place,p4t3Place]]) return strats def makeMissingPictures(): shapes1 = combinations([1,2,3,4,5,6,7,8,9],4) shapes2 = combinations([1,2,3,4,5,6,7,8,9],4) shapes3 = combinations([1,2,3,4,5,6,7,8,9],4) shapeList1 = list(shapes1) shapeList2 = list(shapes2) shapeList3 = list(shapes3) scenarios=[] for t1 in shapeList1: for t2 in shapeList2: for t3 in shapeList3: scenarios.append([[t1[0],t2[0],t3[0]],[t1[1],t2[1],t3[1]],[t1[2],t2[2],t3[2]],[t1[3],t2[3],t3[3]]]) print scenarios[1], len(scenarios) return scenarios def findBestStrategy(strats, scenarioData): bestStrategy = [] bestStrategyCnt = 999999999999999999999; countStrats = 0; for strat in strats: cntBadCase =0; countStrats+=1 for scenario in scenarioData: failed = 0; for player in [0,1,2,3]: if (scenario[strat[player][0]-1][0]==scenario[strat[player][1]-1][1] or scenario[strat[player][1]-1][1]==scenario[strat[player][2]-1][2]): failed=1 if (failed==1): cntBadCase+=1 if (cntBadCase < bestStrategyCnt): bestStrategyCnt = cntBadCase bestStrategy=copy.deepcopy(strat) print countStrats, 1.0*countStrats/len(strats),cntBadCase, 1.0*cntBadCase/len(scenarioData),bestStrategy print bestStrategy return bestStrategy[:] myStrats = makePlayerStrat() print myStrats[0:2], len(myStrats) scenarioData=makeMissingPictures() findBestStrategy(myStrats, scenarioData)

发贴语言:

 

遵守游戏礼仪。发送贴子前请花点时间阅读我们的行为准则 取消 编辑 创建火力战队 贴子

查看完整话题
你没有权限查看此内容。
;
preload icon
preload icon
preload icon