mirror of
https://github.com/ocogeclub/ocoge.git
synced 2024-11-21 15:19:48 +00:00
1023 lines
35 KiB
HTML
1023 lines
35 KiB
HTML
<!DOCTYPE html>
|
||
<html>
|
||
|
||
<head>
|
||
<meta charset="UTF-8" />
|
||
|
||
<link rel="stylesheet" href="./lib/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">Source Code:</div>
|
||
<pre id="dlgContent" class="prettyprint lang-js linenums"></pre>
|
||
<button id="dlgClose" title="このダイアログを閉じます。">閉じる</button>
|
||
<button id="dlgExport" title="ソースコードをファイルに保存します。">ファイルに保存</button>
|
||
<span class="dlgCli" title="ソースコードの window.alert() を 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 redo" 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="[0Dv+s57IrE5bItrMx6V">番号</field>
|
||
<field name="crease">+</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>
|
||
<block type="ugj_hextodec">
|
||
<value name="hex">
|
||
<shadow type="text">
|
||
<field name="TEXT">ff</field>
|
||
</shadow>
|
||
</value>
|
||
</block>
|
||
<block type="ugj_dectohex">
|
||
<value name="dec">
|
||
<shadow type="math_number">
|
||
<field name="NUM">255</field>
|
||
</shadow>
|
||
</value>
|
||
</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>
|
||
<block type="ugj_charcode">
|
||
<value name="char">
|
||
<shadow type="text">
|
||
<field name="TEXT">a</field>
|
||
</shadow>
|
||
</value>
|
||
</block>
|
||
<block type="ugj_codechar">
|
||
<value name="code">
|
||
<shadow type="math_number">
|
||
<field name="NUM">97</field>
|
||
</shadow>
|
||
</value>
|
||
</block>
|
||
</category>
|
||
<category name="リスト" css-icon="customIcon fas fa-list-ol" categorystyle="list_category">
|
||
<block type="lists_create_with">
|
||
<mutation items="2"></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_open"></block>
|
||
<block type="ugj_gpio_close"></block>
|
||
<label text="基本"></label>
|
||
<block type="ugj_gpio_set_output">
|
||
<value name="gpio">
|
||
<shadow type="math_number">
|
||
<field name="NUM">5</field>
|
||
</shadow>
|
||
</value>
|
||
</block>
|
||
<block type="ugj_gpio_write">
|
||
<value name="gpio">
|
||
<shadow type="math_number">
|
||
<field name="NUM">5</field>
|
||
</shadow>
|
||
</value>
|
||
<field name="level">1</field>
|
||
</block>
|
||
<block type="ugj_gpio_set_input">
|
||
<field name="lflag">pi.PULL_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_pwm">
|
||
<value name="gpio">
|
||
<shadow type="math_number">
|
||
<field name="NUM">5</field>
|
||
</shadow>
|
||
</value>
|
||
<value name="pwm_frequency">
|
||
<shadow type="math_number">
|
||
<field name="NUM">50</field>
|
||
</shadow>
|
||
</value>
|
||
<value name="pwm_duty_cycle">
|
||
<shadow type="math_number">
|
||
<field name="NUM">30</field>
|
||
</shadow>
|
||
</value>
|
||
</block>
|
||
<block type="ugj_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_open">
|
||
<field name="baud">9600</field>
|
||
<!-- <value name="tty">
|
||
<shadow type="text">
|
||
<field name="TEXT">/dev/serial0</field>
|
||
</shadow>
|
||
</value> -->
|
||
</block>
|
||
<block type="ugj_serial_close"></block>
|
||
<block type="ugj_serial_read">
|
||
<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_i2c_open">
|
||
<value name="i2c_address">
|
||
<shadow type="math_number">
|
||
<field name="NUM">0</field>
|
||
</shadow>
|
||
</value>
|
||
</block>
|
||
<block type="ugj_i2c_close"></block>
|
||
<block type="ugj_i2c_write_byte_data">
|
||
<value name="reg">
|
||
<shadow type="math_number">
|
||
<field name="NUM">0</field>
|
||
</shadow>
|
||
</value>
|
||
<value name="byte_val">
|
||
<shadow type="math_number">
|
||
<field name="NUM">0</field>
|
||
</shadow>
|
||
</value>
|
||
</block>
|
||
<block type="ugj_i2c_read_byte_data">
|
||
<value name="reg">
|
||
<shadow type="math_number">
|
||
<field name="NUM">0</field>
|
||
</shadow>
|
||
</value>
|
||
</block>
|
||
<block type="ugj_i2c_read_word_data">
|
||
<value name="reg">
|
||
<shadow type="math_number">
|
||
<field name="NUM">0</field>
|
||
</shadow>
|
||
</value>
|
||
</block>
|
||
<block type="ugj_i2c_write_i2c_block_data">
|
||
<value name="reg">
|
||
<shadow type="math_number">
|
||
<field name="NUM">0</field>
|
||
</shadow>
|
||
</value>
|
||
<value name="data">
|
||
<shadow type="text">
|
||
<field name="TEXT">abc</field>
|
||
</shadow>
|
||
</value>
|
||
</block>
|
||
<block type="ugj_i2c_read_device">
|
||
<value name="count">
|
||
<shadow type="math_number">
|
||
<field name="NUM">1</field>
|
||
</shadow>
|
||
</value>
|
||
</block>
|
||
<block type="ugj_i2c_write_device">
|
||
<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="Extra" web-line="4.0" web-line-width="200"></label>
|
||
<label text="_" web-line="4.0" web-line-width="200"></label>
|
||
</category>
|
||
<category name="センサー" css-icon="customIcon fas fa-microchip" categorystyle="sensor_category">
|
||
<label text="温湿度気圧センサー BME280" web-line="4.0" web-line-width="200"></label>
|
||
<block type="ugj_bme280">
|
||
<field name="temp" id="4iysIXd|f$Jj$9hZ(R_H">気温</field>
|
||
<field name="hum" id="IT?JH;IRcsGP.8I%aEgw">湿度</field>
|
||
<field name="pres" id="I^GLkF^Z3#x2F0ho%J[?">気圧</field>
|
||
<value name="address">
|
||
<shadow type="ugj_hextodec">
|
||
<value name="hex">
|
||
<shadow type="text">
|
||
<field name="TEXT">76</field>
|
||
</shadow>
|
||
</value>
|
||
</shadow>
|
||
</value>
|
||
</block>
|
||
<label text="ジェスチャーセンサー PAJ7620" web-line="4.0" web-line-width="200"></label>
|
||
<block type="ugj_gesture_init">
|
||
<value name="i2c_addr">
|
||
<shadow type="ugj_hextodec">
|
||
<value name="hex">
|
||
<shadow type="text">
|
||
<field name="TEXT">73</field>
|
||
</shadow>
|
||
</value>
|
||
</shadow>
|
||
</value>
|
||
</block>
|
||
<block type="ugj_gesture_read"></block>
|
||
<block type="ugj_gesture_stop"></block>
|
||
<label text="赤外線アレイセンサー(サーマルカメラ)AMG8833" web-line="4.0" web-line-width="200"></label>
|
||
<block type="ugj_grideye_init">
|
||
<field name="addr">0x69</field>
|
||
</block>
|
||
<block type="ugj_grideye_thermistor"></block>
|
||
<block type="ugj_grideye_read"></block>
|
||
<block type="ugj_grideye_stop"></block>
|
||
<block type="ugj_grideye_canvas_create"></block>
|
||
<block type="ugj_draw_grideyedata">
|
||
<field name="color_high">#ff0000</field>
|
||
<field name="color_low">#3333ff</field>
|
||
<value name="temp_high">
|
||
<shadow type="math_number">
|
||
<field name="NUM">28</field>
|
||
</shadow>
|
||
</value>
|
||
<value name="temp_low">
|
||
<shadow type="math_number">
|
||
<field name="NUM">15</field>
|
||
</shadow>
|
||
</value>
|
||
</block>
|
||
<block type="ugj_teachable_machine"></block>
|
||
<block type="ugj_grideye_predict_class"></block>
|
||
<block type="ugj_grideye_add_example">
|
||
<value name="class_id">
|
||
<shadow type="math_number">
|
||
<field name="NUM">0</field>
|
||
</shadow>
|
||
</value>
|
||
</block>
|
||
<block type="ugj_tensorset_stringify"></block>
|
||
<block type="ugj_tensorset_parse"></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_picker">
|
||
<field name="COLOUR">#ff0000</field>
|
||
</block>
|
||
<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>
|
||
<label text="顔認識" web-line="4.0" web-line-width="200"></label>
|
||
<block type="ugj_faceapi">
|
||
<field name="with_landmark">FALSE</field>
|
||
</block>
|
||
<block type="ugj_face_init"></block>
|
||
<block type="ugj_face_display"></block>
|
||
<block type="ugj_face_detect">
|
||
<field name="x" id="TF-ziC[]OAJ9]r}YjUQg" variabletype="">左</field>
|
||
<field name="y" id="]G:_%S*1v4!9_+yx532d" variabletype="">上</field>
|
||
<field name="w" id="wP$LdeXDCiWzrI!/9R)G" variabletype="">幅</field>
|
||
<field name="h" id="8+E.-dP-Omt}v2~DCC]M" variabletype="">高さ</field>
|
||
</block>
|
||
<block type="ugj_face_drawrect"></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="ウェブチャット" 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_remove">
|
||
<value name="key">
|
||
<shadow type="text">
|
||
<field name="TEXT">storage</field>
|
||
</shadow>
|
||
</value>
|
||
</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_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_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>
|
||
<block type="ugj_dev_run_js"></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/python_compressed.js"></script>
|
||
<script src="./google-blockly/blocks_compressed.js"></script>
|
||
<script src="./google-blockly/msg/js/ja.js"></script>
|
||
<script src="./lib/custom-dialog.js"></script>
|
||
<script src="./ugj_blocks.js"></script>
|
||
<script src="./index_elutil.js"></script>
|
||
<script src="./index.js"></script>
|
||
<script src="./lib/beautify.min.js"></script>
|
||
<script src="./lib/prettify.js"></script>
|
||
<!-- <script src="./.shared/skyway_key.js"></script> -->
|
||
</body>
|
||
|
||
</html> |