How to use __copy__ method in autotest

Best Python code snippet using autotest_python

HeavyABPlayer.py

Source:HeavyABPlayer.py Github

copy

Full Screen

...78 # TODO: add here the utility, succ, and perform_move functions used in AlphaBeta algorithm79 def succ_phase1_player(self, state):80 states = []81 soldier_to_place = 9 - state.playerSoldiersToPlace82 save_state_pre_dir = state.__copy__()83 for pos in range(24):84 if state.board[pos] == 0:85 state.board[pos] = 186 state.playerPositions[soldier_to_place] = pos87 state.playerSoldiersToPlace -= 188 state.playerSoldiersRemaining += 189 if self.is_mill(position=pos, board=state.board):90 save_state_pre_kill = state.__copy__()91 for rival in range(9 - state.rivalSoldiersToPlace):92 if state.rivalPositions[rival] >= 0:93 tmp = state.rivalPositions[rival]94 state.board[tmp] = 095 state.rivalPositions[rival] = -296 state.rivalSoldiersRemaining -= 197 if state.direction is None:98 state.direction = (pos, soldier_to_place, tmp)99 state.playerIncompleteMills, state.playerAvailableMoves, state.rivalIncompleteMills, \100 state.rivalAvailableMoves = self.moves_and_incomp_mills_calc(state=state)101 states.append(state.__copy__())102 state = save_state_pre_kill.__copy__()103 else:104 if state.direction is None:105 state.direction = (pos, soldier_to_place, -1)106 state.playerIncompleteMills, state.playerAvailableMoves, state.rivalIncompleteMills, \107 state.rivalAvailableMoves = self.moves_and_incomp_mills_calc(state=state)108 states.append(state.__copy__())109 state = save_state_pre_dir.__copy__()110 return states111 def succ_phase1_rival(self, state):112 states = []113 soldier_to_place = np.where(state.rivalPositions == -1)114 save_state_pre_dir = state.__copy__()115 for pos in range(24):116 if state.board[pos] == 0:117 state.board[pos] = 2118 state.rivalPositions[soldier_to_place] = pos119 state.rivalSoldiersToPlace -= 1120 state.rivalSoldiersRemaining += 1121 if self.is_mill(pos, state.board):122 save_state_pre_kill = state.__copy__()123 for player in range(9 - state.playerSoldiersToPlace):124 if state.playerPositions[player] >= 0:125 tmp = state.playerPositions[player]126 state.board[tmp] = 0127 state.playerPositions[player] = -2128 state.playerSoldiersRemaining -= 1129 if state.direction is None:130 state.direction = (pos, soldier_to_place, tmp)131 state.playerIncompleteMills, state.playerAvailableMoves, state.rivalIncompleteMills, \132 state.rivalAvailableMoves = self.moves_and_incomp_mills_calc(state=state)133 states.append(state.__copy__())134 state = save_state_pre_kill.__copy__()135 else:136 if state.direction is None:137 state.direction = (pos, soldier_to_place, -1)138 state.playerIncompleteMills, state.playerAvailableMoves, state.rivalIncompleteMills, \139 state.rivalAvailableMoves = self.moves_and_incomp_mills_calc(state=state)140 states.append(state.__copy__())141 state = save_state_pre_dir.__copy__()142 return states143 def succ_phase2_player(self, state):144 states = []145 save_state_pre_sold = state.__copy__()146 for soldier in range(9):147 soldier_pos = state.playerPositions[soldier]148 if soldier_pos >= 0:149 save_state_pre_dir = state.__copy__()150 for pos in self.directions(soldier_pos):151 if state.board[pos] == 0:152 state.playerPositions[soldier] = pos153 state.board[soldier_pos] = 0154 state.board[pos] = 1155 if self.is_mill(pos, state.board):156 save_state_pre_kill = state.__copy__()157 for rival in range(9 - state.rivalSoldiersToPlace):158 if state.rivalPositions[rival] >= 0:159 tmp = state.rivalPositions[rival]160 state.board[tmp] = 0161 state.rivalPositions[rival] = -2162 state.rivalSoldiersRemaining -= 1163 if state.direction is None:164 state.direction = (pos, soldier, tmp)165 state.playerIncompleteMills, state.playerAvailableMoves, \166 state.rivalIncompleteMills, state.rivalAvailableMoves = \167 self.moves_and_incomp_mills_calc(state=state)168 states.append(state.__copy__())169 state = save_state_pre_kill.__copy__()170 else:171 if state.direction is None:172 state.direction = (pos, soldier, -1)173 state.playerIncompleteMills, state.playerAvailableMoves, \174 state.rivalIncompleteMills, state.rivalAvailableMoves = \175 self.moves_and_incomp_mills_calc(state=state)176 states.append(state.__copy__())177 state = save_state_pre_dir.__copy__()178 state = save_state_pre_sold.__copy__()179 return states180 def succ_phase2_rival(self, state):181 states = []182 save_state_pre_sold = state.__copy__()183 for soldier in range(9):184 soldier_pos = state.rivalPositions[soldier]185 if soldier_pos >= 0:186 save_state_pre_dir = state.__copy__()187 for pos in self.directions(soldier_pos):188 if state.board[pos] == 0:189 state.rivalPositions[soldier] = pos190 state.board[soldier_pos] = 0191 state.board[pos] = 2192 if self.is_mill(pos, state.board):193 save_state_pre_kill = state.__copy__()194 for player in range(9 - state.playerSoldiersToPlace):195 if state.playerPositions[player] >= 0:196 tmp = state.playerPositions[player]197 state.board[tmp] = 0198 state.playerPositions[player] = -2199 state.playerSoldiersRemaining -= 1200 if state.direction is None:201 state.direction = (pos, soldier, tmp)202 state.playerIncompleteMills, state.playerAvailableMoves, \203 state.rivalIncompleteMills, state.rivalAvailableMoves = \204 self.moves_and_incomp_mills_calc(state=state)205 states.append(state.__copy__())206 state = save_state_pre_kill.__copy__()207 else:208 if state.direction is None:209 state.direction = (pos, soldier, -1)210 state.playerIncompleteMills, state.playerAvailableMoves, \211 state.rivalIncompleteMills, state.rivalAvailableMoves = \212 self.moves_and_incomp_mills_calc(state=state)213 states.append(state.__copy__())214 state = save_state_pre_dir.__copy__()215 state = save_state_pre_sold.__copy__()216 return states217 ########## helper functions for AlphaBeta algorithm ##########218 def goal(self, state):219 return (state.rivalSoldiersToPlace == 0 and state.playerSoldiersToPlace == 0) and \220 (((state.playerSoldiersRemaining < 3 or state.rivalSoldiersRemaining < 3 or221 state.playerAvailableMoves == 0 or state.rivalAvailableMoves == 0)))222 def succ(self, state):223 next_state = state.__copy__()224 if state.turn:225 next_state.turn = not next_state.turn226 if state.playerSoldiersToPlace > 0:227 return self.succ_phase1_player(next_state)228 else:229 return self.succ_phase2_player(next_state)230 else:231 next_state.turn = not next_state.turn232 if state.rivalSoldiersToPlace > 0:233 return self.succ_phase1_rival(next_state)234 else:235 return self.succ_phase2_rival(next_state)236 def diff_mill_count(self, state):237 count_1 = 0...

