﻿<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>Millisecond Forums » Millisecond Forums » Inquisit 6  » Semi-randomized blocks</title><generator>InstantForum 2017-1 Final</generator><description>Millisecond Forums</description><link>https://forums.millisecond.com/</link><webMaster>Millisecond Forums</webMaster><lastBuildDate>Fri, 18 Sep 2026 09:27:11 GMT</lastBuildDate><ttl>20</ttl><item><title>Semi-randomized blocks</title><link>https://forums.millisecond.com/Topic29048.aspx</link><description>Hello,&lt;br/&gt;&lt;br/&gt;I'd like to randomize blocks, but in groups, as in the following:&amp;nbsp;&lt;br/&gt;&lt;br/&gt;1 = instructions&lt;br/&gt;2-3 = group 1&lt;br/&gt;4-5 = group2&lt;br/&gt;&lt;br/&gt;where the order of (2-3) or (4-5) are counterbalanced. &amp;nbsp;Is this possible?&lt;br/&gt;&lt;br/&gt;Thanks!</description><pubDate>Wed, 20 May 2020 20:26:51 GMT</pubDate><dc:creator>AndrewPapale</dc:creator></item><item><title>RE: Semi-randomized blocks</title><link>https://forums.millisecond.com/Topic29057.aspx</link><description>&lt;blockquote data-id="29056" class="if-quote-wrapper" unselectable="on" data-guid="1590006295841" id="if_insertedNode_1590006294690" contenteditable="false"&gt;&lt;a class="quote-para" unselectable="on" style="display: none;" href="#" data-id="29056" title="Move Cursor Below" contenteditable="false"&gt;&lt;span unselectable="on"&gt;+&lt;/span&gt;&lt;/a&gt;&lt;a class="quote-delete" unselectable="on" style="display: none;" href="#" data-id="29056" title="Delete Quote" contenteditable="false"&gt;&lt;span unselectable="on"&gt;x&lt;/span&gt;&lt;/a&gt;&lt;span unselectable="on" class="quote-markup"&gt;[quote]&lt;/span&gt;&lt;div unselectable="on" class="if-quote-header" contenteditable="false"&gt;&lt;div unselectable="on" class="if-quote-toggle-wrapper"&gt;&lt;a class="if-quote-toggle quote-link" href="#" data-id="29056" title=" "&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;&lt;span unselectable="on" class="quote-markup"&gt;[b]&lt;/span&gt;Dave - 5/20/2020&lt;span unselectable="on" class="quote-markup"&gt;[/b]&lt;/span&gt;&lt;/div&gt;&lt;div class="if-quote-message if-quote-message-29056"&gt;&lt;div class="if-quote-message-margin" contenteditable="true"&gt;&lt;blockquote data-id="29055" class="if-quote-wrapper" unselectable="on" data-guid="1590006295841" id="if_insertedNode_1589998972254" contenteditable="false"&gt;&lt;a class="quote-para" unselectable="on" style="display: none;" href="#" data-id="29055" title="Move Cursor Below" contenteditable="false"&gt;&lt;span unselectable="on"&gt;+&lt;/span&gt;&lt;/a&gt;&lt;a class="quote-delete" unselectable="on" style="display: none;" href="#" data-id="29055" title="Delete Quote" contenteditable="false"&gt;&lt;span unselectable="on"&gt;x&lt;/span&gt;&lt;/a&gt;&lt;span unselectable="on" class="quote-markup"&gt;[quote]&lt;/span&gt;&lt;div unselectable="on" class="if-quote-header" contenteditable="false"&gt;&lt;div unselectable="on" class="if-quote-toggle-wrapper"&gt;&lt;a class="if-quote-toggle quote-link" href="#" data-id="29055" title=" "&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;&lt;span unselectable="on" class="quote-markup"&gt;[b]&lt;/span&gt;AndrewPapale - 5/20/2020&lt;span unselectable="on" class="quote-markup"&gt;[/b]&lt;/span&gt;&lt;/div&gt;&lt;div class="if-quote-message if-quote-message-29055"&gt;&lt;div class="if-quote-message-margin" contenteditable="true"&gt;(Sorry, it's really hard to post a reply to in this forum)&lt;br/&gt;&lt;br/&gt;Thank you, I'll try this approach. &amp;nbsp;&lt;br/&gt;&lt;br/&gt;I actually have 6 different blocks that I want to counterbalance. &amp;nbsp;Will I have to create a new &amp;lt;exp&amp;gt; for each possibility (probably infeasible given the number of possible combinations), or is there a way around this?&lt;br/&gt;&lt;br/&gt;Thanks!&lt;a class="if-quote-goto quote-link" href="#" data-id="29055"&gt;&lt;span class="goto"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;span unselectable="on" class="quote-markup"&gt;[/quote]&lt;/span&gt;&lt;/blockquote&gt;&lt;br/&gt;"Counterbalancing" (the word you used) means what you want to do is systematic, i.e. the order is an (implicit at least) between-subjects condition. If that's the way you want to treat this, then yes, you need to create the requisite amount of &amp;lt;expt&amp;gt;s (i.e. between-subjects conditions). If you merely want to randomize groups of blocks, then there may be another way, but you'd have to be way more specific about what exactly it is you want to do.&lt;br/&gt;&lt;a class="if-quote-goto quote-link" href="#" data-id="29056"&gt;&lt;span class="goto"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;span unselectable="on" class="quote-markup"&gt;[/quote]&lt;/span&gt;&lt;/blockquote&gt;&lt;br/&gt;Here's a quick example how you can randomize groups of blocks by setting up one dummy block per group, sampling those dummy blocks in random order per the /blocks attribute, and then use &amp;lt;list&amp;gt; elements to run the actual blocks within each group.&lt;br/&gt;&lt;br/&gt;&amp;lt;values&amp;gt;&lt;br/&gt;/ n_blocks_in_group = 0&lt;br/&gt;/ in_group_count = 0;&lt;br/&gt;&amp;lt;/values&amp;gt;&lt;br/&gt;&lt;br/&gt;// randomize the order of the three groups of blocks&lt;br/&gt;&amp;lt;expt&amp;gt;&lt;br/&gt;/ blocks = [1-3 = noreplace(group1, group2, group3)]&lt;br/&gt;&amp;lt;/expt&amp;gt;&lt;br/&gt;&lt;br/&gt;// dummy block initiating the execution of the group 1 blocks&lt;br/&gt;&amp;lt;block group1&amp;gt;&lt;br/&gt;/ onblockbegin = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.n_blocks_in_group = list.group1_blocks.itemcount;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.in_group_count = 0;&lt;br/&gt;]&lt;br/&gt;/ branch = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;list.group1_blocks.nextvalue;&lt;br/&gt;]&lt;br/&gt;&amp;lt;/block&amp;gt;&lt;br/&gt;&lt;br/&gt;// dummy block initiating the execution of the group 2 blocks&lt;br/&gt;&amp;lt;block group2&amp;gt;&lt;br/&gt;/ onblockbegin = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.n_blocks_in_group = list.group2_blocks.itemcount;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.in_group_count = 0;&lt;br/&gt;]&lt;br/&gt;/ branch = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;list.group2_blocks.nextvalue;&lt;br/&gt;]&lt;br/&gt;&amp;lt;/block&amp;gt;&lt;br/&gt;&lt;br/&gt;// dummy block initiating the execution of the group 3 blocks&lt;br/&gt;&amp;lt;block group3&amp;gt;&lt;br/&gt;/ onblockbegin = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.n_blocks_in_group = list.group3_blocks.itemcount;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.in_group_count = 0;&lt;br/&gt;]&lt;br/&gt;/ branch = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;list.group3_blocks.nextvalue;&lt;br/&gt;]&lt;br/&gt;&amp;lt;/block&amp;gt;&lt;br/&gt;&lt;br/&gt;// three blocks A to C in group 1&lt;br/&gt;&amp;lt;list group1_blocks&amp;gt;&lt;br/&gt;/ items = (block.group1_a, block.group1_b, block.group1_c)&lt;br/&gt;&amp;lt;/list&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;block group1_a&amp;gt;&lt;br/&gt;/ onblockbegin = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.in_group_count += 1;&lt;br/&gt;]&lt;br/&gt;/ trials = [1=mytrial]&lt;br/&gt;/ branch = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (values.in_group_count &amp;lt; values.n_blocks_in_group) {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;list.group1_blocks.nextvalue;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;]&lt;br/&gt;&amp;lt;/block&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;block group1_b&amp;gt;&lt;br/&gt;/ onblockbegin = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.in_group_count += 1;&lt;br/&gt;]&lt;br/&gt;/ trials = [1=mytrial]&lt;br/&gt;/ branch = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (values.in_group_count &amp;lt; values.n_blocks_in_group) {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;list.group1_blocks.nextvalue;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;]&lt;br/&gt;&amp;lt;/block&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;block group1_c&amp;gt;&lt;br/&gt;/ onblockbegin = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.in_group_count += 1;&lt;br/&gt;]&lt;br/&gt;/ trials = [1=mytrial]&lt;br/&gt;/ branch = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (values.in_group_count &amp;lt; values.n_blocks_in_group) {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;list.group1_blocks.nextvalue;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;]&lt;br/&gt;&amp;lt;/block&amp;gt;&lt;br/&gt;&lt;br/&gt;// two blocks A to B in group 2&lt;br/&gt;&amp;lt;list group2_blocks&amp;gt;&lt;br/&gt;/ items = (block.group2_a, block.group2_b)&lt;br/&gt;&amp;lt;/list&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;block group2_a&amp;gt;&lt;br/&gt;/ onblockbegin = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.in_group_count += 1;&lt;br/&gt;]&lt;br/&gt;/ trials = [1=mytrial]&lt;br/&gt;/ branch = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (values.in_group_count &amp;lt; values.n_blocks_in_group) {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;list.group2_blocks.nextvalue;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;]&lt;br/&gt;&amp;lt;/block&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;block group2_b&amp;gt;&lt;br/&gt;/ onblockbegin = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.in_group_count += 1;&lt;br/&gt;]&lt;br/&gt;/ trials = [1=mytrial]&lt;br/&gt;/ branch = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (values.in_group_count &amp;lt; values.n_blocks_in_group) {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;list.group2_blocks.nextvalue;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;]&lt;br/&gt;&amp;lt;/block&amp;gt;&lt;br/&gt;&lt;br/&gt;// four blocks A to D in group 3&lt;br/&gt;&amp;lt;list group3_blocks&amp;gt;&lt;br/&gt;/ items = (block.group3_a, block.group3_b, block.group3_c, block.group3_d)&lt;br/&gt;&amp;lt;/list&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;block group3_a&amp;gt;&lt;br/&gt;/ onblockbegin = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.in_group_count += 1;&lt;br/&gt;]&lt;br/&gt;/ trials = [1=mytrial]&lt;br/&gt;/ branch = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (values.in_group_count &amp;lt; values.n_blocks_in_group) {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;list.group3_blocks.nextvalue;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;]&lt;br/&gt;&amp;lt;/block&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;block group3_b&amp;gt;&lt;br/&gt;/ onblockbegin = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.in_group_count += 1;&lt;br/&gt;]&lt;br/&gt;/ trials = [1=mytrial]&lt;br/&gt;/ branch = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (values.in_group_count &amp;lt; values.n_blocks_in_group) {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;list.group3_blocks.nextvalue;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;]&lt;br/&gt;&amp;lt;/block&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;block group3_c&amp;gt;&lt;br/&gt;/ onblockbegin = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.in_group_count += 1;&lt;br/&gt;]&lt;br/&gt;/ trials = [1=mytrial]&lt;br/&gt;/ branch = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (values.in_group_count &amp;lt; values.n_blocks_in_group) {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;list.group3_blocks.nextvalue;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;]&lt;br/&gt;&amp;lt;/block&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;block group3_d&amp;gt;&lt;br/&gt;/ onblockbegin = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;values.in_group_count += 1;&lt;br/&gt;]&lt;br/&gt;/ trials = [1=mytrial]&lt;br/&gt;/ branch = [&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (values.in_group_count &amp;lt; values.n_blocks_in_group) {&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;list.group3_blocks.nextvalue;&lt;br/&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br/&gt;]&lt;br/&gt;&amp;lt;/block&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;trial mytrial&amp;gt;&lt;br/&gt;/ stimulusframes = [1=mytext]&lt;br/&gt;/ validresponse = (57)&lt;br/&gt;&amp;lt;/trial&amp;gt;&lt;br/&gt;&lt;br/&gt;&amp;lt;text mytext&amp;gt;&lt;br/&gt;/ items = ("This is block &amp;lt;%script.currentblock%&amp;gt;. ~nIt is block number &amp;lt;%values.in_group_count%&amp;gt; in a group of &amp;lt;%values.n_blocks_in_group%&amp;gt; blocks.")&lt;br/&gt;/ size = (75%, 30%)&lt;br/&gt;&amp;lt;/text&amp;gt;&lt;br/&gt;</description><pubDate>Wed, 20 May 2020 20:26:51 GMT</pubDate><dc:creator>Dave</dc:creator></item><item><title>RE: Semi-randomized blocks</title><link>https://forums.millisecond.com/Topic29056.aspx</link><description>&lt;blockquote data-id="29055" class="if-quote-wrapper" unselectable="on" data-guid="1589998972453" id="if_insertedNode_1589998972254" contenteditable="false"&gt;&lt;a class="quote-para" unselectable="on" style="display: none;" href="#" data-id="29055" title="Move Cursor Below" contenteditable="false"&gt;&lt;span unselectable="on"&gt;+&lt;/span&gt;&lt;/a&gt;&lt;a class="quote-delete" unselectable="on" style="display: none;" href="#" data-id="29055" title="Delete Quote" contenteditable="false"&gt;&lt;span unselectable="on"&gt;x&lt;/span&gt;&lt;/a&gt;&lt;span unselectable="on" class="quote-markup"&gt;[quote]&lt;/span&gt;&lt;div unselectable="on" class="if-quote-header" contenteditable="false"&gt;&lt;div unselectable="on" class="if-quote-toggle-wrapper"&gt;&lt;a class="if-quote-toggle quote-link" href="#" data-id="29055" title=" "&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;&lt;span unselectable="on" class="quote-markup"&gt;[b]&lt;/span&gt;AndrewPapale - 5/20/2020&lt;span unselectable="on" class="quote-markup"&gt;[/b]&lt;/span&gt;&lt;/div&gt;&lt;div class="if-quote-message if-quote-message-29055"&gt;&lt;div class="if-quote-message-margin" contenteditable="true"&gt;(Sorry, it's really hard to post a reply to in this forum)&lt;br/&gt;&lt;br/&gt;Thank you, I'll try this approach. &amp;nbsp;&lt;br/&gt;&lt;br/&gt;I actually have 6 different blocks that I want to counterbalance. &amp;nbsp;Will I have to create a new &amp;lt;exp&amp;gt; for each possibility (probably infeasible given the number of possible combinations), or is there a way around this?&lt;br/&gt;&lt;br/&gt;Thanks!&lt;a class="if-quote-goto quote-link" href="#" data-id="29055"&gt;&lt;span class="goto"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;span unselectable="on" class="quote-markup"&gt;[/quote]&lt;/span&gt;&lt;/blockquote&gt;&lt;br/&gt;"Counterbalancing" (the word you used) means what you want to do is systematic, i.e. the order is an (implicit at least) between-subjects condition. If that's the way you want to treat this, then yes, you need to create the requisite amount of &amp;lt;expt&amp;gt;s (i.e. between-subjects conditions). If you merely want to randomize groups of blocks, then there may be another way, but you'd have to be way more specific about what exactly it is you want to do.&lt;br/&gt;</description><pubDate>Wed, 20 May 2020 18:26:16 GMT</pubDate><dc:creator>Dave</dc:creator></item><item><title>RE: Semi-randomized blocks</title><link>https://forums.millisecond.com/Topic29055.aspx</link><description>(Sorry, it's really hard to post a reply to in this forum)&lt;br/&gt;&lt;br/&gt;Thank you, I'll try this approach. &amp;nbsp;&lt;br/&gt;&lt;br/&gt;I actually have 6 different blocks that I want to counterbalance. &amp;nbsp;Will I have to create a new &amp;lt;exp&amp;gt; for each possibility (probably infeasible given the number of possible combinations), or is there a way around this?&lt;br/&gt;&lt;br/&gt;Thanks!</description><pubDate>Wed, 20 May 2020 18:05:10 GMT</pubDate><dc:creator>AndrewPapale</dc:creator></item><item><title>RE: Semi-randomized blocks</title><link>https://forums.millisecond.com/Topic29049.aspx</link><description>&lt;blockquote data-id="29048" class="if-quote-wrapper" unselectable="on" data-guid="1589917791448" id="if_insertedNode_1589917790414" contenteditable="false"&gt;&lt;a class="quote-para" unselectable="on" style="display: none;" href="#" data-id="29048" title="Move Cursor Below" contenteditable="false"&gt;&lt;span unselectable="on"&gt;+&lt;/span&gt;&lt;/a&gt;&lt;a class="quote-delete" unselectable="on" style="display: none;" href="#" data-id="29048" title="Delete Quote" contenteditable="false"&gt;&lt;span unselectable="on"&gt;x&lt;/span&gt;&lt;/a&gt;&lt;span unselectable="on" class="quote-markup"&gt;[quote]&lt;/span&gt;&lt;div unselectable="on" class="if-quote-header" contenteditable="false"&gt;&lt;div unselectable="on" class="if-quote-toggle-wrapper"&gt;&lt;a class="if-quote-toggle quote-link" href="#" data-id="29048" title=" "&gt;&amp;nbsp;&lt;/a&gt;&lt;/div&gt;&lt;span unselectable="on" class="quote-markup"&gt;[b]&lt;/span&gt;AndrewPapale - 5/19/2020&lt;span unselectable="on" class="quote-markup"&gt;[/b]&lt;/span&gt;&lt;/div&gt;&lt;div class="if-quote-message if-quote-message-29048"&gt;&lt;div class="if-quote-message-margin" contenteditable="true"&gt;Hello,&lt;br/&gt;&lt;br/&gt;I'd like to randomize blocks, but in groups, as in the following:&amp;nbsp;&lt;br/&gt;&lt;br/&gt;1 = instructions&lt;br/&gt;2-3 = group 1&lt;br/&gt;4-5 = group2&lt;br/&gt;&lt;br/&gt;where the order of (2-3) or (4-5) are counterbalanced. &amp;nbsp;Is this possible?&lt;br/&gt;&lt;br/&gt;Thanks!&lt;a class="if-quote-goto quote-link" href="#" data-id="29048"&gt;&lt;span class="goto"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;span unselectable="on" class="quote-markup"&gt;[/quote]&lt;/span&gt;&lt;/blockquote&gt;&lt;br/&gt;You can counterbalance by setting up two &amp;lt;expt&amp;gt; elements with the respective orders:&lt;br/&gt;&lt;br/&gt;// group 1 blocks first&lt;br/&gt;&amp;lt;expt&amp;gt;&lt;br/&gt;/ blocks = [1=instructions;&lt;br/&gt;2-3 = noreplace(group1_block_a, group1_block_b); &lt;br/&gt;4-5 = noreplace(group2_block_a, group2_block_b);&lt;br/&gt;]&lt;br/&gt;/ groups = (1 of 2)&lt;br/&gt;&amp;lt;/expt&amp;gt;&lt;br/&gt;&lt;br/&gt;// group 2 blocks first&lt;br/&gt;&amp;lt;expt&amp;gt;&lt;br/&gt;/ blocks = [1=instructions;&lt;br/&gt;2-3 = noreplace(group2_block_a, group2_block_b); &lt;br/&gt;4-5 = noreplace(group1_block_a, group1_block_b);&lt;br/&gt;]&lt;br/&gt;/ groups = (2 of 2)&lt;br/&gt;&amp;lt;/expt&amp;gt;</description><pubDate>Tue, 19 May 2020 19:52:51 GMT</pubDate><dc:creator>Dave</dc:creator></item></channel></rss>