<snapdata remixID="12200504"><project name="RPS algorithm comparator" app="Snap! 7, https://snap.berkeley.edu" version="2"><notes>This project is a tester of Rock, Paper, Scissors algorithms. Two algorithms are tested in a duel: player 1 vs. player 2. An impartial manager keeps the score. For demonstration purposes two really simple algorithms were implemented, each generating a random number from 1 to 3, or an invalid number (so as to simulate invalid), or late response (such as could be the case with a more serious algorithm). Both algorithms&apos;"moves" are visualized by icons.&#xD;&#xD;v1.1: the RPS rounds list is now updated at its head (item 1 is the current round).</notes><thumbnail>data:image/png;base64,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</thumbnail><scenes select="1"><scene name="RPS algorithm comparator"><notes>This project is a tester of Rock, Paper, Scissors algorithms. Two algorithms are tested in a duel: player 1 vs. player 2. An impartial manager keeps the score. For demonstration purposes two really simple algorithms were implemented, each generating a random number from 1 to 3, or an invalid number (so as to simulate invalid), or late response (such as could be the case with a more serious algorithm). Both algorithms&apos;"moves" are visualized by icons.&#xD;&#xD;v1.1: the RPS rounds list is now updated at its head (item 1 is the current round).</notes><palette><category name="MQTT" color="143,0,100,1"/></palette><hidden></hidden><headers></headers><code></code><blocks><block-definition s="do %&apos;do?&apos; %&apos;text&apos; %&apos;action&apos; (done)" type="command" category="control"><comment w="354" collapsed="false">WHAT IT DOES: Keep multiple coherent actions together, such that they can easily be moved, copied, commented on, temporarily switched off, deleted, etc&#xD;INPUT:&#xD;1. The first slot is a switch to specify whether the encapsulated code will be executed, or switched off (e.g. for debugging purposes).&#xD;2. In the second slot comments (even multiple lines) may be added.&#xD;3. The third (C-shaped) slot is for the action(-s) to be executed (or not, depending on the switch in slot 1).</comment><header></header><code></code><translations>pt:o texto multilinha _&#xD;</translations><inputs><input type="%b">true</input><input type="%mlt"></input><input type="%cs"></input></inputs><script><block s="doIf"><block var="do?"/><script><block s="doRun"><block var="action"/><list></list></block></script></block></script><scripts><script x="10" y="150.99999999999994"><custom-block s="do %b %mlt %cs (done)"><l><bool>true</bool></l><l>An example application of the "do" block.&#xD;You&apos;re reading a multiline comment.</l><script><block s="doDeclareVariables"><list><l>home</l></list></block><block s="doSetVar"><l>home</l><block s="getPosition"></block><comment w="138.423828125" collapsed="true">... or on a single block.</comment></block><block s="doGotoObject"><l><option>random position</option></l></block><custom-block s="do %b %mlt %cs (done)"><l><bool>false</bool></l><l>The action within this "do" block was (temporarily?)&#xD;switched off for debugging reasons.&#xD;Can you guess why?</l><script><block s="doSetVar"><l>home</l><block s="getPosition"></block></block></script></custom-block><block s="doGotoObject"><block var="home"/></block></script><comment w="189" collapsed="false">Feel free to add a separate comment on the entire cluster of blocks ...</comment></custom-block></script><script x="10" y="378.6666666666667"><custom-block s="do %b %mlt %cs (done)"><l/><l>The "do" block may also be used&#xD;as a placeholder for future additions.</l><script></script></custom-block></script></scripts></block-definition><block-definition s="$flash zip %&apos;lists&apos;" type="reporter" category="lists"><comment x="0" y="0" w="192" collapsed="false">ZIP takes any number of lists as inputs.  The lists should all be the same length.  ZIP reports a list of lists in which the first item is a list of all the first items, the second item is a list of all the second items, etc.&#xD;Viewing the inputs as the rows of a matrix, ZIP reports its transpose.</comment><header></header><code></code><translations></translations><inputs><input type="%mult%l"></input></inputs><script><block s="doReport"><block s="reportListAttribute"><l><option>columns</option></l><block var="lists"/></block></block></script></block-definition><block-definition s="let %&apos;item&apos; be %&apos;value&apos; %&apos;action&apos;" type="command" category="variables"><header></header><code></code><translations></translations><inputs><input type="%upvar"></input><input type="%s"></input><input type="%cs"></input></inputs><script><block s="doSetVar"><l>item</l><block var="value"/></block><block s="doRun"><block var="action"/><list></list></block></script></block-definition><block-definition s="%&apos;value&apos; shift by %&apos;shift&apos; mod %&apos;modulus&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n">-1</input><input type="%n"></input></inputs><script><block s="doReport"><block s="reportDifference"><block s="reportModulus"><block s="reportVariadicSum"><list><block var="value"/><block var="shift"/></list></block><block var="modulus"/></block><block var="shift"/></block></block></script></block-definition><block-definition s="change item %&apos;indices&apos; of %&apos;data&apos; using %&apos;function&apos;" type="command" category="variables"><header></header><code></code><translations></translations><inputs><input type="%mult%n"></input><input type="%l"></input><input type="%repRing"></input></inputs><script><block s="doIf"><block s="reportNot"><block s="reportListIsEmpty"><block var="indices"/></block></block><script><block s="doReplaceInList"><block s="reportListItem"><l>1</l><block var="indices"/></block><block var="data"/><block s="evaluate"><block var="function"/><list><block s="reportListItem"><block s="reportListItem"><l>1</l><block var="indices"/></block><block var="data"/></block></list></block></block><custom-block s="change item %mult%n of %l using %repRing"><block s="reportCDR"><block var="indices"/></block><block var="data"/><block var="function"/></custom-block></script></block></script></block-definition></blocks><stage name="Stage" width="480" height="360" costume="0" color="255,255,255,1" tempo="60" threadsafe="false" penlog="false" volume="100" pan="0" lines="round" ternary="false" hyperops="true" codify="false" inheritance="true" sublistIDs="false" id="111"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAAAXNSR0IArs4c6QAADoVJREFUeF7t1cEJAAAIxDDdf2m3sJ+4wEEQuuMIECBAgACBd4F9XzRIgAABAgQIjAB7AgIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECByxcQFpoRMBzwAAAABJRU5ErkJggg==</pentrails><costumes><list struct="atomic" id="112"></list></costumes><sounds><list struct="atomic" id="113"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="1"><sprite name="manager" idx="1" x="0" y="0" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="1" color="80,80,80,1" pen="tip" id="118"><costumes><list id="119"><item><ref mediaID="manager_cst_rock"></ref></item></list></costumes><sounds><list struct="atomic" id="120"></list></sounds><blocks></blocks><variables></variables><scripts><script x="20" y="10"><block s="receiveGo"></block><custom-block s="do %b %mlt %cs (done)"><l><bool>true</bool></l><l>Initialize</l><script><block s="doSetVar"><l>#rounds</l><l>15</l></block><block s="doSetVar"><l>round duration</l><l>500</l></block><block s="doSetVar"><l>newline</l><block s="reportUnicodeAsLetter"><l>10</l></block></block><block s="doSetVar"><l>domain</l><block s="reportNumbers"><l>1</l><l>3</l></block></block><block s="doSetVar"><l>RPS symbol</l><block s="reportNewList"><list><l>🗿</l><l>📄</l><l>✂️</l></list></block></block><block s="doSetVar"><l>too late</l><l>⏰</l></block><block s="doSetVar"><l>invalid</l><l>❌</l></block><block s="doSetVar"><l>RPS rounds</l><block s="reportNewList"><list></list></block></block></script></custom-block><block s="bubble"><block s="reportJoinWords"><list><l>Start duel</l><block var="newline"/><l>Think: </l><block s="reportQuotient"><block var="round duration"/><l>1000</l></block><l> sec.</l><block var="newline"/><l>Display: 1 sec.</l></list></block></block><block s="doWait"><l>2</l></block><block s="doBroadcastAndWait"><l>new game</l><list></list></block><block s="doRepeat"><block var="#rounds"/><script><block s="doDeclareVariables"><list><l>current</l><l>start time</l><l>RSP 1</l><l>RSP 2</l><l>score</l></list></block><block s="doSetVar"><l>RPS rounds</l><block s="reportCONS"><block s="reportNewList"><list><l>-</l><l>-</l><l>-</l></list></block><block var="RPS rounds"/></block></block><block s="doSetVar"><l>current</l><block s="reportListItem"><l>1</l><block var="RPS rounds"/></block></block><block s="doBroadcast"><l>make your moves</l><list></list></block><block s="doSetVar"><l>start time</l><block s="reportDate"><l><option>time in milliseconds</option></l></block></block><block s="doWaitUntil"><block s="reportOr"><block s="reportAnd"><block s="reportListContainsItem"><block var="domain"/><block s="reportListItem"><l>1</l><block var="current"/></block></block><block s="reportListContainsItem"><block var="domain"/><block s="reportListItem"><l>2</l><block var="current"/></block></block></block><block s="reportGreaterThanOrEquals"><block s="reportDifference"><block s="reportDate"><l><option>time in milliseconds</option></l></block><block var="start time"/></block><block var="round duration"/></block></block></block><block s="doSetVar"><l>RSP 1</l><block s="reportListItem"><l>1</l><block var="current"/></block></block><block s="doSetVar"><l>RSP 2</l><block s="reportListItem"><l>2</l><block var="current"/></block></block><block s="doIfElse"><block s="reportAnd"><block s="reportListContainsItem"><block var="domain"/><block var="RSP 1"/></block><block s="reportListContainsItem"><block var="domain"/><block var="RSP 2"/></block></block><script><block s="doSetVar"><l>score</l><custom-block s="%n shift by %n mod %n"><block s="reportDifference"><block var="RSP 1"/><block var="RSP 2"/></block><l>1</l><l>3</l></custom-block></block></script><script><block s="doSetVar"><l>score</l><l>0</l></block><block s="doIf"><block s="reportNot"><block s="reportListContainsItem"><block var="domain"/><block var="RSP 1"/></block></block><script><block s="doChangeVar"><l>score</l><l>-1</l></block></script></block><block s="doIf"><block s="reportNot"><block s="reportListContainsItem"><block var="domain"/><block var="RSP 2"/></block></block><script><block s="doChangeVar"><l>score</l><l>1</l></block></script></block></script></block><block s="doReplaceInList"><l>3</l><block var="current"/><block var="score"/></block><custom-block s="do %b %mlt %cs (done)"><l><bool>true</bool></l><l>This block may be switched off in a competition with many round,&#xD;in order to save time.</l><script><block s="bubble"><block s="reportJoinWords"><list><l>Round </l><block s="reportListAttribute"><l><option>length</option></l><block var="RPS rounds"/></block><block var="newline"/><l>Player 1: </l><block s="reportIfElse"><block s="reportListContainsItem"><block var="domain"/><block var="RSP 1"/></block><block s="reportListItem"><block var="RSP 1"/><block var="RPS symbol"/></block><block s="reportIfElse"><block s="reportEquals"><block var="RSP 1"/><l>-</l></block><block var="too late"/><block var="invalid"/></block></block><block var="newline"/><l>Player 2: </l><block s="reportIfElse"><block s="reportListContainsItem"><block var="domain"/><block var="RSP 2"/></block><block s="reportListItem"><block var="RSP 2"/><block var="RPS symbol"/></block><block s="reportIfElse"><block s="reportEquals"><block var="RSP 2"/><l>-</l></block><block var="too late"/><block var="invalid"/></block></block><block var="newline"/><block s="reportIfElse"><block s="reportEquals"><block var="score"/><l>1</l></block><l>Player 1 wins</l><block s="reportIfElse"><block s="reportEquals"><block var="score"/><l>-1</l></block><l>Player 2 wins</l><l>Draw</l></block></block></list></block></block><block s="doWait"><l>1</l></block></script></custom-block></script></block><block s="doSetVar"><l>result</l><block s="reportCombine"><block s="reportListItem"><l>3</l><custom-block s="$flash zip %mult%l"><block var="RPS rounds"/></custom-block></block><block s="reifyReporter"><autolambda><block s="reportVariadicSum"><list><l></l><l></l></list></block></autolambda><list></list></block></block></block><block s="bubble"><block s="reportJoinWords"><list><l>Overall result: </l><block s="reportIfElse"><block s="reportEquals"><block var="result"/><l>0</l></block><l>Draw</l><block s="reportJoinWords"><list><l>Player </l><block s="reportIfElse"><block s="reportGreaterThan"><block var="result"/><l>0</l></block><l>1</l><l>2</l></block><l> wins</l><block var="newline"/><l>by a margin of </l><block s="reportMonadic"><l><option>abs</option></l><block var="result"/></block></list></block></block></list></block></block></script><script x="20" y="1529.3333333333326"><custom-block s="change item %mult%n of %l using %repRing"><list><l></l></list><l/><block s="reifyReporter"><script></script><list></list></block></custom-block></script><script x="20" y="1570.3333333333326"><custom-block s="let %upvar be %s %cs"><l>item</l><l></l><script></script></custom-block></script></scripts></sprite><sprite name="Player 1" idx="2" x="-134" y="76.99999999999997" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="0" color="62.831999999999994,142.8,0,1" pen="tip" id="466"><costumes><list struct="atomic" id="467"></list></costumes><sounds><list struct="atomic" id="468"></list></sounds><blocks></blocks><variables></variables><scripts><script x="20" y="20"><block s="receiveMessage"><l>new game</l><list></list></block><custom-block s="do %b %mlt %cs (done)"><l><bool>true</bool></l><l>This is a placeholder for any actions preparing the player’s algorithm for a new game.</l><script></script></custom-block></script><script x="20" y="122.83333333333334"><block s="receiveMessage"><l>make your moves</l><list></list></block><block s="doDeclareVariables"><list><l>move</l></list></block><custom-block s="do %b %mlt %cs (done)"><l><bool>true</bool></l><l>This is a placeholder for this player’s RPS algorithm.&#xD;RSP rounds may be read but not changed except for the final block of this script.&#xD;Valid moves are: 1 (= Rock); 2 (= Paper); 3 (= Scissors).</l><script><block s="doSetVar"><l>move</l><block s="reportRandom"><l>1</l><l>4</l></block><comment w="156" collapsed="false">Sample algorithm, for testing; value 4 will be rejected of course.</comment></block></script></custom-block><block s="doReplaceInList"><l>1</l><block s="reportListItem"><l>1</l><block var="RPS rounds"/></block><block var="move"/></block></script></scripts></sprite><sprite name="Player 2" idx="3" x="0" y="0" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="0" color="0,127.5,127.5,1" pen="tip" id="506"><costumes><list struct="atomic" id="507"></list></costumes><sounds><list struct="atomic" id="508"></list></sounds><blocks></blocks><variables></variables><scripts><script x="20" y="20"><block s="receiveMessage"><l>new game</l><list></list></block><custom-block s="do %b %mlt %cs (done)"><l><bool>true</bool></l><l>This is a placeholder for any actions preparing the player’s algorithm for a new game.</l><script></script></custom-block></script><script x="20" y="122.83333333333334"><block s="receiveMessage"><l>make your moves</l><list></list></block><block s="doDeclareVariables"><list><l>move</l></list></block><custom-block s="do %b %mlt %cs (done)"><l><bool>true</bool></l><l>This is a placeholder for this player’s RPS algorithm.&#xD;RSP rounds may be read but not changed except for the final block of this script.&#xD;Valid moves are: 1 (= Rock); 2 (= Paper); 3 (= Scissors).</l><script><block s="doIf"><block s="reportEquals"><block s="reportRandom"><l>1</l><l>4</l></block><l>4</l><comment w="136" collapsed="false">Sample algorithm, for testing; late response will be rejected.</comment></block><script><block s="doWait"><block s="reportVariadicProduct"><list><block var="round duration"/><l>1.5</l></list></block></block></script></block><block s="doSetVar"><l>move</l><block s="reportRandom"><l>1</l><l>3</l></block></block></script></custom-block><block s="doReplaceInList"><l>2</l><block s="reportListItem"><l>1</l><block var="RPS rounds"/></block><block var="move"/></block></script></scripts></sprite><watcher var="result" style="normal" x="10" y="52.00000399999999" color="243,118,29" hidden="true"/><watcher var="newline" style="normal" x="20" y="20" color="243,118,29" hidden="true"/><watcher var="domain" style="normal" x="20" y="62.00000399999999" color="243,118,29" hidden="true"/><watcher var="RPS symbol" style="normal" x="20" y="248.00000799999992" color="243,118,29" hidden="true"/><watcher var="too late" style="normal" x="20" y="290.0000119999999" color="243,118,29" hidden="true"/><watcher var="invalid" style="normal" x="20" y="317.999996" color="243,118,29" hidden="true"/></sprites></stage><variables><variable name="result"><l>2</l></variable><variable name="#rounds"><l>15</l></variable><variable name="round duration"><l>500</l></variable><variable name="RPS rounds" transient="true"/><variable name="newline"><l>&#xD;</l></variable><variable name="domain"><list struct="atomic" id="570">1,2,3</list></variable><variable name="RPS symbol"><list struct="atomic" id="571">🗿,📄,✂️</list></variable><variable name="too late"><l>⏰</l></variable><variable name="invalid"><l>❌</l></variable></variables></scene></scenes></project><media name="RPS algorithm comparator" app="Snap! 7, https://snap.berkeley.edu" version="2"><costume name="rock" center-x="64" center-y="64" image="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxMjggMTI4IiB2aWV3Qm94PSIwIDAgMTI4IDEyOCIgd2lkdGg9IjEyOCIgaGVpZ2h0PSIxMjgiPjxsaW5lYXJHcmFkaWVudCBpZD0iYSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSI4Ny42MTU2IiB4Mj0iNDEuNTQ3OSIgeTE9IjIxLjAzOTUiIHkyPSIxMzguMDgzNiI+PHN0b3Agb2Zmc2V0PSIwIiBzdG9wLWNvbG9yPSIjOWU5NThlIi8+PHN0b3Agb2Zmc2V0PSIuNDU5NyIgc3RvcC1jb2xvcj0iIzhlODg4NCIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzc1NzU3NSIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSJiIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjguODU4OCIgeDI9IjQ3LjE3MTMiIHkxPSIxMjAuMTM3NCIgeTI9Ijc3LjUzNjIiPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iIzM3NDc0ZiIvPjxzdG9wIG9mZnNldD0iLjYxMjIiIHN0b3AtY29sb3I9IiM0MjU2NWYiIHN0b3Atb3BhY2l0eT0iLjE5MTUiLz48c3RvcCBvZmZzZXQ9Ii43NTczIiBzdG9wLWNvbG9yPSIjNDU1YTY0IiBzdG9wLW9wYWNpdHk9IjAiLz48L2xpbmVhckdyYWRpZW50PjxsaW5lYXJHcmFkaWVudCBpZD0iYyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSI5OS41NTM1IiB4Mj0iNzQuNzc4MSIgeTE9IjY2LjcwMTgiIHkyPSIxMS43NDU1Ij48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiM5ZTk1OGUiLz48c3RvcCBvZmZzZXQ9Ii40NDE1IiBzdG9wLWNvbG9yPSIjYWVhMjk4Ii8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjYzliOGE5Ii8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9ImQiPjxzdG9wIG9mZnNldD0iLjAwMDM4MDYwOSIgc3RvcC1jb2xvcj0iIzRjNWM2NCIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzQ1NWE2NCIgc3RvcC1vcGFjaXR5PSIwIi8+PC9saW5lYXJHcmFkaWVudD48bGluZWFyR3JhZGllbnQgaWQ9ImUiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMzcuNTAxNyIgeDI9IjQ3LjUwMTciIHhsaW5rOmhyZWY9IiNkIiB5MT0iMTA0LjU0NDciIHkyPSI1MC4yOTQ3Ii8+PGxpbmVhckdyYWRpZW50IGlkPSJmIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjQxLjczMTkiIHgyPSI3MC43ODIxIiB4bGluazpocmVmPSIjZCIgeTE9IjIwLjQxNjMiIHkyPSIyMC40MTYzIi8+PGxpbmVhckdyYWRpZW50IGlkPSJnIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9Ijg3LjI2MDkiIHgyPSIxMjEuNjE2IiB5MT0iNzYuNjA2NyIgeTI9IjkwLjc2NjYiPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iIzllOTU4ZSIvPjxzdG9wIG9mZnNldD0iLjI1IiBzdG9wLWNvbG9yPSIjYWVhMjk4Ii8+PHN0b3Agb2Zmc2V0PSIuNTY2MiIgc3RvcC1jb2xvcj0iI2M5YjhhOSIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSJoIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjEwNC42NDYiIHgyPSI5Ny42MDU1IiB5MT0iMTIzLjM1NzQiIHkyPSI5NS41ODY3Ij48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiMzNzQ3NGYiLz48c3RvcCBvZmZzZXQ9Ii44MDg1IiBzdG9wLWNvbG9yPSIjNDI1NjVmIiBzdG9wLW9wYWNpdHk9Ii4xOTE1Ii8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjNDU1YTY0IiBzdG9wLW9wYWNpdHk9IjAiLz48L2xpbmVhckdyYWRpZW50PjxwYXRoIGQ9Im04LjkzIDkwLjc0Yy0uNTMtMS4yNS0xLjA0LTIuNS0xLjU0LTMuNzUtMy43Ny05LjUxLjk2LTE4LjA5IDUuMTgtMjYuNDlsNi4xMi0xMi4xNmMxLjIzLTIuNDUgMy4xMi00LjUxIDUuNDQtNS45NWwxNy42LTEwLjkyIDE3LjM5LTE3Ljk4YzEuMDgtMS4xMiAyLjQ2LTEuOTEgMy45Ny0yLjI3bDExLjg0LTIuODZjNS43My0xLjM3IDguMTktMS4xNSAxMC4wNCAxLjQ4IDYuNDEgOS4xIDEwLjcgMTYuNTkgMTYuNDEgMjUuNjYgMy4xMSA0Ljk0IDEwLjI5IDE2LjI5IDEwLjc0IDE3LjA0IDEuMzggMi4zMi44MiA0LjI2Ljc3IDYuOTItLjEyIDYuMTMuOTYgMTIuMjkgMy4yIDE4IC42NyAxLjcgMS40NCAzLjM4IDEuNzkgNS4xNy4zMiAxLjYxLS4xMSAxMS44NC0uNDQgMTUuMy0uMjcgMi44MS02LjkxIDEzLjMtOS4yOSAxNC41Ny0yLjYyIDEuNC0yMi4wNCA4LjU0LTI2LjMzIDkuNzZzLTIyLjg5LTMuMDMtMzIuNTUtNC41MWMtNS45Ny0uOTEtMTEuOTUtMS44My0xNy45Mi0yLjc0LTUuMTgtLjc5LTEwLjMzLS4xOS0xMy4yMy01LjQyLTMuNDEtNi4xMi02LjQ3LTEyLjQxLTkuMTktMTguODV6IiBmaWxsPSJ1cmwoI2EpIi8+PHBhdGggZD0ibTMxLjM0IDExNWM1Ljk3LjkxIDExLjk1IDEuODMgMTcuOTIgMi43NCAzLjExLjQ4IDcuMTUgMS4yNCAxMS4zNCAyLjAyLTIuODItMy4zNC03LjAzLTcuMy05Ljg1LTEwLjY0LS42MS0uNzItMS4yMy0xLjQ3LTEuNDUtMi4zOS0uMjMtLjk4LjAzLTEuOTkuMy0yLjk2Ljg2LTMuMTggMS4wOC02LjYzIDEuOTQtOS44MS01LjMzIDEuMjQtMTcuNjEgMy42LTE4LjYyIDMuMzEtMS4xMi0uMzItMi4wMy0xLjEzLTIuOS0xLjkyLTYuMzMtNS43OC0xMS4yOC0xMS42MS0xNi4xMi0xOC42Ni0uNTctLjgzLTEuMTUtMS42OS0xLjM2LTIuNjgtLjItLjkzLS4wNS0xLjg5LjEtMi44Mi4zNi0yLjMyIDEuMTYtOC43NSAxLjgtMTQuNDJsLTEuODggMy43M2MtNC4yMSA4LjQtOC45NCAxNi45OC01LjE2IDI2LjQ5LjUgMS4yNiAxLjAxIDIuNTEgMS41NCAzLjc1IDIuNzEgNi40NCA1Ljc4IDEyLjczIDkuMTcgMTguODMgMi44OSA1LjI0IDguMDUgNC42NCAxMy4yMyA1LjQzeiIgZmlsbD0idXJsKCNiKSIvPjxwYXRoIGQ9Im04NS4wNSA5Ljk1Yy0xLjIzLTEuNDUtMy42My0xLjE3LTYuMTUgMS4xM2wtOS4wNiA5LjA2Yy0uNTYuNTYtLjg2IDEuMzMtLjgxIDIuMTJsLjk3IDE4LjVjLjAzLjYyLjI2IDEuMi42NiAxLjY3IDMuMjIgMy43NiAxNC42IDIxLjgzIDE3LjkgMjEuODMgMy4yOSAwIDkuMDQtMTIuODIgMTEuOTctMTIuNzUuNS4wMSAzLjExLjE3IDUuNjYuOTUgMi4zOC43MiAzLjMxLTIuNTUgMi44Mi00Ljg3LTIuNDYtMy45LTUuNzctOS4xMy03LjYzLTEyLjA5LTUuNjktOS4wMy05Ljk3LTE2LjUtMTYuMzMtMjUuNTV6IiBmaWxsPSJ1cmwoI2MpIi8+PHBhdGggZD0ibTQyLjg5IDQ2LjM3YzMuMzMtLjUgMTQuNDQtMi4zOSAxNi41My0zLjIxIDQuMDgtMS42MSA3LjY4LTguNDcgMTAuMDYtMTIuMTYgMCAwIC44MiAxMi4wMyAwIDE2LjczLS41NyAzLjI3LTIuNzIgMjAuMzctNC44OCAyNC40N2wtMTMuMDYgMjEuNzZjLTYuNC02LjQtMTIuNzktMTIuNzktMTkuMTktMTkuMTktMS42My0xLjYzLTIuNjctMi40OS0zLjI2LTQuOC0xLjM1LTUuMjgtMy44LTEzLjA3LTMuODEtMTcuNjZzMTIuMzYtNS4xNiAxNy42MS01Ljk0eiIgZmlsbD0idXJsKCNlKSIvPjxwYXRoIGQ9Im02Ny4xNiAyMC43NGMtMS4yOC0xLjUzLTEuNjQtMy43LTEuMi01LjY0LjM3LTEuNjIgMy43My00Ljc1IDQuODItNS43NGwtNy42OSAxLjg2Yy0xLjUxLjM3LTIuODkgMS4xNS0zLjk3IDIuMjdsLTE3LjM5IDE3Ljk4czE2Ljg0LTcuMDIgMjUuNDMtMTAuNzN6IiBmaWxsPSJ1cmwoI2YpIi8+PHBhdGggZD0ibTExNi4wOCA3Ny40NmMtMS42OC00LjI4LTIuNzEtOC44MS0zLjA2LTEzLjM5LTUuNzQgMy45My04Ljk1IDkuMDMtMTguMTkgMTAuMjgtMi40NS4zMy02LjI0Ljc5LTguNjMgMS40Mi0yLjk2Ljc4LTUuNyAyLjk3LTEwLjE0IDMuMzgtMy4xNi4zLTExLjEzLjA3LTkuOTMgMS44NXM4LjM1IDUuMzcgMTAuMTMgNi44MmMyLjUzIDIuMDMgNC43MyA0LjQyIDYuODQgNi44OCAxLjEgMS4yOSAyLjc1IDQuNDIgNC42NyA1LjI3LjQ5LjIyIDEuMDEuMjggMS41My4xMi45MS0uMjcgMS42NC0uOTMgMi4zNS0xLjU2IDYuODctNi4wOSAxNC42NC0xMS4xNyAyMi45Ny0xNS4wMi44OS0uNDEgMS44NS0uODcgMi4yOS0xLjc1LjE5LS4zOS4yNy0uOTIuMjgtMS40OS0uMzUtLjk0LS43NC0xLjg3LTEuMTEtMi44MXoiIGZpbGw9InVybCgjZykiLz48cGF0aCBkPSJtMTE3Ljg3IDgyLjYzYy0uMTMtLjY1LS4zMi0xLjI5LS41NC0xLjkyLS4xNy41OS0uNTQgMS4yNC0xLjM0IDEuODUtMi4zIDEuNzYtMTEuMTcgNC40Ny0yMC45MyAxMy4wMi02LjM3IDUuNTgtNi4zOCA2LjMzLTcuNzUgMTIuNDgtMi4yNCAxMC4wNy01LjggMTMuNzMtNi40OCAxNC4zNS4zNy0uMDQuNy0uMDkuOTctLjE3IDQuMy0xLjIxIDIzLjcxLTguMzYgMjYuMzMtOS43NiAyLjM4LTEuMjcgOS4wMi0xMS43NiA5LjI5LTE0LjU3LjM0LTMuNDQuNzctMTMuNjcuNDUtMTUuMjh6IiBmaWxsPSJ1cmwoI2gpIi8+PC9zdmc+" mediaID="manager_cst_rock"/></media></snapdata>