Full Screen

Full Screen

LightABPlayer.py

Source:LightABPlayer.py Github

copy

Full Screen

...80 ########## helper functions in class ##########81 def succ_phase1_player(self, state):82 states = []83 soldier_to_place = 9 - state.playerSoldiersToPlace84 save_state_pre_dir = state.__copy__()85 for pos in range(24):86 if state.board[pos] == 0:87 state.board[pos] = 188 state.playerPositions[soldier_to_place] = pos89 state.playerSoldiersToPlace -= 190 state.playerSoldiersRemaining += 191 if self.is_mill(position=pos, board=state.board):92 save_state_pre_kill = state.__copy__()93 for rival in range(9 - state.rivalSoldiersToPlace):94 if state.rivalPositions[rival] >= 0:95 tmp = state.rivalPositions[rival]96 state.board[tmp] = 097 state.rivalPositions[rival] = -298 state.rivalSoldiersRemaining -= 199 if state.direction is None:100 state.direction = (pos, soldier_to_place, tmp)101 state.playerIncompleteMills, state.playerAvailableMoves, state.rivalIncompleteMills, \102 state.rivalAvailableMoves = self.moves_and_incomp_mills_calc(state=state)103 states.append(state.__copy__())104 state = save_state_pre_kill.__copy__()105 else:106 if state.direction is None:107 state.direction = (pos, soldier_to_place, -1)108 state.playerIncompleteMills, state.playerAvailableMoves, state.rivalIncompleteMills,\109 state.rivalAvailableMoves = self.moves_and_incomp_mills_calc(state=state)110 states.append(state.__copy__())111 state = save_state_pre_dir.__copy__()112 return states113 def succ_phase1_rival(self, state):114 states = []115 soldier_to_place = np.where(state.rivalPositions == -1)116 save_state_pre_dir = state.__copy__()117 for pos in range(24):118 if state.board[pos] == 0:119 state.board[pos] = 2120 state.rivalPositions[soldier_to_place] = pos121 state.rivalSoldiersToPlace -= 1122 state.rivalSoldiersRemaining += 1123 if self.is_mill(pos, state.board):124 save_state_pre_kill = state.__copy__()125 for player in range(9 - state.playerSoldiersToPlace):126 if state.playerPositions[player] >= 0:127 tmp = state.playerPositions[player]128 state.board[tmp] = 0129 state.playerPositions[player] = -2130 state.playerSoldiersRemaining -= 1131 if state.direction is None:132 state.direction = (pos, soldier_to_place, tmp)133 state.playerIncompleteMills, state.playerAvailableMoves, state.rivalIncompleteMills, \134 state.rivalAvailableMoves = self.moves_and_incomp_mills_calc(state=state)135 states.append(state.__copy__())136 state = save_state_pre_kill.__copy__()137 else:138 if state.direction is None:139 state.direction = (pos, soldier_to_place, -1)140 state.playerIncompleteMills, state.playerAvailableMoves, state.rivalIncompleteMills,\141 state.rivalAvailableMoves = self.moves_and_incomp_mills_calc(state=state)142 states.append(state.__copy__())143 state = save_state_pre_dir.__copy__()144 return states145 def succ_phase2_player(self, state):146 states = []147 save_state_pre_sold = state.__copy__()148 for soldier in range(9):149 soldier_pos = state.playerPositions[soldier]150 if soldier_pos >= 0:151 save_state_pre_dir = state.__copy__()152 for pos in self.directions(soldier_pos):153 if state.board[pos] == 0:154 state.playerPositions[soldier] = pos155 state.board[soldier_pos] = 0156 state.board[pos] = 1157 if self.is_mill(pos, state.board):158 save_state_pre_kill = state.__copy__()159 for rival in range(9 - state.rivalSoldiersToPlace):160 if state.rivalPositions[rival] >= 0:161 tmp = state.rivalPositions[rival]162 state.board[tmp] = 0163 state.rivalPositions[rival] = -2164 state.rivalSoldiersRemaining -= 1165 if state.direction is None:166 state.direction = (pos, soldier, tmp)167 state.playerIncompleteMills, state.playerAvailableMoves, \168 state.rivalIncompleteMills, state.rivalAvailableMoves = \169 self.moves_and_incomp_mills_calc(state=state)170 states.append(state.__copy__())171 state = save_state_pre_kill.__copy__()172 else:173 if state.direction is None:174 state.direction = (pos, soldier, -1)175 state.playerIncompleteMills, state.playerAvailableMoves, \176 state.rivalIncompleteMills, state.rivalAvailableMoves = \177 self.moves_and_incomp_mills_calc(state=state)178 states.append(state.__copy__())179 state = save_state_pre_dir.__copy__()180 state = save_state_pre_sold.__copy__()181 return states182 def succ_phase2_rival(self, state):183 states = []184 save_state_pre_sold = state.__copy__()185 for soldier in range(9):186 soldier_pos = state.rivalPositions[soldier]187 if soldier_pos >= 0:188 save_state_pre_dir = state.__copy__()189 for pos in self.directions(soldier_pos):190 if state.board[pos] == 0:191 state.rivalPositions[soldier] = pos192 state.board[soldier_pos] = 0193 state.board[pos] = 2194 if self.is_mill(pos, state.board):195 save_state_pre_kill = state.__copy__()196 for player in range(9 - state.playerSoldiersToPlace):197 if state.playerPositions[player] >= 0:198 tmp = state.playerPositions[player]199 state.board[tmp] = 0200 state.playerPositions[player] = -2201 state.playerSoldiersRemaining -= 1202 if state.direction is None:203 state.direction = (pos, soldier, tmp)204 state.playerIncompleteMills, state.playerAvailableMoves, \205 state.rivalIncompleteMills, state.rivalAvailableMoves = \206 self.moves_and_incomp_mills_calc(state=state)207 states.append(state.__copy__())208 state = save_state_pre_kill.__copy__()209 else:210 if state.direction is None:211 state.direction = (pos, soldier, -1)212 state.playerIncompleteMills, state.playerAvailableMoves, \213 state.rivalIncompleteMills, state.rivalAvailableMoves = \214 self.moves_and_incomp_mills_calc(state=state)215 states.append(state.__copy__())216 state = save_state_pre_dir.__copy__()217 state = save_state_pre_sold.__copy__()218 return states219 ########## helper functions for AlphaBeta algorithm ##########220 def goal(self, state):221 return (state.rivalSoldiersToPlace == 0 and state.playerSoldiersToPlace == 0) and \222 (((state.playerSoldiersRemaining < 3 or state.rivalSoldiersRemaining < 3 or223 state.playerAvailableMoves == 0 or state.rivalAvailableMoves == 0)))224 def succ(self, state):225 next_state = state.__copy__()226 if state.turn:227 next_state.turn = not next_state.turn228 if state.playerSoldiersToPlace > 0:229 return self.succ_phase1_player(next_state)230 else:231 return self.succ_phase2_player(next_state)232 else:233 next_state.turn = not next_state.turn234 if state.rivalSoldiersToPlace > 0:235 return self.succ_phase1_rival(next_state)236 else:237 return self.succ_phase2_rival(next_state)238 def utility(self, state):239 if self.goal(state) and (state.playerSoldiersRemaining < 3 or state.playerAvailableMoves == 0):...

