ランダムブロックは入力コネクタにメッセージが入るたびに、複数の出力コネクタのうちランダムに1つを選びメッセージを出力するソフトウェアブロックです。今回の例では、6つの出力コネクタの中からランダムに1つを選び出力するようにします。
ランダムブロック : コード
"RandomOut" Function
"RandomOut" Functionのソースコードは以下の通りです。
Initialize
/*** No Initialize Codes ***/
Receive
/*** No Receive Codes ***/
Execute
/*** No Execute Codes ***/
Result
//Select a output connector out of 6 connectors randomly
var outputIndex = Math.floor( Math.random() * 6 );
return {
indexes : [ outputIndex ],
resultType : "continue"
}
ランダムブロック : Import用 JSONデータ
以下にImport用のJSONデータを記載します。「Import機能」を参考にJSONデータをImportすることで、SDK上でブロックの作成、設定項目、コードの確認、編集が可能です。
Import用 JSONデータ
{"formatVersion":"1.0","tagData":{"name":"Random","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAAAAXNSR0IArs4c6QAAA8BJREFUeAHtnE9rIkEQxceoIIpelOTmKZDv/2E8efDkRVBRRBMjcamFXhrsP5Opnn4z7hOCw3RPv6r365pp3bU7i8XiXvAFc+AFpkzhvw4QAHgiEAABgB0Ay7MCCADsAFieFUAAYAfA8qwAAgA7AJZnBYAB9DT693v8a6ROp6ORaMy1sVyr5qkC8Pr6GjVou90WPz8/0X5N7jAcDovRaBQM8evrqzgej8E+rkYVgOl0WrjIyzkzY/b7fasBSB4CYDabPfhn53k6nYrD4eD04+FC64QKgIzjAmCfNyAszdYeunI156rmyYcweDoQQEkAZqaX7F66GwGUtKrqLSY2vPoZEBMItUtSk8mkeHlpzjyQ1czn52co7KRttQIoM2vG43HR7XaTJqUZTJaSl8vlYXFR1y2oVgBiRChwaVuv1xq/arnWFbNMJtd5CSDUFgtQBUDWvrFX7EOYL6nYuLnaJb7r9VpIrr6Klj7n87lSSB3Nf0vxBWRH0nSD7VhDx3XlqqqAZzE3ZLxpqyvX5iw/TKb/2TsBgIETwLMAkIeUfGVb5mEFzjmJfK/XKwaDgXqsZBUgxs/nc3VAbRlAvqJ+e3tTT7hkANpiXNPiJAAwEQIgALADYHlWAAGAHQDLswIIAOwAWJ4VQABgB8DyrAACADsAlmcFEADYAbA8K4AAwA6A5VkBBAB2ACzPCiAAsANgeVYAAYAdAMuzAggA7ABYnhVAAGAHwPKsAAIAOwCWZwUQANgBsDwrgADADoDlWQEEAHaggrz8ZFX+UuxxofqhdoXYn+oS+VmW9vfDvAUppoTWfJEmAAWAFJcSQAoXFWMQgMK8FJcSQAoXFWMQgMK8FJcSQAoXFWOo9gt6f3//tw6WJZnZJ8I+Xq1Wxe12U4SIvVRykh2C7Z1z7fW/OZYdtWT7td8uTVUAZMOK0KdBCU7+2v6SHGVjwZC5IR9C+fMWFHLHaguZb3X79aGqAmJqZYKObeoX00jdLjG74ja3mtR6tQKIBStJfXx8BG9jsTFSt+92u2Kz2TxAcEFJoQ0FIEktl8sUeSQdw2V2XRXAZ0ACdJqFRq0ANIEl8CXpEK6qMAKhNtPH966+BblMloBc531BtOG8Kx87z6oQVP8g0+/3o959f39H+zS9g/kcEIpTAFX5wKmqgGcwN2SqaZOlcl3L5VqfASYBvvsdIAC/N1laCCCLzX4RAvB7k6WFALLY7BchAL83WVoIIIvNfhEC8HuTpYUAstjsFyEAvzdZWgggi81+EQLwe5OlhQCy2OwX+QM87NrMcdrt8wAAAABJRU5ErkJggg==","description":"This is a sample software block.","functions":[{"id":"function_0","name":"RandomOut","connector":{"inputs":[{"label":""}],"outputs":[{"label":"out1"},{"label":"out2"},{"label":"out3"},{"label":"out4"},{"label":"out5"},{"label":"out6"}]},"properties":[],"extension":{"initialize":"/*** No Initialize Codes ***/","receive":"/*** No Receive Codes ***/","execute":"/*** No Execute Codes ***/","result":"//Select a output connector out of 6 connectors randomly\nvar outputIndex = Math.floor( Math.random() * 6 );\n\nreturn {\n\tindexes : [ outputIndex ],\n\tresultType : \"continue\"\n}\n"}}]}}
以下のリンクからダウンロードできます。