nadesiko3 3.2.27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +107 -0
- package/bin/cnako3 +10 -0
- package/bin/cnako3.bat +11 -0
- package/bin/nako3server.bat +6 -0
- package/demo/ace_editor.html +90 -0
- package/demo/ace_editor_tabs.html +162 -0
- package/demo/basic.html +71 -0
- package/demo/browsers.html +128 -0
- package/demo/css/basic.css +3 -0
- package/demo/css/common.css +157 -0
- package/demo/css/editor.css +8 -0
- package/demo/css/flow.css +3 -0
- package/demo/css/index.css +3 -0
- package/demo/extlib/ace@1.4.12/ace.js +17 -0
- package/demo/extlib/ace@1.4.12/ext-code_lens.min.js +1 -0
- package/demo/extlib/ace@1.4.12/ext-language_tools.min.js +1 -0
- package/demo/extlib/ace@1.4.12/ext-options.min.js +1 -0
- package/demo/extlib/ace@1.4.12/ext-settings_menu.js +8 -0
- package/demo/extlib/ace@1.4.12/keybinding-vscode.js +8 -0
- package/demo/extlib/ace@1.4.12/theme-monokai.js +8 -0
- package/demo/extlib/ace@1.4.12/theme-xcode.js +8 -0
- package/demo/extlib/chart.js@3.2.1/chart.min.js +13 -0
- package/demo/extlib/pure-min.css +11 -0
- package/demo/flow.html +97 -0
- package/demo/graph.html +53 -0
- package/demo/image/nako.png +0 -0
- package/demo/image/nakopad-icon256.png +0 -0
- package/demo/image/turtle.fla +0 -0
- package/demo/image/turtle.png +0 -0
- package/demo/index.html +134 -0
- package/demo/js/common.js +17 -0
- package/demo/js/turtle3d_test.js +44 -0
- package/demo/js/turtle_test.js +44 -0
- package/demo/runscript.html +47 -0
- package/demo/runscript2.html +33 -0
- package/demo/turtle.html +58 -0
- package/demo/turtle2.html +141 -0
- package/demo/turtle3.html +278 -0
- package/demo/turtle3d.html +58 -0
- package/demo/turtle3d2.html +107 -0
- package/demo/version.html +24 -0
- package/doc/SETUP.md +172 -0
- package/doc/about.md +34 -0
- package/doc/browsers.md +60 -0
- package/doc/docgen.md +21 -0
- package/doc/editor.md +44 -0
- package/doc/files.md +37 -0
- package/doc/plugins.md +195 -0
- package/doc/release.md +78 -0
- package/doc/win32.md +57 -0
- package/package.json +196 -0
- package/release/_hash.txt +65 -0
- package/release/_script-tags.txt +13 -0
- package/release/command.json +1 -0
- package/release/command.json.js +1 -0
- package/release/command_cnako3.json +1 -0
- package/release/command_list.json +1 -0
- package/release/editor.js +2 -0
- package/release/editor.js.LICENSE.txt +32 -0
- package/release/josi.json +48 -0
- package/release/nako_gen_async.js +1 -0
- package/release/nako_gen_async.js.LICENSE.txt +595 -0
- package/release/plugin_caniuse.js +1 -0
- package/release/plugin_caniuse.js.LICENSE.txt +411 -0
- package/release/plugin_csv.js +1 -0
- package/release/plugin_csv.js.LICENSE.txt +367 -0
- package/release/plugin_datetime.js +1 -0
- package/release/plugin_datetime.js.LICENSE.txt +471 -0
- package/release/plugin_kansuji.js +1 -0
- package/release/plugin_kansuji.js.LICENSE.txt +491 -0
- package/release/plugin_markup.js +1 -0
- package/release/plugin_markup.js.LICENSE.txt +363 -0
- package/release/plugin_turtle.js +1 -0
- package/release/plugin_turtle.js.LICENSE.txt +435 -0
- package/release/plugin_webworker.js +1 -0
- package/release/plugin_webworker.js.LICENSE.txt +491 -0
- package/release/version.js +2 -0
- package/release/version.js.LICENSE.txt +32 -0
- package/release/wnako3.js +2 -0
- package/release/wnako3.js.LICENSE.txt +1 -0
- package/release/wnako3webworker.js +1 -0
- package/release/wnako3webworker.js.LICENSE.txt +847 -0
- package/release/yoyakugo.json +30 -0
- package/src/browsers.md +60 -0
- package/src/cnako3.js +466 -0
- package/src/commander_ja.js +154 -0
- package/src/enako3.js +69 -0
- package/src/era.json +22 -0
- package/src/index.js +5 -0
- package/src/nako3.js +836 -0
- package/src/nako3_assert.js +37 -0
- package/src/nako3editorfix.sfd +106 -0
- package/src/nako3editorfix.woff +0 -0
- package/src/nako3server.js +51 -0
- package/src/nako_colors.js +86 -0
- package/src/nako_errors.js +176 -0
- package/src/nako_gen.js +1459 -0
- package/src/nako_gen_async.js +1622 -0
- package/src/nako_global.js +113 -0
- package/src/nako_indent.js +480 -0
- package/src/nako_josi_list.js +46 -0
- package/src/nako_lex_rules.js +259 -0
- package/src/nako_lexer.js +576 -0
- package/src/nako_logger.js +138 -0
- package/src/nako_parser3.js +1768 -0
- package/src/nako_parser_base.js +265 -0
- package/src/nako_parser_const.js +37 -0
- package/src/nako_prepare.js +293 -0
- package/src/nako_reserved_words.js +35 -0
- package/src/nako_source_mapping.js +251 -0
- package/src/nako_test.js +37 -0
- package/src/nako_version.js +8 -0
- package/src/plugin_browser.js +191 -0
- package/src/plugin_browser_ajax.js +352 -0
- package/src/plugin_browser_audio.js +109 -0
- package/src/plugin_browser_canvas.js +462 -0
- package/src/plugin_browser_chart.js +296 -0
- package/src/plugin_browser_color.js +49 -0
- package/src/plugin_browser_crypto.js +26 -0
- package/src/plugin_browser_dialog.js +53 -0
- package/src/plugin_browser_dom_basic.js +322 -0
- package/src/plugin_browser_dom_event.js +193 -0
- package/src/plugin_browser_dom_parts.js +163 -0
- package/src/plugin_browser_geolocation.js +51 -0
- package/src/plugin_browser_hotkey.js +25 -0
- package/src/plugin_browser_html.js +59 -0
- package/src/plugin_browser_in_worker.js +44 -0
- package/src/plugin_browser_location.js +21 -0
- package/src/plugin_browser_speech.js +111 -0
- package/src/plugin_browser_storage.js +121 -0
- package/src/plugin_browser_system.js +12 -0
- package/src/plugin_browser_websocket.js +73 -0
- package/src/plugin_caniuse.js +24 -0
- package/src/plugin_csv.js +57 -0
- package/src/plugin_datetime.js +414 -0
- package/src/plugin_express.js +212 -0
- package/src/plugin_kansuji.js +224 -0
- package/src/plugin_keigo.js +55 -0
- package/src/plugin_markup.js +32 -0
- package/src/plugin_math.js +319 -0
- package/src/plugin_node.js +1018 -0
- package/src/plugin_promise.js +94 -0
- package/src/plugin_system.js +2109 -0
- package/src/plugin_test.js +38 -0
- package/src/plugin_turtle.js +646 -0
- package/src/plugin_webworker.js +334 -0
- package/src/plugin_weykturtle3d.js +1216 -0
- package/src/plugin_worker.js +92 -0
- package/src/repl.nako3 +63 -0
- package/src/turtle-elephant.png +0 -0
- package/src/turtle-panda.png +0 -0
- package/src/turtle64.png +0 -0
- package/src/wnako3.js +162 -0
- package/src/wnako3_editor.css +215 -0
- package/src/wnako3_editor.js +1645 -0
- package/src/wnako3_editor_marker_red.png +0 -0
- package/src/wnako3_editor_marker_red.xcf +0 -0
- package/src/wnako3_editor_marker_yellow.png +0 -0
- package/src/wnako3_editor_marker_yellow.xcf +0 -0
- package/src/wnako3webworker.js +70 -0
- package/test/ace_editor/karma.config.js +94 -0
- package/test/ace_editor/test/.babelrc.json +3 -0
- package/test/ace_editor/test/ace_editor_test.js +178 -0
- package/test/ace_editor/test/html/custom_context.html +140 -0
- package/test/async/async_basic_test.js +124 -0
- package/test/browser/karma.config.js +212 -0
- package/test/browser/test/.babelrc.json +3 -0
- package/test/browser/test/compare_util.js +50 -0
- package/test/browser/test/html/canvas_basic.html +1 -0
- package/test/browser/test/html/div_basic.html +2 -0
- package/test/browser/test/html/event_dom_form.html +4 -0
- package/test/browser/test/html/event_dom_scrolldiv.html +5 -0
- package/test/browser/test/image/canvas_test1.png +0 -0
- package/test/browser/test/image/canvas_test2.png +0 -0
- package/test/browser/test/image/canvas_test3.png +0 -0
- package/test/browser/test/image/canvas_test4.png +0 -0
- package/test/browser/test/image/canvas_test7.png +0 -0
- package/test/browser/test/image/canvas_test8.png +0 -0
- package/test/browser/test/image/canvas_test_blank.png +0 -0
- package/test/browser/test/image/elephant_kana.png +0 -0
- package/test/browser/test/image/panda_kana.png +0 -0
- package/test/browser/test/image/turtle_kana.png +0 -0
- package/test/browser/test/import_plugin_checker.js +24 -0
- package/test/browser/test/plugin_browser_test.js +52 -0
- package/test/browser/test/plugin_browser_test_ajax.js +123 -0
- package/test/browser/test/plugin_browser_test_color.js +18 -0
- package/test/browser/test/plugin_browser_test_dialog.js +72 -0
- package/test/browser/test/plugin_browser_test_dom_event.js +598 -0
- package/test/browser/test/plugin_browser_test_dom_parts.js +125 -0
- package/test/browser/test/plugin_browser_test_system.js +9 -0
- package/test/browser/test/plugin_turtle_test.js +817 -0
- package/test/browser/test/plugin_webworker_test.js +87 -0
- package/test/browser/test/require_test.js +71 -0
- package/test/bundled/karma.config.base.js +117 -0
- package/test/bundled/karma.config.js +86 -0
- package/test/bundled/test/.babelrc.json +3 -0
- package/test/bundled/test/bundled_test.js +69 -0
- package/test/bundled/test/html/custom_context.html +65 -0
- package/test/bundled/test/html/custom_debug.html +66 -0
- package/test/bundled/test4b.cmd +52 -0
- package/test/bundled/test_base/.babelrc.json +3 -0
- package/test/bundled/test_base/_checktool_test.js +25 -0
- package/test/bundled/test_base/basic_ajax_test.js +56 -0
- package/test/bundled/test_base/basic_async_test.js +18 -0
- package/test/bundled/test_base/basic_test.js +153 -0
- package/test/bundled/test_base/calc_test.js +132 -0
- package/test/bundled/test_base/css/browsers_box.css +114 -0
- package/test/bundled/test_base/html/custom_context.html +69 -0
- package/test/bundled/test_base/html/custom_debug.html +71 -0
- package/test/bundled/test_base/js/browsers_box.js +72 -0
- package/test/bundled/test_base/plugin_csv_test.js +37 -0
- package/test/bundled/test_base/plugin_datetime_test.js +115 -0
- package/test/bundled/test_base/plugin_kansuji_test.js +49 -0
- package/test/bundled/test_base/plugin_system_test.js +410 -0
- package/test/bundled/test_base/plugin_webworker_test.js +53 -0
- package/test/bundled/test_base/resources/ok.txt +1 -0
- package/test/bundled/test_base/test_utils.js +191 -0
- package/test/common/array_test.js +40 -0
- package/test/common/basic_test.js +317 -0
- package/test/common/calc_test.js +139 -0
- package/test/common/debug_test.js +16 -0
- package/test/common/error_test.js +16 -0
- package/test/common/flow_test.js +360 -0
- package/test/common/func_call.js +136 -0
- package/test/common/func_test.js +149 -0
- package/test/common/indent_test.js +362 -0
- package/test/common/lex_test.js +146 -0
- package/test/common/literal_test.js +72 -0
- package/test/common/nako_logger_test.js +26 -0
- package/test/common/plugin_browser_test.js +24 -0
- package/test/common/plugin_browser_ut_audio_test.js +88 -0
- package/test/common/plugin_browser_ut_color_test.js +21 -0
- package/test/common/plugin_browser_ut_dialog_test.js +100 -0
- package/test/common/plugin_browser_ut_html_test.js +13 -0
- package/test/common/plugin_browser_ut_system_test.js +10 -0
- package/test/common/plugin_csv_test.js +39 -0
- package/test/common/plugin_datetime_test.js +120 -0
- package/test/common/plugin_kansuji_test.js +59 -0
- package/test/common/plugin_promise_test.js +18 -0
- package/test/common/plugin_system_test.js +451 -0
- package/test/common/prepare_test.js +93 -0
- package/test/common/re_test.js +20 -0
- package/test/common/variable_scope_test.js +105 -0
- package/test/jsconfig.json +19 -0
- package/test/karma.config.js +91 -0
- package/test/node/add_test.nako3 +1 -0
- package/test/node/async_test.js +80 -0
- package/test/node/commander_ja_test.js +82 -0
- package/test/node/error_message_test.js +244 -0
- package/test/node/kai_test.nako3 +6 -0
- package/test/node/node_test.js +43 -0
- package/test/node/plugin_broken.js.txt +3 -0
- package/test/node/plugin_browser_ut_ajax_test.js +355 -0
- package/test/node/plugin_browser_ut_location_test.js +32 -0
- package/test/node/plugin_markup_test.js +44 -0
- package/test/node/plugin_math_test.js +42 -0
- package/test/node/plugin_node_test.js +93 -0
- package/test/node/plugin_test.js +16 -0
- package/test/node/relative_import_test_1.nako3 +1 -0
- package/test/node/relative_import_test_2.nako3 +2 -0
- package/test/node/require_nako3_test.js +59 -0
- package/test/node/requiretest.nako3 +4 -0
- package/test/node/requiretest_indirect.nako3 +1 -0
- package/test/node/requiretest_name.nako3 +5 -0
- package/test/node/runtime_error.nako3 +2 -0
- package/test/node/side_effects_test.js +106 -0
- package/test/node/sjis.txt +5 -0
- package/test/node/syntax_error.nako3 +2 -0
- package/test/node/wnako3_editor_test.js +360 -0
- package/tools/README.md +7 -0
- package/tools/nako3edit/html/edit.html +83 -0
- package/tools/nako3edit/html/edit_plugin.js +6 -0
- package/tools/nako3edit/html/files.html +49 -0
- package/tools/nako3edit/html/nako3edit.css +66 -0
- package/tools/nako3edit/index.nako3 +145 -0
- package/tools/nako3edit/run.js +12 -0
- package/tools/nako3server/html/edit.html +104 -0
- package/tools/nako3server/html/edit_plugin.js +6 -0
- package/tools/nako3server/html/files.html +53 -0
- package/tools/nako3server/html/nako3edit.css +66 -0
- package/tools/nako3server/index.nako3 +129 -0
- package/tools/nako3server/run.js +12 -0
package/demo/flow.html
ADDED
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width,initial-scale=1">
|
|
6
|
+
<title>なでしこ3</title>
|
|
7
|
+
<!-- common -->
|
|
8
|
+
<link rel="stylesheet" type="text/css" href="css/common.css">
|
|
9
|
+
<link rel="stylesheet" href="../src/wnako3_editor.css">
|
|
10
|
+
<script src="extlib/ace@1.4.12/ace.js" integrity="sha512-GZ1RIgZaSc8rnco/8CXfRdCpDxRCphenIiZ2ztLy3XQfCbQUSCuk8IudvNHxkRA3oUg6q0qejgN/qqyG1duv5Q==" crossorigin="anonymous"></script>
|
|
11
|
+
<script src="extlib/ace@1.4.12/ext-language_tools.min.js" integrity="sha512-8qx1DL/2Wsrrij2TWX5UzvEaYOFVndR7BogdpOyF4ocMfnfkw28qt8ULkXD9Tef0bLvh3TpnSAljDC7uyniEuQ==" crossorigin="anonymous"></script>
|
|
12
|
+
<script src="extlib/ace@1.4.12/ext-options.min.js" integrity="sha512-oHR+WVzBiVZ6njlMVlDDLUIOLRDfUUfRQ55PfkZvgjwuvGqL4ohCTxaahJIxTmtya4jgyk0zmOxDMuLzbfqQDA==" crossorigin="anonymous"></script>
|
|
13
|
+
<script src="extlib/ace@1.4.12/ext-code_lens.min.js" integrity="sha512-gsDyyKTnOmSWRDzUbpYcPjzVsEyFGSWeWefzVKvbMULPR2ElIlKKsOtU3ycfybN9kncZXKLFSsUiG3cgJUbc/g==" crossorigin="anonymous"></script>
|
|
14
|
+
<!-- flow -->
|
|
15
|
+
<link rel="stylesheet" type="text/css" href="css/flow.css">
|
|
16
|
+
</head>
|
|
17
|
+
<body>
|
|
18
|
+
<h1>なでしこ3デモ</h1>
|
|
19
|
+
<hr>
|
|
20
|
+
<h3>試してみよう!</h3>
|
|
21
|
+
<div class="sbox">
|
|
22
|
+
<h4>単純な繰り返し</h4>
|
|
23
|
+
<div class="editor-component">
|
|
24
|
+
<script type="application/json">
|
|
25
|
+
{
|
|
26
|
+
"title": "単純な繰り返し",
|
|
27
|
+
"code": "# --- 単純な繰り返し ---\n3回「ワン」と表示。\n# --- 変数を指定する場合 ---\nN=5\n(N)回「にゃーん」と表示。"
|
|
28
|
+
}
|
|
29
|
+
</script>
|
|
30
|
+
</div>
|
|
31
|
+
</div>
|
|
32
|
+
|
|
33
|
+
<div class="sbox">
|
|
34
|
+
<h4>条件分岐</h4>
|
|
35
|
+
<div class="editor-component">
|
|
36
|
+
<script type="application/json">
|
|
37
|
+
{
|
|
38
|
+
"title": "条件分岐",
|
|
39
|
+
"code": "#--------------\nA=50\nもし、A=50ならば\n「Aは50」と表示。\n違えば\n「Aは50ではない」と表示。\nここまで。\n#--------------\nB=30\nもし、B=50ならば\n「Bは50」と表示。\n違えば\n「Bは50ではない」と表示。\nここまで。\n#--------------"
|
|
40
|
+
}
|
|
41
|
+
</script>
|
|
42
|
+
</div>
|
|
43
|
+
<p>※インデントによるブロック表現は廃止されました。
|
|
44
|
+
ブロックの末尾には、「ここまで」または「ーーー」や「---」と書きます。「-」の数は3つ以上ならいくつでも大丈夫です。</p>
|
|
45
|
+
</div>
|
|
46
|
+
|
|
47
|
+
<div class="sbox">
|
|
48
|
+
<h4>ループ変数を用いた繰り返し</h4>
|
|
49
|
+
<div class="editor-component">
|
|
50
|
+
<script type="application/json">
|
|
51
|
+
{
|
|
52
|
+
"title": "ループ変数を用いた繰り返し",
|
|
53
|
+
"code": "Nを1から5まで繰り返す\nNを表示。\nここまで。"
|
|
54
|
+
}
|
|
55
|
+
</script>
|
|
56
|
+
</div>
|
|
57
|
+
</div>
|
|
58
|
+
|
|
59
|
+
<div class="sbox">
|
|
60
|
+
<h4>指定条件付きの繰り返し</h4>
|
|
61
|
+
<div class="editor-component">
|
|
62
|
+
<script type="application/json">
|
|
63
|
+
{
|
|
64
|
+
"title": "指定条件付きの繰り返し",
|
|
65
|
+
"code": "A=1\n(A≦3)の間\n「{A}回目」を表示\nA=A+1\nここまで\n#------\nB=3\n(B>0)の間\n「B={B}」を表示。\nB=B-1\nここまで\n#------"
|
|
66
|
+
}
|
|
67
|
+
</script>
|
|
68
|
+
</div>
|
|
69
|
+
</div>
|
|
70
|
+
|
|
71
|
+
<div class="sbox">
|
|
72
|
+
<h4>簡易条件文</h4>
|
|
73
|
+
<div class="editor-component">
|
|
74
|
+
<script type="application/json">
|
|
75
|
+
{
|
|
76
|
+
"title": "簡易条件文",
|
|
77
|
+
"code": "#--------------\nN=10\nもしNが100未満ならば「OK1」と表示。\nもしNが5以上ならば「OK2」と表示。\nもし(N*2)が50以下ならば「OK3」と表示。\n#--------------\nN=30\nもしNが10以下ならば「NG」と表示。\n違えば「OK4」と表示。\n#--------------"
|
|
78
|
+
}
|
|
79
|
+
</script>
|
|
80
|
+
</div>
|
|
81
|
+
</div>
|
|
82
|
+
|
|
83
|
+
<div class="sbox">
|
|
84
|
+
<h3>その他</h3>
|
|
85
|
+
<ul>
|
|
86
|
+
<li><a href="browsers.html">対応機器/Webブラウザ</a></li>
|
|
87
|
+
</ul>
|
|
88
|
+
</div>
|
|
89
|
+
|
|
90
|
+
<!-- editor -->
|
|
91
|
+
<!--React.jsのスクリプトはHTMLの末尾で読み込む-->
|
|
92
|
+
<script src="../release/wnako3.js"></script>
|
|
93
|
+
<script src="../release/editor.js"></script>
|
|
94
|
+
<script src="../release/plugin_turtle.js"></script>
|
|
95
|
+
<script src="../release/plugin_markup.js"></script>
|
|
96
|
+
</body>
|
|
97
|
+
</html>
|
package/demo/graph.html
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
<html>
|
|
2
|
+
<head>
|
|
3
|
+
<meta charset="utf-8">
|
|
4
|
+
<meta name="viewport" content="width=device-width,initial-scale=1">
|
|
5
|
+
<title>なでしこ3</title>
|
|
6
|
+
<!-- common -->
|
|
7
|
+
<link rel="stylesheet" type="text/css" href="css/common.css">
|
|
8
|
+
<link rel="stylesheet" href="../src/wnako3_editor.css">
|
|
9
|
+
<script src="extlib/ace@1.4.12/ace.js" integrity="sha512-GZ1RIgZaSc8rnco/8CXfRdCpDxRCphenIiZ2ztLy3XQfCbQUSCuk8IudvNHxkRA3oUg6q0qejgN/qqyG1duv5Q==" crossorigin="anonymous"></script>
|
|
10
|
+
<script src="extlib/ace@1.4.12/ext-language_tools.min.js" integrity="sha512-8qx1DL/2Wsrrij2TWX5UzvEaYOFVndR7BogdpOyF4ocMfnfkw28qt8ULkXD9Tef0bLvh3TpnSAljDC7uyniEuQ==" crossorigin="anonymous"></script>
|
|
11
|
+
<script src="extlib/ace@1.4.12/ext-options.min.js" integrity="sha512-oHR+WVzBiVZ6njlMVlDDLUIOLRDfUUfRQ55PfkZvgjwuvGqL4ohCTxaahJIxTmtya4jgyk0zmOxDMuLzbfqQDA==" crossorigin="anonymous"></script>
|
|
12
|
+
<script src="extlib/ace@1.4.12/ext-code_lens.min.js" integrity="sha512-gsDyyKTnOmSWRDzUbpYcPjzVsEyFGSWeWefzVKvbMULPR2ElIlKKsOtU3ycfybN9kncZXKLFSsUiG3cgJUbc/g==" crossorigin="anonymous"></script>
|
|
13
|
+
<!-- flow -->
|
|
14
|
+
<link rel="stylesheet" type="text/css" href="css/flow.css">
|
|
15
|
+
</head>
|
|
16
|
+
<body>
|
|
17
|
+
<!-- ライブラリの取り込み -->
|
|
18
|
+
<script src="extlib/chart.js@3.2.1/chart.min.js"></script>
|
|
19
|
+
<script src="../release/wnako3.js?run"></script>
|
|
20
|
+
<script src="../release/plugin_csv.js"></script>
|
|
21
|
+
<!-- 描画先 -->
|
|
22
|
+
<div style="width:400px;margin-left:auto;margin-right:auto;">
|
|
23
|
+
<canvas id="chart_cv"></canvas>
|
|
24
|
+
<br><hr><br>
|
|
25
|
+
<canvas id="chart_cv2"></canvas>
|
|
26
|
+
<br><hr><br>
|
|
27
|
+
<canvas id="chart_cv3"></canvas>
|
|
28
|
+
</div>
|
|
29
|
+
<!-- データを与える -->
|
|
30
|
+
<script type="なでしこ3">
|
|
31
|
+
|
|
32
|
+
「#chart_cv」へ描画開始。
|
|
33
|
+
「科目,太郎,次郎
|
|
34
|
+
国語,78,80
|
|
35
|
+
算数,30,90
|
|
36
|
+
理科,50,77
|
|
37
|
+
社会,80,76」をCSV取得して棒グラフ描画。
|
|
38
|
+
|
|
39
|
+
「#chart_cv2」へ描画開始。
|
|
40
|
+
「科目,太郎,次郎
|
|
41
|
+
国語,78,80
|
|
42
|
+
算数,30,90
|
|
43
|
+
理科,50,77
|
|
44
|
+
社会,80,76」をCSV取得して線グラフ描画。
|
|
45
|
+
|
|
46
|
+
「#chart_cv3」へ描画開始。
|
|
47
|
+
「睡眠,8
|
|
48
|
+
勉強,2
|
|
49
|
+
おやつ,1
|
|
50
|
+
ゲーム,3」をCSV取得して円グラフ描画。
|
|
51
|
+
|
|
52
|
+
</script>
|
|
53
|
+
</body></html>
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/demo/index.html
ADDED
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width,initial-scale=1">
|
|
6
|
+
<title>なでしこ3 - Webエディタ</title>
|
|
7
|
+
<!-- common -->
|
|
8
|
+
<link rel="stylesheet" type="text/css" href="extlib/pure-min.css">
|
|
9
|
+
<link rel="stylesheet" type="text/css" href="css/common.css">
|
|
10
|
+
<link rel="stylesheet" href="../src/wnako3_editor.css">
|
|
11
|
+
<script src="extlib/ace@1.4.12/ace.js" integrity="sha512-GZ1RIgZaSc8rnco/8CXfRdCpDxRCphenIiZ2ztLy3XQfCbQUSCuk8IudvNHxkRA3oUg6q0qejgN/qqyG1duv5Q==" crossorigin="anonymous"></script>
|
|
12
|
+
<script src="extlib/ace@1.4.12/ext-language_tools.min.js" integrity="sha512-8qx1DL/2Wsrrij2TWX5UzvEaYOFVndR7BogdpOyF4ocMfnfkw28qt8ULkXD9Tef0bLvh3TpnSAljDC7uyniEuQ==" crossorigin="anonymous"></script>
|
|
13
|
+
<script src="extlib/ace@1.4.12/ext-options.min.js" integrity="sha512-oHR+WVzBiVZ6njlMVlDDLUIOLRDfUUfRQ55PfkZvgjwuvGqL4ohCTxaahJIxTmtya4jgyk0zmOxDMuLzbfqQDA==" crossorigin="anonymous"></script>
|
|
14
|
+
<script src="extlib/ace@1.4.12/ext-code_lens.min.js" integrity="sha512-gsDyyKTnOmSWRDzUbpYcPjzVsEyFGSWeWefzVKvbMULPR2ElIlKKsOtU3ycfybN9kncZXKLFSsUiG3cgJUbc/g==" crossorigin="anonymous"></script>
|
|
15
|
+
<!-- index -->
|
|
16
|
+
<link rel="stylesheet" type="text/css" href="css/index.css">
|
|
17
|
+
<!-- editor -->
|
|
18
|
+
<link rel="stylesheet" type="text/css" href="css/editor.css">
|
|
19
|
+
</head>
|
|
20
|
+
<body>
|
|
21
|
+
|
|
22
|
+
<!-- header title -->
|
|
23
|
+
<h1 id="title">
|
|
24
|
+
<img src="image/nakopad-icon256.png" alt="なでしこ3" style="height:1.3em;"/>
|
|
25
|
+
なでしこ3 - Webエディタ
|
|
26
|
+
</h1>
|
|
27
|
+
|
|
28
|
+
<!-- menu bar-->
|
|
29
|
+
<div class="menubar">
|
|
30
|
+
<ul>
|
|
31
|
+
<li><a href="#about" class="pure-button">なでしこ3とは</a></li>
|
|
32
|
+
<li><a href="#help" class="pure-button">ヘルプ</a></li>
|
|
33
|
+
</ul>
|
|
34
|
+
<div style="clear:both"></div>
|
|
35
|
+
</div>
|
|
36
|
+
|
|
37
|
+
<!-- editor -->
|
|
38
|
+
<div id="editor" class="edit_div">
|
|
39
|
+
<div class="editor-component">
|
|
40
|
+
<script type="application/json">
|
|
41
|
+
{
|
|
42
|
+
"title": "簡易エディタ",
|
|
43
|
+
"code": "「こんにちは!」と表示。\n(1 + 2)×3を表示。",
|
|
44
|
+
"autoLoad": true
|
|
45
|
+
}
|
|
46
|
+
</script>
|
|
47
|
+
</div>
|
|
48
|
+
</div>
|
|
49
|
+
|
|
50
|
+
<br />
|
|
51
|
+
<!-- version info -->
|
|
52
|
+
<div class="about-group">
|
|
53
|
+
<div class="version-component"></div>
|
|
54
|
+
</div>
|
|
55
|
+
<!-- about group panel -->
|
|
56
|
+
<h3><a id="about">「なでしこ3」とは</a></h3>
|
|
57
|
+
<div class="about-group">
|
|
58
|
+
<ul>
|
|
59
|
+
<li><a class="pure-button" href="http://nadesi.com/doc3">なでしこ3のマニュアル(→Web)</a></li>
|
|
60
|
+
<li><a class="pure-button" href="http://nadesi.com/v3/doc">命令リファレンス(→Web)</a></li>
|
|
61
|
+
<li><a class="pure-button" href="browsers.html">対応機器/Webブラウザ</a></li>
|
|
62
|
+
</ul>
|
|
63
|
+
</div>
|
|
64
|
+
|
|
65
|
+
<h3><a id="about-demo">デモ</a></h3>
|
|
66
|
+
<div class="about-group">
|
|
67
|
+
<ul>
|
|
68
|
+
<li><a class="pure-button" href="turtle2.html">タートルグラフィックスのデモ</a></li>
|
|
69
|
+
<li><a class="pure-button" href="flow.html">制御構文のデモ</a></li>
|
|
70
|
+
<li><a class="pure-button" href="turtle.html">タートルグラフィックス(エディタ)</a></li>
|
|
71
|
+
<li><a class="pure-button" href="turtle3d.html">タートルグラフィックス3D(エディタ)</a></li>
|
|
72
|
+
</ul>
|
|
73
|
+
</div>
|
|
74
|
+
|
|
75
|
+
<h3><a id="about-doc">文法について</a></h3>
|
|
76
|
+
<div class="about-group">
|
|
77
|
+
<ul>
|
|
78
|
+
<li><a class="pure-button" href="https://nadesi.com/doc3/go.php?8">文法一覧(→WEB)</a></li>
|
|
79
|
+
<li><a class="pure-button" href="https://nadesi.com/doc3/go.php?4">なでしこ3の基本(→Web)</a></li>
|
|
80
|
+
<li><a class="pure-button" href="https://nadesi.com/doc3/go.php?5">変数について(→Web)</a></li>
|
|
81
|
+
</ul>
|
|
82
|
+
</div>
|
|
83
|
+
|
|
84
|
+
<h3><a id="help">ヘルプ</a></h3>
|
|
85
|
+
<div class="about-group">
|
|
86
|
+
<div class="helpbox">
|
|
87
|
+
<h4>Webエディタについて</h4>
|
|
88
|
+
<div>なでしこ3のWeb版を実行が可能なエディタです。プログラムを入力してエディタ下部にある「実行」ボタンを押してプログラムを実行できます。</div>
|
|
89
|
+
</div>
|
|
90
|
+
<div class="helpbox">
|
|
91
|
+
<h4>「テスト」ボタンについて</h4>
|
|
92
|
+
<div>テストを実行できます。<a href="https://github.com/kujirahand/nadesiko3/pull/396">詳細はこちら</a>をご覧ください。</div>
|
|
93
|
+
</div>
|
|
94
|
+
<div class="helpbox">
|
|
95
|
+
<h4>「クリア」ボタンについて</h4>
|
|
96
|
+
<div>実行結果をクリアします。</div>
|
|
97
|
+
</div>
|
|
98
|
+
<div class="helpbox">
|
|
99
|
+
<h4>「↓」ボタンについて</h4>
|
|
100
|
+
<div>作ったプログラムをダウンロードします。</div>
|
|
101
|
+
</div>
|
|
102
|
+
<div class="helpbox">
|
|
103
|
+
<div><a class="pure-button" href="#title">トップへ</a>
|
|
104
|
+
</div>
|
|
105
|
+
</div>
|
|
106
|
+
|
|
107
|
+
<!-- editor script -->
|
|
108
|
+
<!--React.jsのスクリプトはHTMLの末尾で読み込む-->
|
|
109
|
+
<!-- なでしこ-->
|
|
110
|
+
<script src="../release/wnako3.js"></script>
|
|
111
|
+
<script src="../release/editor.js"></script>
|
|
112
|
+
<script src="../release/version.js"></script>
|
|
113
|
+
<script src="../release/plugin_markup.js"></script>
|
|
114
|
+
<script src="../release/plugin_csv.js"></script>
|
|
115
|
+
<script src="../release/plugin_kansuji.js"></script>
|
|
116
|
+
<script src="../release/plugin_datetime.js"></script>
|
|
117
|
+
<script src="../release/plugin_turtle.js"></script>
|
|
118
|
+
<script src="../release/plugin_caniuse.js"></script>
|
|
119
|
+
<script src="../release/plugin_webworker.js"></script>
|
|
120
|
+
<script src="../release/nako_gen_async.js"></script>
|
|
121
|
+
<!-- Chart.js -->
|
|
122
|
+
<script defer src="extlib/chart.js@3.2.1/chart.min.js"></script>
|
|
123
|
+
<script>
|
|
124
|
+
// 部品スキル実装 #1033
|
|
125
|
+
(function(){
|
|
126
|
+
const registerSkin = function (itype, obj, sys) {
|
|
127
|
+
if (itype == 'ボタン作成') {obj.classList.add('pure-button')}
|
|
128
|
+
}
|
|
129
|
+
const v0 = navigator.nako3.__varslist[0]
|
|
130
|
+
if (typeof(v0['DOMスキン辞書']) == 'object') { v0['DOMスキン辞書']['pure.css'] = registerSkin }
|
|
131
|
+
})();
|
|
132
|
+
</script>
|
|
133
|
+
</body>
|
|
134
|
+
</html>
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
// なでしこの関数をカスタマイズ
|
|
2
|
+
navigator.nako3.setFunc('言', [['と', 'を']], function (msg) {
|
|
3
|
+
window.alert(msg)
|
|
4
|
+
}, true)
|
|
5
|
+
navigator.nako3.setFunc('表示', [['と', 'を']], function (msg) {
|
|
6
|
+
window.alert(msg)
|
|
7
|
+
}, true)
|
|
8
|
+
|
|
9
|
+
// なでしこにオリジナル関数をJSで追加
|
|
10
|
+
navigator.nako3.addFunc('色変更', [['に', 'へ']], function (s) {
|
|
11
|
+
document.getElementById('info').style.color = s
|
|
12
|
+
}, true)
|
|
13
|
+
|
|
14
|
+
function toHtml (s) {
|
|
15
|
+
s = '' + s
|
|
16
|
+
return s.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>')
|
|
17
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
// 追加のデフォルトコード
|
|
2
|
+
const defCode =
|
|
3
|
+
'T3Dカメ描画先は『turtle3d_div』。' +
|
|
4
|
+
'T3Dオービットコントロール設定。';
|
|
5
|
+
|
|
6
|
+
let displayId = 'info'
|
|
7
|
+
|
|
8
|
+
// なでしこの関数をカスタマイズ
|
|
9
|
+
navigator.nako3.setFunc('表示', [['と', 'を']], function (s) {
|
|
10
|
+
console.log(s)
|
|
11
|
+
document.getElementById(displayId).innerHTML += toHtml(s) + '<br>'
|
|
12
|
+
})
|
|
13
|
+
|
|
14
|
+
let nakoGlobal = undefined
|
|
15
|
+
|
|
16
|
+
// 簡易DOMアクセス関数など
|
|
17
|
+
function runBox (id) {
|
|
18
|
+
if (id === null) {
|
|
19
|
+
window.alert('idが設定されていません。')
|
|
20
|
+
return
|
|
21
|
+
}
|
|
22
|
+
let src = defCode + document.getElementById(id).value
|
|
23
|
+
displayId = id + '_info'
|
|
24
|
+
document.getElementById(displayId).innerHTML = ''
|
|
25
|
+
try {
|
|
26
|
+
nakoGlobal = navigator.nako3._runEx(src,'',{}, defCode, nakoGlobal)
|
|
27
|
+
document.getElementById('backlink').href = '#' + id + '_head'
|
|
28
|
+
window.location.href = '#run'
|
|
29
|
+
document.getElementById('err').style.display = 'none'
|
|
30
|
+
} catch (e) {
|
|
31
|
+
document.getElementById('err').innerHTML = e.message.replace(/\n/g, '<br>\n')
|
|
32
|
+
document.getElementById('err').style.display = 'block'
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
function resetBoxTurtle3D (id) {
|
|
37
|
+
if (id === null)
|
|
38
|
+
id = 'src_box'
|
|
39
|
+
|
|
40
|
+
document.getElementById(id + '_info').innerHTML = ''
|
|
41
|
+
navigator.nako3._runEx('T3Dカメ全消去', '', {}, '', nakoGlobal)
|
|
42
|
+
document.getElementById('turtle3d_div').innerHTML = ''
|
|
43
|
+
nakoGlobal = undefined
|
|
44
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
// 追加のデフォルトコード
|
|
2
|
+
const defCode =
|
|
3
|
+
'カメ全消去。' +
|
|
4
|
+
'カメ描画先は『#turtle_cv』。' +
|
|
5
|
+
'『#turtle_cv』へ描画開始。';
|
|
6
|
+
|
|
7
|
+
let displayId = 'info'
|
|
8
|
+
|
|
9
|
+
// なでしこの関数をカスタマイズ
|
|
10
|
+
navigator.nako3.setFunc('表示', [['と', 'を']], function (s) {
|
|
11
|
+
console.log(s)
|
|
12
|
+
document.getElementById(displayId).innerHTML += toHtml(s) + '<br>'
|
|
13
|
+
})
|
|
14
|
+
|
|
15
|
+
// 簡易DOMアクセス関数など
|
|
16
|
+
function runBox (id) {
|
|
17
|
+
if (id === null) {
|
|
18
|
+
window.alert('idが設定されていません。')
|
|
19
|
+
return
|
|
20
|
+
}
|
|
21
|
+
console.log('runBox:', id)
|
|
22
|
+
let src = defCode + document.getElementById(id).value
|
|
23
|
+
displayId = id + '_info'
|
|
24
|
+
document.getElementById(displayId).innerHTML = ''
|
|
25
|
+
try {
|
|
26
|
+
navigator.nako3.runReset(src)
|
|
27
|
+
document.getElementById('backlink').href = '#' + id + '_head'
|
|
28
|
+
window.location.href = '#run'
|
|
29
|
+
document.getElementById('err').style.display = 'none'
|
|
30
|
+
} catch (e) {
|
|
31
|
+
document.getElementById('err').innerHTML = e.message.replace(/\n/g, '<br>\n')
|
|
32
|
+
document.getElementById('err').style.display = 'block'
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
function resetBoxTurtle (id) {
|
|
37
|
+
if (id === null)
|
|
38
|
+
id = 'src_box'
|
|
39
|
+
|
|
40
|
+
document.getElementById(id + '_info').innerHTML = ''
|
|
41
|
+
const cv = document.getElementById('turtle_cv')
|
|
42
|
+
cv.getContext('2d').clearRect(0, 0, cv.width, cv.height)
|
|
43
|
+
navigator.nako3.run('カメ全消去')
|
|
44
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8">
|
|
5
|
+
<title>なでしこ3 - script要素を実行するデモ</title>
|
|
6
|
+
<!-- なでしこを使う準備 -->
|
|
7
|
+
<script src="../release/wnako3.js?run"></script>
|
|
8
|
+
<script type="なでしこ">
|
|
9
|
+
# # # # # # # # # # # # # # # # #
|
|
10
|
+
# なでしこのプログラムをここに書く
|
|
11
|
+
# # # # # # # # # # # # # # # # #
|
|
12
|
+
|
|
13
|
+
# input#a_txtタグに値を設定する
|
|
14
|
+
「input#a_txt」のDOM要素取得
|
|
15
|
+
「こんにちは★」をDOMテキスト設定。
|
|
16
|
+
|
|
17
|
+
# 続けて、スタイルを指定する
|
|
18
|
+
「backgroundColor」に青色をDOMスタイル設定。
|
|
19
|
+
「color」に白色をDOMスタイル設定。
|
|
20
|
+
「fontSize」に「45px」をDOMスタイル設定。
|
|
21
|
+
</script>
|
|
22
|
+
</head>
|
|
23
|
+
<body>
|
|
24
|
+
<h1>なでしこ3デモ - script要素を実行する方法</h1>
|
|
25
|
+
<div>
|
|
26
|
+
<div>
|
|
27
|
+
<div>
|
|
28
|
+
以下のいずれかの方法で、このプログラムを表示することができます。
|
|
29
|
+
<ul>
|
|
30
|
+
<li>画面を右クリック → 『ページのソースを表示』をクリック</li>
|
|
31
|
+
<li>開発者ツールを開く</li>
|
|
32
|
+
</ul>
|
|
33
|
+
</div>
|
|
34
|
+
</div>
|
|
35
|
+
<div><input type="text" id="a_txt" style="width:300px"></div>
|
|
36
|
+
<br />
|
|
37
|
+
</div>
|
|
38
|
+
<hr>
|
|
39
|
+
<div class="sbox">
|
|
40
|
+
<h3>その他</h3>
|
|
41
|
+
<ul>
|
|
42
|
+
<li><a href="index.html">デモトップへ戻る</a></li>
|
|
43
|
+
<li><a href="browsers.html">対応機器/Webブラウザ</a></li>
|
|
44
|
+
</ul>
|
|
45
|
+
</div>
|
|
46
|
+
</body>
|
|
47
|
+
</html>
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8">
|
|
5
|
+
<title>なでしこ3 - script要素を実行するデモ</title>
|
|
6
|
+
<!-- なでしこを使う準備 -->
|
|
7
|
+
<link rel="stylesheet" href="../src/wnako3_editor.css">
|
|
8
|
+
<script src="../release/wnako3.js?run"></script>
|
|
9
|
+
<script type="なでしこ">
|
|
10
|
+
# # # # # # # # # # # # # # # # #
|
|
11
|
+
# なでしこのプログラムをここに書く
|
|
12
|
+
# # # # # # # # # # # # # # # # #
|
|
13
|
+
「#demo_canvas」へ描画開始
|
|
14
|
+
黄色に塗色設定。
|
|
15
|
+
赤色に線色設定
|
|
16
|
+
[10, 10, 100, 100]へ四角描画。
|
|
17
|
+
</script>
|
|
18
|
+
</head>
|
|
19
|
+
<body>
|
|
20
|
+
<h1>なでしこ3デモ - script要素を実行する方法</h1>
|
|
21
|
+
<div>
|
|
22
|
+
<canvas id="demo_canvas" width="300" height="300"></script>
|
|
23
|
+
</div>
|
|
24
|
+
<hr>
|
|
25
|
+
<div class="sbox">
|
|
26
|
+
<h3>その他</h3>
|
|
27
|
+
<ul>
|
|
28
|
+
<li><a href="index.html">デモトップへ戻る</a></li>
|
|
29
|
+
<li><a href="browsers.html">対応機器/Webブラウザ</a></li>
|
|
30
|
+
</ul>
|
|
31
|
+
</div>
|
|
32
|
+
</body>
|
|
33
|
+
</html>
|
package/demo/turtle.html
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width,initial-scale=1">
|
|
6
|
+
<title>なでしこ3/タートルグラフィックス</title>
|
|
7
|
+
<!-- なでしこを使う準備 -->
|
|
8
|
+
<link rel="stylesheet" href="../src/wnako3_editor.css">
|
|
9
|
+
<!-- common -->
|
|
10
|
+
<link rel="stylesheet" type="text/css" href="css/common.css">
|
|
11
|
+
<!-- basic -->
|
|
12
|
+
<link rel="stylesheet" type="text/css" href="css/index.css">
|
|
13
|
+
<link rel="stylesheet" href="../src/wnako3_editor.css">
|
|
14
|
+
<script src="../release/wnako3.js"></script>
|
|
15
|
+
<script src="../release/plugin_markup.js"></script>
|
|
16
|
+
<script src="../release/plugin_turtle.js"></script>
|
|
17
|
+
<script src="js/common.js"></script>
|
|
18
|
+
<script src="js/turtle_test.js"></script>
|
|
19
|
+
</head>
|
|
20
|
+
<body>
|
|
21
|
+
<h1><a name="src_box_head">なでしこ3/タートルグラフィックス</a></h1>
|
|
22
|
+
<div id="editor" class="edit_div">
|
|
23
|
+
<textarea id="src_box" rows="4" title="簡易エディタ">
|
|
24
|
+
カメ作成。
|
|
25
|
+
[10,10]にカメ起点移動。
|
|
26
|
+
90にカメ角度設定。
|
|
27
|
+
N=250
|
|
28
|
+
25回
|
|
29
|
+
Nだけカメ進む
|
|
30
|
+
90だけカメ右回転
|
|
31
|
+
(N*1.3)だけカメ進む
|
|
32
|
+
90だけカメ右回転
|
|
33
|
+
N = N - 10
|
|
34
|
+
ここまで。</textarea>
|
|
35
|
+
<div class="buttons">
|
|
36
|
+
<button onclick="runBox('src_box')" class="default_button">実行</button>
|
|
37
|
+
<button onclick="resetBoxTurtle('src_box')" class="default_button">クリア</button>
|
|
38
|
+
</div>
|
|
39
|
+
<div id="err" class="err"></div>
|
|
40
|
+
<div class="turtle_box">
|
|
41
|
+
<p class="edit_head"><a name="run">実行結果:</a> (<a href="#src_box" id="backlink">↑戻る</a>)</p>
|
|
42
|
+
<p>
|
|
43
|
+
<canvas id="turtle_cv" class="turtle_canvas" width="280" height="380"></canvas>
|
|
44
|
+
</p>
|
|
45
|
+
<p id="src_box_info" class="info"></p>
|
|
46
|
+
</div>
|
|
47
|
+
</div>
|
|
48
|
+
<div class="sbox">
|
|
49
|
+
<h3>その他</h3>
|
|
50
|
+
<ul>
|
|
51
|
+
<li><a href="turtle2.html">タートルグラフィックスの他の例へ</a></li>
|
|
52
|
+
<li><a href="index.html">デモのトップページへ</a></li>
|
|
53
|
+
<li><a href="browsers.html">対応機器/Webブラウザ</a></li>
|
|
54
|
+
</ul>
|
|
55
|
+
</div>
|
|
56
|
+
|
|
57
|
+
</body>
|
|
58
|
+
</html>
|