Full Screen

Full Screen

Node.py

Source:Node.py Github

copy

Full Screen

...54 def __add__(self, other):55 # adding a number to a tree means56 # setting the current tree's operator as the +57 # setting the left as the current tree58 newNode = self.__copy__()59 newNode.left = Node(newNode.op, newNode.left, newNode.right)60 newNode.right = Num(other) if type(other) in [float, int] else other61 newNode.op = "+"62 return newNode636465 def __sub__(self, other):66 newNode = self.__copy__()67 newNode.left = Node(newNode.op, newNode.left, newNode.right)68 newNode.right = Num(other) if type(other) in [float, int] else other69 newNode.op = "-"70 return newNode7172 def __mul__(self, other):73 newNode = self.__copy__()74 newNode.left = Node(newNode.op, newNode.left, newNode.right)75 newNode.right = Num(other) if type(other) in [float, int] else other76 newNode.op = "*"77 return newNode7879 def __truediv__(self, other):80 newNode = self.__copy__()81 newNode.left = Node(newNode.op, newNode.left, newNode.right)82 newNode.right = Num(other) if type(other) in [float, int] else other83 newNode.op = "/"84 return newNode8586 def __iadd__(self, other):87 return self.__add__(other)8889 def __isub__(self, other):90 return self.__sub__(other)9192 def __imul__(self, other):93 return self.__mul__(other)9495 def __itruediv__(self, other):96 return self.__truediv__(other)9798 def __radd__(self, other):99 return other.__add__(self)100101 def __rsub__(self, other):102 return other.__sub__(self)103104 def __rmul__(self, other):105 return other.__mul__(self)106107 def __rdiv__(self, other):108 return other.__div__(self)109110 def __copy__(self):111 lft = self.left.__copy__()112 rgt = self.right.__copy__()113 return Node(self.op, lft, rgt)114115class Num:116 def __init__(self, val):117 self.val = val118119 def evaluate(self):120 return self.val121122 def __repr__(self):123 return self.__str__()124125 def __str__(self):126 return f"{self.val}"127128 def __int__(self):129 return round(self.val)130131 def __add__(self, other):132 return Node("+", self.__copy__(), other.__copy__())133134 def __sub__(self, other):135 return Node("-", self.__copy__(), other.__copy__())136137 def __mul__(self, other):138 return Node("*", self.__copy__(), other.__copy__())139140 def __truediv__(self, other):141 return Node("/", self.__copy__(), other.__copy__())142143 def __iadd__(self, other):144 return self.__add__(other)145146 def __isub__(self, other):147 return self.__sub__(other)148149 def __imul__(self, other):150 return self.__mul__(other)151152 def __itruediv__(self, other):153 return self.__truediv__(other)154155 def __copy__(self):156 return Num(self.val)157158159class Var:160 def __init__(self, name):161 self.op = name162163 def evaluate(self):164 return f"{self.op}"165166 def __copy__(self):167 return Var(self.op)168169 def __str__(self): ...

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run autotest automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful