{"group":{"id":1,"name":"Community","lockable":false,"created_at":"2012-01-18T18:02:15.000Z","updated_at":"2025-12-14T01:33:56.000Z","description":"Problems submitted by members of the MATLAB Central community.","is_default":true,"created_by":161519,"badge_id":null,"featured":false,"trending":false,"solution_count_in_trending_period":0,"trending_last_calculated":"2025-12-14T00:00:00.000Z","image_id":null,"published":true,"community_created":false,"status_id":2,"is_default_group_for_player":false,"deleted_by":null,"deleted_at":null,"restored_by":null,"restored_at":null,"description_opc":null,"description_html":null,"published_at":null},"problems":[{"id":43574,"title":"Connect 4 (the boardgame)","description":"You are playing the popular game \"Connect 4\" ( \u003chttps://en.wikipedia.org/wiki/Connect_Four\u003e) against Matlab. Luckily, Matlab isn't trying to hard and just places its chips randomly.\r\n\r\nWrite a function which plays the game for you. As starting point you are given the same function which you opponent is using (random placement). But you'll have to do better, because you will have to crush Matlab by winning 10 games in a row in order to pass this test!\r\n\r\nEach time your function as called it is your turn to make a move. The input of the function is a 5x7 matrix, representing the game board, containing either \"1\" (a chip of your opponent), \"2\" (one of your chips) or \"0\" (an empty space). Calculate your best move and output the column index of your next chip (make sure this column isn't full yet or your turn is lost).\r\n\r\nGood luck!","description_html":"\u003cp\u003eYou are playing the popular game \"Connect 4\" ( \u003ca href = \"https://en.wikipedia.org/wiki/Connect_Four\"\u003ehttps://en.wikipedia.org/wiki/Connect_Four\u003c/a\u003e) against Matlab. Luckily, Matlab isn't trying to hard and just places its chips randomly.\u003c/p\u003e\u003cp\u003eWrite a function which plays the game for you. As starting point you are given the same function which you opponent is using (random placement). But you'll have to do better, because you will have to crush Matlab by winning 10 games in a row in order to pass this test!\u003c/p\u003e\u003cp\u003eEach time your function as called it is your turn to make a move. The input of the function is a 5x7 matrix, representing the game board, containing either \"1\" (a chip of your opponent), \"2\" (one of your chips) or \"0\" (an empty space). Calculate your best move and output the column index of your next chip (make sure this column isn't full yet or your turn is lost).\u003c/p\u003e\u003cp\u003eGood luck!\u003c/p\u003e","function_template":"function c = move(board)\r\n    % - the input board is a 5x7 matrix containing 0,1,2: The elements 0 are\r\n    % empty spaces, 1 are chips of your opponent and 2 are your chipt.\r\n    % - the output c is the column of your next chip, make sure this column\r\n    % has space left for your chip or the turn goes lost!\r\n\r\n    % select random available column\r\n    allC = find(sum(board~=0,1)\u003c5,7); % all not yet full columns\r\n    c = allC(randi(length(allC),1,1)); % random placement\r\nend","test_suite":"%%\r\ngames = 10;\r\nwinners = zeros(games,1);\r\nfor gamenum = 1:games % you play \"games\" different games\r\n    % init the board\r\n    board = zeros(5,7);\r\n    % function finding the index at which the chip will fall in column c\r\n    index = @(c,board) find(board(:,c)==0,1,'last');\r\n    % start the game\r\n    whoWon = 0;\r\n    done = false;\r\n    turn = 1;\r\n    while done == false\r\n        if turn == 1 % you oppenent's turn\r\n            % select random column\r\n            allC = find(sum(board~=0,1)\u003c5,7); % all not full columns\r\n            c = allC(randi(length(allC),1,1)); % random placement\r\n            % place chip in column c\r\n            board(index(c,board),c) = 1;\r\n        else % your turn\r\n            % which column\r\n            c = move(board);\r\n            % place chip in column c\r\n            i = index(c,board); % index\r\n            if ~isempty(i)\r\n                board(i,c) = 2;\r\n            else\r\n                disp('You have selected a full column, your turn goes lost')\r\n            end\r\n        end\r\n\r\n        % check for a 4-in-a-row\r\n        temp = board==turn;\r\n        % gather all possible 4-in-a-row lines\r\n            lines = cell(22,1);\r\n            % horizontal\r\n            for i = 1:5\r\n                lines{i} = temp(i,:)';\r\n            end\r\n            % vertical\r\n            for i = 1:7\r\n                lines{i+5} = temp(:,i);\r\n            end\r\n            % diagonal \\\r\n            lines{13} = diag(temp(2:end,:));\r\n            for i = 1:4\r\n                lines{i+13} = diag(temp(:,i:end));\r\n            end\r\n            % diagonal /\r\n            temp = fliplr(temp);\r\n            lines{18} = diag(temp(2:end,:));\r\n            for i = 1:4\r\n                lines{i+18} = diag(temp(:,i:end));\r\n            end\r\n        for i = 1:length(lines)\r\n            % find the maximum number of the same chips in this row\r\n            temp = diff([0; lines{i}; 0]);\r\n            if max(find(temp==-1,7)-find(temp==1,7))==4\r\n                % game is won!\r\n                whoWon = turn;\r\n                done = true;\r\n            end\r\n        end\r\n        % is the board full without a winner?\r\n        if sum(board==0)==0\r\n            done = true;\r\n        end\r\n        % switch turns\r\n        turn = 3-turn;\r\n    end % end of one game\r\n    winners(gamenum) = whoWon;\r\nend\r\ndisp(['Game results (#won/#lost/#draw): ' num2str(sum(winners==2)) '/' num2str(sum(winners==1)) '/' num2str(sum(winners==0))])\r\n% Did you win all 10 games?\r\nassert(isequal(sum(winners==2),games))","published":true,"deleted":false,"likes_count":5,"comments_count":0,"created_by":94929,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":16,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2016-10-18T09:14:38.000Z","updated_at":"2025-12-12T13:37:07.000Z","published_at":"2016-10-18T09:14:38.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eYou are playing the popular game \\\"Connect 4\\\" (\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://en.wikipedia.org/wiki/Connect_Four\\\"\u003e\u003cw:r\u003e\u003cw:t\u003e\u0026lt;https://en.wikipedia.org/wiki/Connect_Four\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e\u0026gt;) against Matlab. Luckily, Matlab isn't trying to hard and just places its chips randomly.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eWrite a function which plays the game for you. As starting point you are given the same function which you opponent is using (random placement). But you'll have to do better, because you will have to crush Matlab by winning 10 games in a row in order to pass this test!\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eEach time your function as called it is your turn to make a move. The input of the function is a 5x7 matrix, representing the game board, containing either \\\"1\\\" (a chip of your opponent), \\\"2\\\" (one of your chips) or \\\"0\\\" (an empty space). Calculate your best move and output the column index of your next chip (make sure this column isn't full yet or your turn is lost).\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGood luck!\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"}],"problem_search":{"errors":[],"problems":[{"id":43574,"title":"Connect 4 (the boardgame)","description":"You are playing the popular game \"Connect 4\" ( \u003chttps://en.wikipedia.org/wiki/Connect_Four\u003e) against Matlab. Luckily, Matlab isn't trying to hard and just places its chips randomly.\r\n\r\nWrite a function which plays the game for you. As starting point you are given the same function which you opponent is using (random placement). But you'll have to do better, because you will have to crush Matlab by winning 10 games in a row in order to pass this test!\r\n\r\nEach time your function as called it is your turn to make a move. The input of the function is a 5x7 matrix, representing the game board, containing either \"1\" (a chip of your opponent), \"2\" (one of your chips) or \"0\" (an empty space). Calculate your best move and output the column index of your next chip (make sure this column isn't full yet or your turn is lost).\r\n\r\nGood luck!","description_html":"\u003cp\u003eYou are playing the popular game \"Connect 4\" ( \u003ca href = \"https://en.wikipedia.org/wiki/Connect_Four\"\u003ehttps://en.wikipedia.org/wiki/Connect_Four\u003c/a\u003e) against Matlab. Luckily, Matlab isn't trying to hard and just places its chips randomly.\u003c/p\u003e\u003cp\u003eWrite a function which plays the game for you. As starting point you are given the same function which you opponent is using (random placement). But you'll have to do better, because you will have to crush Matlab by winning 10 games in a row in order to pass this test!\u003c/p\u003e\u003cp\u003eEach time your function as called it is your turn to make a move. The input of the function is a 5x7 matrix, representing the game board, containing either \"1\" (a chip of your opponent), \"2\" (one of your chips) or \"0\" (an empty space). Calculate your best move and output the column index of your next chip (make sure this column isn't full yet or your turn is lost).\u003c/p\u003e\u003cp\u003eGood luck!\u003c/p\u003e","function_template":"function c = move(board)\r\n    % - the input board is a 5x7 matrix containing 0,1,2: The elements 0 are\r\n    % empty spaces, 1 are chips of your opponent and 2 are your chipt.\r\n    % - the output c is the column of your next chip, make sure this column\r\n    % has space left for your chip or the turn goes lost!\r\n\r\n    % select random available column\r\n    allC = find(sum(board~=0,1)\u003c5,7); % all not yet full columns\r\n    c = allC(randi(length(allC),1,1)); % random placement\r\nend","test_suite":"%%\r\ngames = 10;\r\nwinners = zeros(games,1);\r\nfor gamenum = 1:games % you play \"games\" different games\r\n    % init the board\r\n    board = zeros(5,7);\r\n    % function finding the index at which the chip will fall in column c\r\n    index = @(c,board) find(board(:,c)==0,1,'last');\r\n    % start the game\r\n    whoWon = 0;\r\n    done = false;\r\n    turn = 1;\r\n    while done == false\r\n        if turn == 1 % you oppenent's turn\r\n            % select random column\r\n            allC = find(sum(board~=0,1)\u003c5,7); % all not full columns\r\n            c = allC(randi(length(allC),1,1)); % random placement\r\n            % place chip in column c\r\n            board(index(c,board),c) = 1;\r\n        else % your turn\r\n            % which column\r\n            c = move(board);\r\n            % place chip in column c\r\n            i = index(c,board); % index\r\n            if ~isempty(i)\r\n                board(i,c) = 2;\r\n            else\r\n                disp('You have selected a full column, your turn goes lost')\r\n            end\r\n        end\r\n\r\n        % check for a 4-in-a-row\r\n        temp = board==turn;\r\n        % gather all possible 4-in-a-row lines\r\n            lines = cell(22,1);\r\n            % horizontal\r\n            for i = 1:5\r\n                lines{i} = temp(i,:)';\r\n            end\r\n            % vertical\r\n            for i = 1:7\r\n                lines{i+5} = temp(:,i);\r\n            end\r\n            % diagonal \\\r\n            lines{13} = diag(temp(2:end,:));\r\n            for i = 1:4\r\n                lines{i+13} = diag(temp(:,i:end));\r\n            end\r\n            % diagonal /\r\n            temp = fliplr(temp);\r\n            lines{18} = diag(temp(2:end,:));\r\n            for i = 1:4\r\n                lines{i+18} = diag(temp(:,i:end));\r\n            end\r\n        for i = 1:length(lines)\r\n            % find the maximum number of the same chips in this row\r\n            temp = diff([0; lines{i}; 0]);\r\n            if max(find(temp==-1,7)-find(temp==1,7))==4\r\n                % game is won!\r\n                whoWon = turn;\r\n                done = true;\r\n            end\r\n        end\r\n        % is the board full without a winner?\r\n        if sum(board==0)==0\r\n            done = true;\r\n        end\r\n        % switch turns\r\n        turn = 3-turn;\r\n    end % end of one game\r\n    winners(gamenum) = whoWon;\r\nend\r\ndisp(['Game results (#won/#lost/#draw): ' num2str(sum(winners==2)) '/' num2str(sum(winners==1)) '/' num2str(sum(winners==0))])\r\n% Did you win all 10 games?\r\nassert(isequal(sum(winners==2),games))","published":true,"deleted":false,"likes_count":5,"comments_count":0,"created_by":94929,"edited_by":null,"edited_at":null,"deleted_by":null,"deleted_at":null,"solvers_count":16,"test_suite_updated_at":null,"rescore_all_solutions":false,"group_id":1,"created_at":"2016-10-18T09:14:38.000Z","updated_at":"2025-12-12T13:37:07.000Z","published_at":"2016-10-18T09:14:38.000Z","restored_at":null,"restored_by":null,"spam":false,"simulink":false,"admin_reviewed":false,"description_opc":"{\"relationships\":[{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/document\",\"targetMode\":\"\",\"relationshipId\":\"rId1\",\"target\":\"/matlab/document.xml\"},{\"relationshipType\":\"http://schemas.mathworks.com/matlab/code/2013/relationships/output\",\"targetMode\":\"\",\"relationshipId\":\"rId2\",\"target\":\"/matlab/output.xml\"}],\"parts\":[{\"partUri\":\"/matlab/document.xml\",\"relationship\":[],\"contentType\":\"application/vnd.mathworks.matlab.code.document+xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?\u003e\\n\u003cw:document xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\u003e\u003cw:body\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eYou are playing the popular game \\\"Connect 4\\\" (\u003c/w:t\u003e\u003c/w:r\u003e\u003cw:r\u003e\u003cw:t\u003e \u003c/w:t\u003e\u003c/w:r\u003e\u003cw:hyperlink w:docLocation=\\\"https://en.wikipedia.org/wiki/Connect_Four\\\"\u003e\u003cw:r\u003e\u003cw:t\u003e\u0026lt;https://en.wikipedia.org/wiki/Connect_Four\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:hyperlink\u003e\u003cw:r\u003e\u003cw:t\u003e\u0026gt;) against Matlab. Luckily, Matlab isn't trying to hard and just places its chips randomly.\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eWrite a function which plays the game for you. As starting point you are given the same function which you opponent is using (random placement). But you'll have to do better, because you will have to crush Matlab by winning 10 games in a row in order to pass this test!\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eEach time your function as called it is your turn to make a move. The input of the function is a 5x7 matrix, representing the game board, containing either \\\"1\\\" (a chip of your opponent), \\\"2\\\" (one of your chips) or \\\"0\\\" (an empty space). Calculate your best move and output the column index of your next chip (make sure this column isn't full yet or your turn is lost).\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003cw:p\u003e\u003cw:pPr\u003e\u003cw:pStyle w:val=\\\"text\\\"/\u003e\u003c/w:pPr\u003e\u003cw:r\u003e\u003cw:t\u003eGood luck!\u003c/w:t\u003e\u003c/w:r\u003e\u003c/w:p\u003e\u003c/w:body\u003e\u003c/w:document\u003e\"},{\"partUri\":\"/matlab/output.xml\",\"contentType\":\"text/xml\",\"content\":\"\u003c?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\" ?\u003e\u003cembeddedOutputs\u003e\u003cmetaData\u003e\u003cevaluationState\u003emanual\u003c/evaluationState\u003e\u003clayoutState\u003ecode\u003c/layoutState\u003e\u003coutputStatus\u003eready\u003c/outputStatus\u003e\u003c/metaData\u003e\u003coutputArray type=\\\"array\\\"/\u003e\u003cregionArray type=\\\"array\\\"/\u003e\u003c/embeddedOutputs\u003e\"}]}"}],"term":"tag:\"childsgame\"","current_player_id":null,"fields":[{"name":"page","type":"integer","callback":null,"default":1,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":null,"prepend":true},{"name":"per_page","type":"integer","callback":null,"default":50,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":null,"prepend":true},{"name":"sort","type":"string","callback":null,"default":null,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":null,"prepend":true},{"name":"body","type":"text","callback":null,"default":"*:*","directive":null,"facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":false},{"name":"group","type":"string","callback":null,"default":null,"directive":"group","facet":true,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"difficulty_rating_bin","type":"string","callback":null,"default":null,"directive":"difficulty_rating_bin","facet":true,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"id","type":"integer","callback":null,"default":null,"directive":"id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"tag","type":"string","callback":null,"default":null,"directive":"tag","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"product","type":"string","callback":null,"default":null,"directive":"product","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"created_at","type":"timeframe","callback":{},"default":null,"directive":"created_at","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"profile_id","type":"integer","callback":null,"default":null,"directive":"author_id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"created_by","type":"string","callback":null,"default":null,"directive":"author","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"player_id","type":"integer","callback":null,"default":null,"directive":"solver_id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"player","type":"string","callback":null,"default":null,"directive":"solver","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"solvers_count","type":"integer","callback":null,"default":null,"directive":"solvers_count","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"comments_count","type":"integer","callback":null,"default":null,"directive":"comments_count","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"likes_count","type":"integer","callback":null,"default":null,"directive":"likes_count","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"leader_id","type":"integer","callback":null,"default":null,"directive":"leader_id","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true},{"name":"leading_solution","type":"integer","callback":null,"default":null,"directive":"leading_solution","facet":null,"facet_method":"and","operator":null,"param":"term","static":null,"prepend":true}],"filters":[{"name":"asset_type","type":"string","callback":null,"default":null,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":null,"static":"\"cody:problem\"","prepend":true},{"name":"profile_id","type":"integer","callback":{},"default":null,"directive":null,"facet":null,"facet_method":"and","operator":null,"param":"author_id","static":null,"prepend":true}],"query":{"params":{"per_page":50,"term":"tag:\"childsgame\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"childsgame\"","","\"","childsgame","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007f7342f185d0\u003e":null,"#\u003cMathWorks::Search::Field:0x00007f7342f18530\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007f7342f17c70\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007f7342f18850\u003e":1,"#\u003cMathWorks::Search::Field:0x00007f7342f187b0\u003e":50,"#\u003cMathWorks::Search::Field:0x00007f7342f18710\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007f7342f18670\u003e":"tag:\"childsgame\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007f7342f18670\u003e":"tag:\"childsgame\""},"queried_facets":{}},"query_backend":{"connection":{"configuration":{"index_url":"http://index-op-v2/solr/","query_url":"http://search-op-v2/solr/","direct_access_index_urls":["http://index-op-v2/solr/"],"direct_access_query_urls":["http://search-op-v2/solr/"],"timeout":10,"vhost":"search","exchange":"search.topic","heartbeat":30,"pre_index_mode":false,"host":"rabbitmq-eks","port":5672,"username":"search","password":"J3bGPZzQ7asjJcCk","virtual_host":"search","indexer":"amqp","http_logging":"true","core":"cody"},"query_connection":{"uri":"http://search-op-v2/solr/cody/","proxy":null,"connection":{"parallel_manager":null,"headers":{"User-Agent":"Faraday v1.0.1"},"params":{},"options":{"params_encoder":"Faraday::FlatParamsEncoder","proxy":null,"bind":null,"timeout":null,"open_timeout":null,"read_timeout":null,"write_timeout":null,"boundary":null,"oauth":null,"context":null,"on_data":null},"ssl":{"verify":true,"ca_file":null,"ca_path":null,"verify_mode":null,"cert_store":null,"client_cert":null,"client_key":null,"certificate":null,"private_key":null,"verify_depth":null,"version":null,"min_version":null,"max_version":null},"default_parallel_manager":null,"builder":{"adapter":{"name":"Faraday::Adapter::NetHttp","args":[],"block":null},"handlers":[{"name":"Faraday::Response::RaiseError","args":[],"block":null}],"app":{"app":{"ssl_cert_store":{"verify_callback":null,"error":null,"error_string":null,"chain":null,"time":null},"app":{},"connection_options":{},"config_block":null}}},"url_prefix":"http://search-op-v2/solr/cody/","manual_proxy":false,"proxy":null},"update_format":"RSolr::JSON::Generator","update_path":"update","options":{"url":"http://search-op-v2/solr/cody"}}},"query":{"params":{"per_page":50,"term":"tag:\"childsgame\"","current_player":null,"sort":"map(difficulty_value,0,0,999) asc"},"parser":"MathWorks::Search::Solr::QueryParser","directives":{"term":{"directives":{"tag":[["tag:\"childsgame\"","","\"","childsgame","\""]]}}},"facets":{"#\u003cMathWorks::Search::Field:0x00007f7342f185d0\u003e":null,"#\u003cMathWorks::Search::Field:0x00007f7342f18530\u003e":null},"filters":{"#\u003cMathWorks::Search::Field:0x00007f7342f17c70\u003e":"\"cody:problem\""},"fields":{"#\u003cMathWorks::Search::Field:0x00007f7342f18850\u003e":1,"#\u003cMathWorks::Search::Field:0x00007f7342f187b0\u003e":50,"#\u003cMathWorks::Search::Field:0x00007f7342f18710\u003e":"map(difficulty_value,0,0,999) asc","#\u003cMathWorks::Search::Field:0x00007f7342f18670\u003e":"tag:\"childsgame\""},"user_query":{"#\u003cMathWorks::Search::Field:0x00007f7342f18670\u003e":"tag:\"childsgame\""},"queried_facets":{}},"options":{"fields":["id","difficulty_rating"]},"join":" "},"results":[{"id":43574,"difficulty_rating":"medium"}]}}