mirror of
https://github.com/ocogeclub/ocoge.git
synced 2024-11-24 16:39:49 +00:00
934 lines
32 KiB
HTML
934 lines
32 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
|
|
<link rel="stylesheet" href="./scripts/prettify_desert.css">
|
|
</link>
|
|
<link rel="stylesheet" href="./fonts/css/all.min.css">
|
|
</link>
|
|
<link rel="stylesheet" href="./index.css">
|
|
</link>
|
|
|
|
</head>
|
|
|
|
<body>
|
|
<!-- コードダイアログ -->
|
|
<dialog id="codeDlg">
|
|
<div id="dlgTitle">Javascript Code:</div>
|
|
<pre id="dlgContent" class="prettyprint lang-js linenums"></pre>
|
|
<button id="dlgClose" title="このダイアログを閉じます。">閉じる</button>
|
|
<button id="dlgExport" title="JavaScript コードをファイルに保存します。">ファイルに保存</button>
|
|
<span class="dlgCli" title="コードをファイルに保存する際、黒板表示ブロックのコードを console.log() に変更します。コマンドラインで動かしたい場合にちょっと便利です。"><input
|
|
type="checkbox" id="dlgCli">CLI</span>
|
|
<div id="conmenu">
|
|
<ul>
|
|
<li><a href="#" onclick="document.execCommand('copy');" class="conCopy">コピー</a></li>
|
|
</ul>
|
|
</div>
|
|
</dialog>
|
|
|
|
|
|
<!-- ツールバー(左) -->
|
|
<div class="toolbar">
|
|
<div class="toolbar-left">
|
|
<span class="appTitle" title="大岩産 Code Generator" onclick="testfunc()"><span class="o">お</span><span
|
|
class="co">こ</span><span class="ge">げ</span></span>
|
|
</div>
|
|
|
|
<!-- ツールバー(右) -->
|
|
<div class="toolbar-right" id="toolbar-right">
|
|
<button class="toolbarButton" title="JavaScriptのプログラムコードを表示・保存します。" onclick="ugj_showCode()"><i
|
|
class="fas fa-code"></i> CODE</button>
|
|
<button class="toolbarButton" title="ワークスペースや設定を削除して最初から始めます。" onclick="ugj_newWorkspace()"><i
|
|
class="fas fa-file"></i> 新規</button>
|
|
<button onclick="ugj_loadWorkspaceFromFile()" class="toolbarButton"
|
|
title="ファイルに保存したブロックプログラムを読み込みます。既にワークスペースにあるブロックは削除されません。"><i class="fas fa-folder-open"></i> 開く</button>
|
|
<button onclick="ugj_saveWorkspaceToFile()" class="toolbarButton" title="ワークスペースのブロックプログラムをファイルに保存します。"><i
|
|
class="fas fa-save"></i> 保存</button>
|
|
<button class="toolbarButton" title="ワークスペースのブロックプログラムを別名でファイルに保存します。" onclick="ugj_saveWorkspaceAs()"><i
|
|
class="fas fa-clone"></i> 別名</button>
|
|
<button class="toolbarButton" title="ブロックプログラムを実行します。" onclick="ugj_runCode()" id="runbtn"><i
|
|
class="fas fa-play-circle"></i> 実行</button>
|
|
<button class="iconbutton" title="アプリを再読み込みします。" onclick="location.reload()"><i
|
|
class="fas fa-redo-alt"></i></button>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Blockly -->
|
|
<div id="blocklyArea"></div>
|
|
<div id="blocklyDiv" style="position: absolute"></div>
|
|
|
|
<!-- ディスプレイカラム(ビデオ・ターミナル表示) -->
|
|
<div class="rightPane" id="dispColumn">
|
|
<div id="display_area"><canvas id="canvas_bg" class="display" width="480" height="360"></canvas><canvas id="canvas"
|
|
class="display" width="480" height="360"></canvas><canvas id="gcanvas" class="display" width="480"
|
|
height="360"></canvas><video id="maindisplay" class="display" width="480" height="360" autoplay
|
|
muted></video><video id="subdisplay" class="subdisplay" width="160" height="120" autoplay muted></video></div>
|
|
<pre id="blackboard" disabled></pre>
|
|
<form name="inputForm" onsubmit="return false" autocomplete="off" id="inputForm">
|
|
<div class="inputDiv"><input type="text" id="inputBox">
|
|
<div class="inputBtnDiv"><input type="submit" value="" class="inputBtn fas"></div>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
|
|
<!-- ツールボックス定義 -->
|
|
<xml xmlns="https://developers.google.com/blockly/xml" id="toolbox" style="display: none">
|
|
<category name="論理" css-icon="customIcon fas fa-random" categorystyle="logic_category">
|
|
<block type="controls_if"></block>
|
|
<block type="logic_compare">
|
|
<field name="OP">EQ</field>
|
|
</block>
|
|
<block type="logic_operation">
|
|
<field name="OP">AND</field>
|
|
</block>
|
|
<block type="logic_negate"></block>
|
|
<block type="logic_boolean">
|
|
<field name="BOOL">TRUE</field>
|
|
</block>
|
|
<block type="logic_null"></block>
|
|
<block type="logic_ternary"></block>
|
|
</category>
|
|
<category name="ループ" css-icon="customIcon fas fa-redo-alt" categorystyle="loop_category">
|
|
<block type="controls_repeat_ext">
|
|
<value name="TIMES">
|
|
<shadow type="math_number">
|
|
<field name="NUM">10</field>
|
|
</shadow>
|
|
</value>
|
|
</block>
|
|
<block type="controls_whileUntil">
|
|
<field name="MODE">WHILE</field>
|
|
</block>
|
|
<block type="ugj_control_for">
|
|
<field name="index" id="wcdXljeguV+HoJ=u4|_8">番号</field>
|
|
<field name="crease">increase</field>
|
|
<value name="from">
|
|
<shadow type="math_number">
|
|
<field name="NUM">1</field>
|
|
</shadow>
|
|
</value>
|
|
<value name="to">
|
|
<shadow type="math_number">
|
|
<field name="NUM">10</field>
|
|
</shadow>
|
|
</value>
|
|
<value name="by">
|
|
<shadow type="math_number">
|
|
<field name="NUM">1</field>
|
|
</shadow>
|
|
</value>
|
|
</block>
|
|
<block type="ugj_controls_forEach">
|
|
<field name="item" id="~!WaafBNY_R,9DB`?.cd" variabletype="">項目</field>
|
|
</block>
|
|
<block type="controls_flow_statements">
|
|
<field name="FLOW">BREAK</field>
|
|
</block>
|
|
</category>
|
|
<category name="数・計算" css-icon="customIcon fas fa-calculator" categorystyle="math_category">
|
|
<block type="math_number">
|
|
<field name="NUM">0</field>
|
|
</block>
|
|
<block type="math_arithmetic">
|
|
<field name="OP">ADD</field>
|
|
<value name="A">
|
|
<shadow type="math_number">
|
|
<field name="NUM">1</field>
|
|
</shadow>
|
|
</value>
|
|
<value name="B">
|
|
<shadow type="math_number">
|
|
<field name="NUM">1</field>
|
|
</shadow>
|
|
</value>
|
|
</block>
|
|
<block type="math_round">
|
|
<field name="OP">ROUND</field>
|
|
<value name="NUM">
|
|
<shadow type="math_number">
|
|
<field name="NUM">3.1</field>
|
|
</shadow>
|
|
</value>
|
|
</block>
|
|
<block type="math_single">
|
|
<field name="OP">ROOT</field>
|
|
<value name="NUM">
|
|
<shadow type="math_number">
|
|
<field name="NUM">9</field>
|
|
</shadow>
|
|
</value>
|
|
</block>
|
|
<block type="math_modulo">
|
|
<value name="DIVIDEND">
|
|
<shadow type="math_number">
|
|
<field name="NUM">64</field>
|
|
</shadow>
|
|
</value>
|
|
<value name="DIVISOR">
|
|
<shadow type="math_number">
|
|
<field name="NUM">10</field>
|
|
</shadow>
|
|
</value>
|
|
</block>
|
|
<block type="math_random_int">
|
|
<value name="FROM">
|
|
<shadow type="math_number">
|
|
<field name="NUM">1</field>
|
|
</shadow>
|
|
</value>
|
|
<value name="TO">
|
|
<shadow type="math_number">
|
|
<field name="NUM">100</field>
|
|
</shadow>
|
|
</value>
|
|
</block>
|
|
<block type="math_random_float"></block>
|
|
</category>
|
|
<category name="文字列" css-icon="customIcon fas fa-font" categorystyle="text_category">
|
|
<block type="text">
|
|
<field name="TEXT"></field>
|
|
</block>
|
|
<block type="text_print">
|
|
<value name="TEXT">
|
|
<shadow type="text">
|
|
<field name="TEXT">こんにちは!</field>
|
|
</shadow>
|
|
</value>
|
|
</block>
|
|
<block type="text_join">
|
|
<mutation items="2"></mutation>
|
|
</block>
|
|
<block type="text_length">
|
|
<value name="VALUE">
|
|
<shadow type="text">
|
|
<field name="TEXT">abc</field>
|
|
</shadow>
|
|
</value>
|
|
</block>
|
|
<block type="text_indexOf">
|
|
<value name="VALUE">
|
|
<block type="variables_get">
|
|
<field name="VAR">text</field>
|
|
</block>
|
|
</value>
|
|
<value name="FIND">
|
|
<shadow type="text">
|
|
<field name="TEXT">abc</field>
|
|
</shadow>
|
|
</value>
|
|
</block>
|
|
<block type="text_charAt">
|
|
<value name="VALUE">
|
|
<block type="variables_get">
|
|
<field name="VAR">text</field>
|
|
</block>
|
|
</value>
|
|
</block>
|
|
<block type="text_getSubstring">
|
|
<value name="STRING">
|
|
<block type="variables_get">
|
|
<field name="VAR">text</field>
|
|
</block>
|
|
</value>
|
|
</block>
|
|
</category>
|
|
<category name="リスト" css-icon="customIcon fas fa-list-ol" categorystyle="list_category">
|
|
<block type="lists_create_with">
|
|
<mutation items="0"></mutation>
|
|
</block>
|
|
<block type="lists_create_with">
|
|
<mutation items="3"></mutation>
|
|
</block>
|
|
<block type="lists_length"></block>
|
|
<block type="lists_isEmpty"></block>
|
|
<block type="lists_indexOf">
|
|
<field name="END">FIRST</field>
|
|
<value name="VALUE">
|
|
<block type="variables_get">
|
|
<field name="VAR" id="3kh{pye%.qbQf]}y64q6" variabletype="">list</field>
|
|
</block>
|
|
</value>
|
|
</block>
|
|
<block type="lists_getIndex">
|
|
<mutation statement="false" at="true"></mutation>
|
|
<field name="MODE">GET</field>
|
|
<field name="WHERE">FROM_START</field>
|
|
<value name="VALUE">
|
|
<block type="variables_get">
|
|
<field name="VAR" id="3kh{pye%.qbQf]}y64q6" variabletype="">list</field>
|
|
</block>
|
|
</value>
|
|
</block>
|
|
<block type="lists_setIndex">
|
|
<mutation at="true"></mutation>
|
|
<field name="MODE">SET</field>
|
|
<field name="WHERE">FROM_START</field>
|
|
<value name="LIST">
|
|
<block type="variables_get">
|
|
<field name="VAR" id="3kh{pye%.qbQf]}y64q6" variabletype="">list</field>
|
|
</block>
|
|
</value>
|
|
</block>
|
|
<block type="lists_split">
|
|
<mutation mode="SPLIT"></mutation>
|
|
<field name="MODE">SPLIT</field>
|
|
<value name="DELIM">
|
|
<shadow type="text">
|
|
<field name="TEXT">,</field>
|
|
</shadow>
|
|
</value>
|
|
</block>
|
|
<block type="lists_sort">
|
|
<field name="TYPE">NUMERIC</field>
|
|
<field name="DIRECTION">1</field>
|
|
</block>
|
|
</category>
|
|
<category name="変数" css-icon="customIcon fas fa-bars" categorystyle="variable_category" custom="VARIABLE">
|
|
</category>
|
|
<category name="関数" css-icon="customIcon fas fa-yin-yang" categorystyle="procedure_category" custom="PROCEDURE">
|
|
</category>
|
|
<sep></sep>
|
|
<category name="GPIO" css-icon="customIcon fab fa-raspberry-pi" categorystyle="gpio_category">
|
|
<label text="基本"></label>
|
|
<block type="ugj_gpio_start"></block>
|
|
<block type="ugj_gpio_stop"></block>
|
|
<block type="ugj_gpio_setoutput">
|
|
<value name="gpio">
|
|
<shadow type="math_number">
|
|
<field name="NUM">5</field>
|
|
</shadow>
|
|
</value>
|
|
</block>
|
|
<block type="ugj_gpio_write">
|
|
<value name="ugj_gpio_num">
|
|
<shadow type="math_number">
|
|
<field name="NUM">5</field>
|
|
</shadow>
|
|
</value>
|
|
<value name="ugj_gpio_value">
|
|
<shadow type="math_number">
|
|
<field name="NUM">1</field>
|
|
</shadow>
|
|
</value>
|
|
</block>
|
|
<block type="ugj_gpio_setinput">
|
|
<field name="updown">pi.PUD_DOWN</field>
|
|
<value name="gpio">
|
|
<shadow type="math_number">
|
|
<field name="NUM">6</field>
|
|
</shadow>
|
|
</value>
|
|
</block>
|
|
<block type="ugj_gpio_read">
|
|
<value name="gpio">
|
|
<shadow type="math_number">
|
|
<field name="NUM">6</field>
|
|
</shadow>
|
|
</value>
|
|
</block>
|
|
<label text="パルス" web-line="4.0" web-line-width="200"></label>
|
|
<block type="ugj_gpio_setpwmfreqrange">
|
|
<field name="pwmfreq">50</field>
|
|
<value name="gpio">
|
|
<shadow type="math_number">
|
|
<field name="NUM">5</field>
|
|
</shadow>
|
|
</value>
|
|
</block>
|
|
<block type="ugj_gpio_setpwmdutycycle">
|
|
<value name="dutycycle">
|
|
<shadow type="math_number">
|
|
<field name="NUM">0</field>
|
|
</shadow>
|
|
</value>
|
|
<value name="gpio">
|
|
<shadow type="math_number">
|
|
<field name="NUM">5</field>
|
|
</shadow>
|
|
</value>
|
|
</block>
|
|
<block type="ugj_gpio_servo">
|
|
<value name="gpio">
|
|
<shadow type="math_number">
|
|
<field name="NUM">12</field>
|
|
</shadow>
|
|
</value>
|
|
<value name="pulsewidth">
|
|
<shadow type="math_number">
|
|
<field name="NUM">1500</field>
|
|
</shadow>
|
|
</value>
|
|
</block>
|
|
<label text="シリアル" web-line="4.0" web-line-width="200"></label>
|
|
<block type="ugj_serial_openclose">
|
|
<field name="baud">9600</field>
|
|
<value name="tty">
|
|
<shadow type="text">
|
|
<field name="TEXT">/dev/serial0</field>
|
|
</shadow>
|
|
</value>
|
|
</block>
|
|
<block type="ugj_gpio_serialread">
|
|
<value name="count">
|
|
<shadow type="math_number">
|
|
<field name="NUM">1</field>
|
|
</shadow>
|
|
</value>
|
|
</block>
|
|
<block type="ugj_serial_write">
|
|
<value name="data">
|
|
<shadow type="text_join">
|
|
<mutation items="2"></mutation>
|
|
<value name="ADD0">
|
|
<shadow type="text">
|
|
<field name="TEXT">ohayo-.</field>
|
|
</shadow>
|
|
</value>
|
|
<value name="ADD1">
|
|
<shadow type="ugj_text_cr"></shadow>
|
|
</value>
|
|
</shadow>
|
|
</value>
|
|
</block>
|
|
<label text="I2C" web-line="4.0" web-line-width="200"></label>
|
|
<block type="ugj_gpio_i2copen">
|
|
<value name="i2c_addr">
|
|
<shadow type="math_number">
|
|
<field name="NUM">0</field>
|
|
</shadow>
|
|
</value>
|
|
</block>
|
|
<block type="ugj_gpio_i2cclose"></block>
|
|
<block type="ugj_gpio_i2cwritebyte">
|
|
<value name="reg">
|
|
<shadow type="math_number">
|
|
<field name="NUM">0</field>
|
|
</shadow>
|
|
</value>
|
|
<value name="byteData">
|
|
<shadow type="math_number">
|
|
<field name="NUM">0</field>
|
|
</shadow>
|
|
</value>
|
|
</block>
|
|
<block type="ugj_gpio_i2creadbyte">
|
|
<value name="reg">
|
|
<shadow type="math_number">
|
|
<field name="NUM">0</field>
|
|
</shadow>
|
|
</value>
|
|
</block>
|
|
<label text="センサー" web-line="4.0" web-line-width="200"></label>
|
|
<label text="Extra" web-line="4.0" web-line-width="200"></label>
|
|
<block type="ugj_gpio_start_remote">
|
|
<field name="host"></field>
|
|
</block>
|
|
<block type="ugj_gpio_sleep">
|
|
<field name="sec">1</field>
|
|
</block>
|
|
<label text="_" web-line="4.0" web-line-width="200"></label>
|
|
</category>
|
|
<category name="マルチメディア" css-icon="customIcon fas fa-gamepad" categorystyle="multimedia_category">
|
|
<label text="キャンバス" web-line="4.0" web-line-width="200"></label>
|
|
<block type="ugj_canvas_init"></block>
|
|
<block type="ugj_canvas_clearrect">
|
|
<value name="x">
|
|
<shadow type="math_number">
|
|
<field name="NUM">0</field>
|
|
</shadow>
|
|
</value>
|
|
<value name="y">
|
|
<shadow type="math_number">
|
|
<field name="NUM">0</field>
|
|
</shadow>
|
|
</value>
|
|
<value name="w">
|
|
<shadow type="math_number">
|
|
<field name="NUM">100</field>
|
|
</shadow>
|
|
</value>
|
|
<value name="h">
|
|
<shadow type="math_number">
|
|
<field name="NUM">100</field>
|
|
</shadow>
|
|
</value>
|
|
</block>
|
|
<block type="ugj_canvas_width"></block>
|
|
<block type="ugj_canvas_height"></block>
|
|
<block type="ugj_canvas_drawcircle">
|
|
<value name="x">
|
|
<shadow type="math_number">
|
|
<field name="NUM">100</field>
|
|
</shadow>
|
|
</value>
|
|
<value name="y">
|
|
<shadow type="math_number">
|
|
<field name="NUM">100</field>
|
|
</shadow>
|
|
</value>
|
|
<value name="r">
|
|
<shadow type="math_number">
|
|
<field name="NUM">10</field>
|
|
</shadow>
|
|
</value>
|
|
<value name="color">
|
|
<shadow type="colour_picker">
|
|
<field name="COLOUR">#9999ff</field>
|
|
</shadow>
|
|
</value>
|
|
</block>
|
|
<block type="ugj_canvas_drawrect">
|
|
<value name="x">
|
|
<shadow type="math_number">
|
|
<field name="NUM">0</field>
|
|
</shadow>
|
|
</value>
|
|
<value name="y">
|
|
<shadow type="math_number">
|
|
<field name="NUM">0</field>
|
|
</shadow>
|
|
</value>
|
|
<value name="w">
|
|
<shadow type="math_number">
|
|
<field name="NUM">100</field>
|
|
</shadow>
|
|
</value>
|
|
<value name="h">
|
|
<shadow type="math_number">
|
|
<field name="NUM">100</field>
|
|
</shadow>
|
|
</value>
|
|
<value name="color">
|
|
<shadow type="colour_picker">
|
|
<field name="COLOUR">#ff0000</field>
|
|
</shadow>
|
|
</value>
|
|
</block>
|
|
<block type="ugj_canvas_loadimg">
|
|
<value name="imgfilename">
|
|
<shadow type="text">
|
|
<field name="TEXT">photo.jpg</field>
|
|
</shadow>
|
|
</value>
|
|
</block>
|
|
<block type="ugj_canvas_finalize"></block>
|
|
<label text="イベント" web-line="4.0" web-line-width="200"></label>
|
|
<block type="ugj_event_key">
|
|
<field name="key" id="MRLP/?IZ:[U}[AV@bf6%" variabletype="">キー</field>
|
|
<field name="updown">keydown</field>
|
|
</block>
|
|
<label text="色" web-line="4.0" web-line-width="200"></label>
|
|
<block type="colour_random"></block>
|
|
<block type="colour_rgb">
|
|
<value name="RED">
|
|
<shadow type="math_number">
|
|
<field name="NUM">100</field>
|
|
</shadow>
|
|
</value>
|
|
<value name="GREEN">
|
|
<shadow type="math_number">
|
|
<field name="NUM">50</field>
|
|
</shadow>
|
|
</value>
|
|
<value name="BLUE">
|
|
<shadow type="math_number">
|
|
<field name="NUM">0</field>
|
|
</shadow>
|
|
</value>
|
|
</block>
|
|
<label text="サウンド" web-line="4.0" web-line-width="200"></label>
|
|
<block type="ugj_sound_play">
|
|
<field name="sound">meow</field>
|
|
</block>
|
|
<block type="ugj_multimedia_webspeech_recognition" disabled="true">
|
|
<field name="transcript" id="=3;~1sjv_R.pRhO)=wQY" variabletype="">ことば</field>
|
|
<field name="continuous">once</field>
|
|
<field name="interim">TRUE</field>
|
|
</block>
|
|
<label text="画像認識" web-line="4.0" web-line-width="200"></label>
|
|
<block type="ugj_library_load">
|
|
<value name="lib">
|
|
<shadow type="ugj_library_tensorflow"></shadow>
|
|
</value>
|
|
</block>
|
|
<block type="ugj_tfpredict_init"></block>
|
|
<block type="ugj_tfpredict_loadmodel"></block>
|
|
<block type="ugj_tfpredict_predict">
|
|
<field name="result" id="!=~_{T-;nZXP-rWM|beL" variabletype="">結果</field>
|
|
</block>
|
|
<label text="_" web-line="4.0" web-line-width="200"></label>
|
|
</category>
|
|
|
|
<category name="ネットワーク" css-icon="customIcon fas fa-wifi" categorystyle="network_category">
|
|
<label text="基本" web-line="4.0" web-line-width="200"></label>
|
|
<block type="ugj_network_axios_geturl">
|
|
<value name="url">
|
|
<shadow type="text">
|
|
<field name="TEXT">http://www.yahoo.co.jp/</field>
|
|
</shadow>
|
|
</value>
|
|
</block>
|
|
<block type="ugj_network_sendmail">
|
|
<value name="from">
|
|
<shadow type="text">
|
|
<field name="TEXT">from@ocoge.club</field>
|
|
</shadow>
|
|
</value>
|
|
<value name="to">
|
|
<shadow type="text">
|
|
<field name="TEXT">to@example.com</field>
|
|
</shadow>
|
|
</value>
|
|
<value name="subject">
|
|
<shadow type="text">
|
|
<field name="TEXT">おはよう</field>
|
|
</shadow>
|
|
</value>
|
|
<value name="text">
|
|
<shadow type="text">
|
|
<field name="TEXT">朝ですよ</field>
|
|
</shadow>
|
|
</value>
|
|
</block>
|
|
<label text="サーバー" web-line="4.0" web-line-width="200"></label>
|
|
<block type="ugj_network_httpserver">
|
|
<field name="URL" id="fIVY=P=^1=p?6=+h:,Dt" variabletype="">url</field>
|
|
<value name="response">
|
|
<shadow type="text">
|
|
<field name="TEXT">オコゲ</field>
|
|
</shadow>
|
|
</value>
|
|
</block>
|
|
<label text="リモートGPIO" web-line="4.0" web-line-width="200"></label>
|
|
<block type="ugj_gpio_start_remote">
|
|
<value name="host">
|
|
<shadow type="text">
|
|
<field name="TEXT">192.168.0.229</field>
|
|
</shadow>
|
|
</value>
|
|
</block>
|
|
<label text="ウェブチャット" web-line="4.0" web-line-width="200"></label>
|
|
<block type="ugj_library_load">
|
|
<value name="lib">
|
|
<shadow type="ugj_library_skyway"></shadow>
|
|
</value>
|
|
</block>
|
|
<block type="ugj_webchat"></block>
|
|
<block type="ugj_getusermedia"></block>
|
|
<block type="ugj_skyway_newpeer">
|
|
<field name="my_id">自分のID</field>
|
|
</block>
|
|
<block type="ugj_skyway_called"></block>
|
|
<block type="ugj_skyway_events">
|
|
<field name="remote_id" id="0H.)5,:R#6)mx{rc2O.6" variabletype="">相手のID</field>
|
|
</block>
|
|
<block type="ugj_skyway_eventopen"></block>
|
|
<block type="ugj_skyway_eventdata">
|
|
<field name="data" id="q[DF.B~59aE(90^posFt" variabletype="">発言</field>
|
|
</block>
|
|
<block type="ugj_skyway_eventsend">
|
|
<field name="data" id="vN/_]nnKA$wVHSxh2_9f" variabletype="">内容</field>
|
|
</block>
|
|
<label text="_" web-line="4.0" web-line-width="200"></label>
|
|
</category>
|
|
<category name="特殊" css-icon="customIcon fas fa-plug" categorystyle="special_category">
|
|
<label text="出入力" web-line="4.0" web-line-width="200"></label>
|
|
<block type="ugj_canvas_say">
|
|
<value name="say">
|
|
<shadow type="text">
|
|
<field name="TEXT">コンニチワ!</field>
|
|
</shadow>
|
|
</value>
|
|
<value name="sec">
|
|
<shadow type="math_number">
|
|
<field name="NUM">2</field>
|
|
</shadow>
|
|
</value>
|
|
</block>
|
|
<block type="ugj_event_answer">
|
|
<field name="answer" id="_m@Uj#wHnIuGJNVwdUR+" variabletype="">答え</field>
|
|
<value name="question">
|
|
<shadow type="text">
|
|
<field name="TEXT">お名前は?</field>
|
|
</shadow>
|
|
</value>
|
|
</block>
|
|
<block type="ugj_blackboard_show"></block>
|
|
<block type="ugj_blackboard_write">
|
|
<field name="style">normal</field>
|
|
<field name="line">new</field>
|
|
<field name="cursor">FALSE</field>
|
|
<value name="text">
|
|
<shadow type="text">
|
|
<field name="TEXT">コンニチワ!</field>
|
|
</shadow>
|
|
</value>
|
|
<value name="color">
|
|
<shadow type="colour_picker">
|
|
<field name="COLOUR">#ccffff</field>
|
|
</shadow>
|
|
</value>
|
|
</block>
|
|
<block type="ugj_blackboard_content"></block>
|
|
<block type="ugj_clearblackboard"></block>
|
|
<block type="ugj_control_button">
|
|
<field name="title" id="j{fM0uCAB9~3y=|~dd?:" variabletype="">ツールチップ</field>
|
|
<value name="label">
|
|
<shadow type="text">
|
|
<field name="TEXT">ボタン1</field>
|
|
</shadow>
|
|
</value>
|
|
<value name="textcolor">
|
|
<shadow type="colour_picker">
|
|
<field name="COLOUR">#ffffff</field>
|
|
</shadow>
|
|
</value>
|
|
<value name="bgcolor">
|
|
<shadow type="colour_picker">
|
|
<field name="COLOUR">#00cccc</field>
|
|
</shadow>
|
|
</value>
|
|
<value name="title">
|
|
<shadow type="text">
|
|
<field name="TEXT">データの保存に使えます。</field>
|
|
</shadow>
|
|
</value>
|
|
</block>
|
|
<block type="ugj_localstorage_save">
|
|
<value name="keyValue">
|
|
<shadow type="text">
|
|
<field name="TEXT">abc</field>
|
|
</shadow>
|
|
</value>
|
|
<value name="keyName">
|
|
<shadow type="text">
|
|
<field name="TEXT">storage</field>
|
|
</shadow>
|
|
</value>
|
|
</block>
|
|
<block type="ugj_localstorage_load">
|
|
<value name="keyName">
|
|
<shadow type="text">
|
|
<field name="TEXT">storage</field>
|
|
</shadow>
|
|
</value>
|
|
</block>
|
|
<block type="ugj_localstorage_keylist"></block>
|
|
<label text="制御" web-line="4.0" web-line-width="200"></label>
|
|
<block type="ugj_sleep">
|
|
<value name="sec">
|
|
<shadow type="math_number">
|
|
<field name="NUM">1</field>
|
|
</shadow>
|
|
</value>
|
|
</block>
|
|
<block type="ugj_set_timeout">
|
|
<value name="sec">
|
|
<shadow type="math_number">
|
|
<field name="NUM">1</field>
|
|
</shadow>
|
|
</value>
|
|
</block>
|
|
<block type="ugj_set_interval">
|
|
<value name="sec">
|
|
<shadow type="math_number">
|
|
<field name="NUM">1</field>
|
|
</shadow>
|
|
</value>
|
|
</block>
|
|
<block type="ugj_special_clearinterval"></block>
|
|
<label text="プロセス" web-line="4.0" web-line-width="200"></label>
|
|
<block type="ugj_spawnsync">
|
|
<field name="data" id="^B.zQ~+BcS!dKNmb,+AX" variabletype="">実行結果</field>
|
|
</block>
|
|
<block type="ugj_spawn">
|
|
<field name="data" id=")H{jxG09B6}[PcO%4H1d" variabletype="">データ</field>
|
|
</block>
|
|
<block type="ugj_child_julius"></block>
|
|
<block type="aquestalk_pi">
|
|
<value name="talk">
|
|
<shadow type="text">
|
|
<field name="TEXT">おはようございます。</field>
|
|
</shadow>
|
|
</value>
|
|
</block>
|
|
<block type="ugj_child_openjtalk">
|
|
<field name="voice">m001</field>
|
|
<value name="talk">
|
|
<shadow type="text">
|
|
<field name="TEXT">こんにちは!</field>
|
|
</shadow>
|
|
</value>
|
|
</block>
|
|
<block type="ugj_child_gesture"></block>
|
|
<block type="ugj_child_irrecord">
|
|
<value name="gpio">
|
|
<shadow type="math_number">
|
|
<field name="NUM">23</field>
|
|
</shadow>
|
|
</value>
|
|
</block>
|
|
<block type="ugj_child_irplayback">
|
|
<value name="gpio">
|
|
<shadow type="math_number">
|
|
<field name="NUM">22</field>
|
|
</shadow>
|
|
</value>
|
|
<value name="signal">
|
|
<shadow type="text">
|
|
<field name="TEXT"></field>
|
|
</shadow>
|
|
</value>
|
|
</block>
|
|
<block type="ugj_child_irrcvr">
|
|
<value name="gpio">
|
|
<shadow type="math_number">
|
|
<field name="NUM">23</field>
|
|
</shadow>
|
|
</value>
|
|
</block>
|
|
<block type="ugj_child_fswebcam">
|
|
<value name="filename">
|
|
<shadow type="text">
|
|
<field name="TEXT">photo.jpg</field>
|
|
</shadow>
|
|
</value>
|
|
</block>
|
|
<block type="ugj_child_oledtext">
|
|
<value name="line1">
|
|
<shadow type="text">
|
|
<field name="TEXT"></field>
|
|
</shadow>
|
|
</value>
|
|
<value name="line2">
|
|
<shadow type="text">
|
|
<field name="TEXT"></field>
|
|
</shadow>
|
|
</value>
|
|
<value name="line3">
|
|
<shadow type="text">
|
|
<field name="TEXT"></field>
|
|
</shadow>
|
|
</value>
|
|
<value name="line4">
|
|
<shadow type="text">
|
|
<field name="TEXT"></field>
|
|
</shadow>
|
|
</value>
|
|
</block>
|
|
<block type="ugj_child_testpy"></block>
|
|
<block type="ugj_child_testjs"></block>
|
|
<label text="特殊記号" web-line="4.0" web-line-width="200"></label>
|
|
<block type="ugj_text_cr"></block>
|
|
<block type="ugj_text_lf"></block>
|
|
<block type="ugj_text_cursor"></block>
|
|
<label text="特殊" web-line="4.0" web-line-width="200"></label>
|
|
<block type="ugj_socket">
|
|
<field name="data" id="Y^@?sd}wN]H+nmK=[{wL" variabletype="">受信データ</field>
|
|
<value name="host">
|
|
<shadow type="text">
|
|
<field name="TEXT">localhost</field>
|
|
</shadow>
|
|
</value>
|
|
<value name="port">
|
|
<shadow type="math_number">
|
|
<field name="NUM">23</field>
|
|
</shadow>
|
|
</value>
|
|
</block>
|
|
<block type="ugj_socket_write">
|
|
<value name="cmd">
|
|
<shadow type="text">
|
|
<field name="TEXT">Hello</field>
|
|
</shadow>
|
|
</value>
|
|
</block>
|
|
<block type="ugj_file_readsync">
|
|
<field name="encoding">utf8</field>
|
|
<value name="filename">
|
|
<shadow type="text">
|
|
<field name="TEXT">example.txt</field>
|
|
</shadow>
|
|
</value>
|
|
</block>
|
|
<label text="_" web-line="4.0" web-line-width="200"></label>
|
|
</category>
|
|
<category name="スニペット" css-icon="customIcon fas fa-egg" categorystyle="snippets_category">
|
|
<label text="入出力" web-line="4.0" web-line-width="200"></label>
|
|
<block type="ugj_event_answer">
|
|
<field name="answer" id="_m@Uj#wHnIuGJNVwdUR+" variabletype="">答え</field>
|
|
<value name="question">
|
|
<shadow type="text">
|
|
<field name="TEXT">お名前は?</field>
|
|
</shadow>
|
|
</value>
|
|
<statement name="do">
|
|
<block type="ugj_canvas_say">
|
|
<value name="say">
|
|
<shadow type="text">
|
|
<field name="TEXT">・・・</field>
|
|
</shadow>
|
|
</value>
|
|
<value name="sec">
|
|
<shadow type="math_number">
|
|
<field name="NUM">2</field>
|
|
</shadow>
|
|
</value>
|
|
<next>
|
|
<block type="ugj_sleep">
|
|
<value name="sec">
|
|
<shadow type="math_number">
|
|
<field name="NUM">2</field>
|
|
</shadow>
|
|
</value>
|
|
<next>
|
|
<block type="ugj_canvas_say">
|
|
<value name="say">
|
|
<block type="text_join">
|
|
<mutation items="2"></mutation>
|
|
<value name="ADD0">
|
|
<block type="variables_get">
|
|
<field name="VAR" id="_m@Uj#wHnIuGJNVwdUR+">答え</field>
|
|
</block>
|
|
</value>
|
|
<value name="ADD1">
|
|
<block type="text">
|
|
<field name="TEXT">たん</field>
|
|
</block>
|
|
</value>
|
|
</block>
|
|
|
|
</value>
|
|
<value name="sec">
|
|
<shadow type="math_number">
|
|
<field name="NUM">2</field>
|
|
</shadow>
|
|
</value>
|
|
</block>
|
|
</next>
|
|
</block>
|
|
</next>
|
|
</block>
|
|
</statement>
|
|
|
|
</block>
|
|
|
|
</category>
|
|
</xml>
|
|
|
|
<script src="./google-blockly/blockly_compressed.js"></script>
|
|
<script src="./google-blockly/javascript_compressed.js"></script>
|
|
<script src="./google-blockly/blocks_compressed.js"></script>
|
|
<script src="./google-blockly/msg/js/ja.js"></script>
|
|
<script src="./scripts/custom-dialog.js"></script>
|
|
<script src="./scripts/ugj_blocks.js"></script>
|
|
<script src="./scripts/ugj_script.js"></script>
|
|
<script src="./scripts/beautify.min.js"></script>
|
|
<script src="./scripts/prettify.js"></script>
|
|
<script src="./.shared/skyway_key.js"></script>
|
|
</body>
|
|
|
|
</html> |