Untitled
unknown
plain_text
2 years ago
709 B
6
Indexable
int minimax(State *state, int depth, int maximize){ auto actions = state->legal_actions; int val = 0; if(depth == 0){ return state -> evaluate(); } if(maximize){ val = INT_MIN; for(size_t i = 0; i < actions.size(); i++){ State *s = state -> next_state(actions[i]); int tmp = minimax(s, depth - 1, 0); if(tmp > val) val = tmp; if(val == INT_MAX) return val; } }else if(!maximize){ val = INT_MAX; for(size_t i = 0; i < actions.size(); i++){ State *s = state -> next_state(actions[i]); int tmp = minimax(s, depth - 1, 1); if(tmp < val) val = tmp; if(val == INT_MIN) return val; } } return val; }
Editor is loading...