├── .gitignore ├── README.md ├── app-player-for-cordova ├── .gitignore ├── README.md └── www │ ├── css │ └── index.css │ ├── extension-worker.js │ ├── extension-worker.js.map │ ├── img │ └── logo.png │ ├── index.html │ ├── js │ └── index.js │ ├── media │ ├── 1x1.gif │ ├── click.mp3 │ ├── click.ogg │ ├── click.wav │ ├── delete.mp3 │ ├── delete.ogg │ ├── delete.wav │ ├── dropdown-arrow-dark.svg │ ├── dropdown-arrow.svg │ ├── eyedropper.svg │ ├── green-flag.svg │ ├── handclosed.cur │ ├── handdelete.cur │ ├── handopen.cur │ ├── icons │ │ ├── arrow.svg │ │ ├── control_forever.svg │ │ ├── control_repeat.svg │ │ ├── control_stop.svg │ │ ├── control_wait.svg │ │ ├── event_broadcast_blue.svg │ │ ├── event_broadcast_coral.svg │ │ ├── event_broadcast_green.svg │ │ ├── event_broadcast_magenta.svg │ │ ├── event_broadcast_orange.svg │ │ ├── event_broadcast_purple.svg │ │ ├── event_when-broadcast-received_blue.svg │ │ ├── event_when-broadcast-received_coral.svg │ │ ├── event_when-broadcast-received_green.svg │ │ ├── event_when-broadcast-received_magenta.svg │ │ ├── event_when-broadcast-received_orange.svg │ │ ├── event_when-broadcast-received_purple.svg │ │ ├── event_whenflagclicked.svg │ │ ├── set-led_blue.svg │ │ ├── set-led_coral.svg │ │ ├── set-led_green.svg │ │ ├── set-led_magenta.svg │ │ ├── set-led_mystery.svg │ │ ├── set-led_orange.svg │ │ ├── set-led_purple.svg │ │ ├── set-led_white.svg │ │ ├── set-led_yellow.svg │ │ ├── wedo_motor-clockwise.svg │ │ ├── wedo_motor-counterclockwise.svg │ │ ├── wedo_motor-speed_fast.svg │ │ ├── wedo_motor-speed_med.svg │ │ ├── wedo_motor-speed_slow.svg │ │ ├── wedo_when-distance_close.svg │ │ ├── wedo_when-tilt-backward.svg │ │ ├── wedo_when-tilt-forward.svg │ │ ├── wedo_when-tilt-left.svg │ │ ├── wedo_when-tilt-right.svg │ │ └── wedo_when-tilt.svg │ ├── repeat.svg │ ├── rotate-left.svg │ ├── rotate-right.svg │ ├── sprites.png │ ├── sprites.svg │ ├── zoom-in.svg │ ├── zoom-out.svg │ └── zoom-reset.svg │ ├── playground.css │ ├── playground.js │ ├── scratch-storage.js │ ├── scratch-storage.js.map │ ├── scratch-storage.min.js │ ├── scratch-storage.min.js.map │ ├── scratch-vm.js │ ├── scratch-vm.js.map │ ├── scratch-vm.min.js │ ├── scratch-vm.min.js.map │ ├── vendor.js │ ├── vendor.js.map │ └── zenburn.css ├── babel01 ├── package.json ├── src │ └── index.js └── webpack.config.js ├── blocky ├── blockly_accessible_compressed.js ├── blockly_compressed.js ├── blocks_compressed.js ├── dart_compressed.js ├── hello_01.html ├── hello_02_convert_and_run.html ├── javascript_compressed.js └── msg │ ├── js │ ├── ab.js │ ├── ar.js │ ├── az.js │ ├── ba.js │ ├── bcc.js │ ├── be-tarask.js │ ├── be.js │ ├── bg.js │ ├── bn.js │ ├── br.js │ ├── ca.js │ ├── cs.js │ ├── da.js │ ├── de.js │ ├── diq.js │ ├── el.js │ ├── en-gb.js │ ├── en.js │ ├── eo.js │ ├── es.js │ ├── et.js │ ├── fa.js │ ├── fi.js │ ├── fr.js │ ├── he.js │ ├── hi.js │ ├── hrx.js │ ├── hu.js │ ├── ia.js │ ├── id.js │ ├── is.js │ ├── it.js │ ├── ja.js │ ├── kab.js │ ├── ko.js │ ├── lb.js │ ├── lki.js │ ├── lrc.js │ ├── lt.js │ ├── lv.js │ ├── mk.js │ ├── ms.js │ ├── nb.js │ ├── nl.js │ ├── oc.js │ ├── pl.js │ ├── pms.js │ ├── pt-br.js │ ├── pt.js │ ├── ro.js │ ├── ru.js │ ├── sc.js │ ├── sd.js │ ├── shn.js │ ├── sk.js │ ├── sl.js │ ├── sq.js │ ├── sr.js │ ├── sv.js │ ├── ta.js │ ├── tcy.js │ ├── th.js │ ├── tl.js │ ├── tlh.js │ ├── tr.js │ ├── uk.js │ ├── vi.js │ ├── zh-hans.js │ └── zh-hant.js │ ├── json │ ├── ab.json │ ├── ar.json │ ├── az.json │ ├── ba.json │ ├── bcc.json │ ├── be-tarask.json │ ├── be.json │ ├── bg.json │ ├── bn.json │ ├── br.json │ ├── ca.json │ ├── constants.json │ ├── cs.json │ ├── da.json │ ├── de.json │ ├── diq.json │ ├── el.json │ ├── en-gb.json │ ├── en.json │ ├── eo.json │ ├── es.json │ ├── et.json │ ├── eu.json │ ├── fa.json │ ├── fi.json │ ├── fr.json │ ├── he.json │ ├── hi.json │ ├── hrx.json │ ├── hu.json │ ├── ia.json │ ├── id.json │ ├── is.json │ ├── it.json │ ├── ja.json │ ├── kab.json │ ├── ko.json │ ├── lb.json │ ├── lki.json │ ├── lrc.json │ ├── lt.json │ ├── lv.json │ ├── mk.json │ ├── ms.json │ ├── nb.json │ ├── nl.json │ ├── oc.json │ ├── pl.json │ ├── pms.json │ ├── pt-br.json │ ├── pt.json │ ├── qqq.json │ ├── ro.json │ ├── ru.json │ ├── sc.json │ ├── sd.json │ ├── shn.json │ ├── sk.json │ ├── sl.json │ ├── sq.json │ ├── sr.json │ ├── sv.json │ ├── synonyms.json │ ├── ta.json │ ├── tcy.json │ ├── th.json │ ├── tl.json │ ├── tlh.json │ ├── tr.json │ ├── uk.json │ ├── vi.json │ ├── zh-hans.json │ └── zh-hant.json │ └── messages.js ├── hello ├── hello │ ├── icon.png │ ├── index.html │ ├── index02.html │ ├── scratch-render.js │ └── scratch-render.js.map ├── src │ └── hello │ │ ├── icon.png │ │ ├── index.html │ │ └── index02.html └── webpack.config.js ├── package ├── hello-dev-server │ ├── package.json │ ├── src │ │ ├── index.html │ │ └── main.js │ └── webpack.config.js └── hello │ └── package.json ├── scratch-block-test ├── package.json ├── src │ ├── index.html │ └── scratch-block-test.js └── webpack.config.js ├── scratch-render-hello ├── hello │ ├── icon.png │ ├── index.html │ └── scratch-render-hello.js ├── package.json ├── src │ └── hello │ │ ├── icon.png │ │ ├── index.html │ │ └── scratch-render-hello.js └── webpack.config.js ├── scratch-serviceworker ├── README.md ├── package.json ├── src │ └── hello │ │ ├── icon.png │ │ ├── index.html │ │ ├── project │ │ ├── 09dc888b0b7df19f70d81588ae73420e.svg │ │ ├── 195233767.json │ │ ├── 3696356a03a8d938318876a593572843.svg │ │ ├── 5c81a336fab8be57adc039a8a2b33ca9.png │ │ ├── 739b5e2a2435f6e1ec2993791b423146.png │ │ ├── 83a9787d4cb6f3b7632b4ddfebf74367.wav │ │ └── 83c36d806dc92327b9e7049a565c6bff.wav │ │ ├── scratch-vm-hello.js │ │ └── sw.js └── webpack.config.js ├── scratch-storage-01 ├── main.js └── scratch-storage.js ├── scratch-vm-test ├── README.md ├── hello │ ├── index.html │ └── scratch-vm-hello.js ├── package.json ├── src │ └── hello │ │ ├── index.html │ │ └── scratch-vm-hello.js └── webpack.config.js └── webpack01 ├── package.json ├── src ├── character.js ├── index.js ├── inu.js └── neko.js └── webpack.config.js /.gitignore: -------------------------------------------------------------------------------- 1 | .buildlog 2 | .DS_Store 3 | .idea 4 | .packages 5 | .pub/ 6 | build/ 7 | packages 8 | pubspec.lock 9 | node_modules 10 | dist 11 | package-lock.json 12 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # FireFireStyle : Scratch 3.0. Let's make your own machine! 2 | 3 | http://blogger.firefirestyle.net/2017/09/scratch30-0.html 4 | -------------------------------------------------------------------------------- /app-player-for-cordova/.gitignore: -------------------------------------------------------------------------------- 1 | .buildlog 2 | .DS_Store 3 | .idea 4 | .packages 5 | .pub/ 6 | build/ 7 | packages 8 | pubspec.lock 9 | -------------------------------------------------------------------------------- /app-player-for-cordova/README.md: -------------------------------------------------------------------------------- 1 | Scratch3 App Player 2 | now creating. 3 | 4 | # RUN 5 | ``` 6 | npm install -g cordova 7 | cordova create MyApp 8 | cd MyApp cordova platform add browser 9 | cp -r {this www} ./www 10 | cordova run browser 11 | ``` 12 | 13 | # FOR ANDROID 14 | ``` 15 | cordova platform add android 16 | cordova build android 17 | cordova run android 18 | ``` 19 | 20 | 21 | # REF 22 | 23 | - https://github.com/LLK/scratch-vm 24 | - https://cordova.apache.org/#getstarted 25 | 26 | 27 | # LICENSE 28 | 29 | Use following code in this repository. 30 | 31 | - https://github.com/LLK/scratch-vm 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /app-player-for-cordova/www/css/index.css: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | * { 20 | -webkit-tap-highlight-color: rgba(0,0,0,0); /* make transparent link selection, adjust last value opacity 0 to 1.0 */ 21 | } 22 | 23 | body { 24 | -webkit-touch-callout: none; /* prevent callout to copy image, etc when tap to hold */ 25 | -webkit-text-size-adjust: none; /* prevent webkit from resizing text to fit */ 26 | -webkit-user-select: none; /* prevent copy paste, to allow, change 'none' to 'text' */ 27 | background-color:#E4E4E4; 28 | background-image:linear-gradient(top, #A7A7A7 0%, #E4E4E4 51%); 29 | background-image:-webkit-linear-gradient(top, #A7A7A7 0%, #E4E4E4 51%); 30 | background-image:-ms-linear-gradient(top, #A7A7A7 0%, #E4E4E4 51%); 31 | background-image:-webkit-gradient( 32 | linear, 33 | left top, 34 | left bottom, 35 | color-stop(0, #A7A7A7), 36 | color-stop(0.51, #E4E4E4) 37 | ); 38 | background-attachment:fixed; 39 | font-family:'HelveticaNeue-Light', 'HelveticaNeue', Helvetica, Arial, sans-serif; 40 | font-size:12px; 41 | height:100%; 42 | margin:0px; 43 | padding:0px; 44 | text-transform:uppercase; 45 | width:100%; 46 | } 47 | 48 | /* Portrait layout (default) */ 49 | .app { 50 | background:url(../img/logo.png) no-repeat center top; /* 170px x 200px */ 51 | position:absolute; /* position in the center of the screen */ 52 | left:50%; 53 | top:50%; 54 | height:50px; /* text area height */ 55 | width:225px; /* text area width */ 56 | text-align:center; 57 | padding:180px 0px 0px 0px; /* image height is 200px (bottom 20px are overlapped with text) */ 58 | margin:-115px 0px 0px -112px; /* offset vertical: half of image height and text area height */ 59 | /* offset horizontal: half of text area width */ 60 | } 61 | 62 | /* Landscape layout (with min-width) */ 63 | @media screen and (min-aspect-ratio: 1/1) and (min-width:400px) { 64 | .app { 65 | background-position:left center; 66 | padding:75px 0px 75px 170px; /* padding-top + padding-bottom + text area = image height */ 67 | margin:-90px 0px 0px -198px; /* offset vertical: half of image height */ 68 | /* offset horizontal: half of image width and text area width */ 69 | } 70 | } 71 | 72 | h1 { 73 | font-size:24px; 74 | font-weight:normal; 75 | margin:0px; 76 | overflow:visible; 77 | padding:0px; 78 | text-align:center; 79 | } 80 | 81 | .event { 82 | border-radius:4px; 83 | -webkit-border-radius:4px; 84 | color:#FFFFFF; 85 | font-size:12px; 86 | margin:0px 30px; 87 | padding:2px 0px; 88 | } 89 | 90 | .event.listening { 91 | background-color:#333333; 92 | display:block; 93 | } 94 | 95 | .event.received { 96 | background-color:#4B946A; 97 | display:none; 98 | } 99 | 100 | @keyframes fade { 101 | from { opacity: 1.0; } 102 | 50% { opacity: 0.4; } 103 | to { opacity: 1.0; } 104 | } 105 | 106 | @-webkit-keyframes fade { 107 | from { opacity: 1.0; } 108 | 50% { opacity: 0.4; } 109 | to { opacity: 1.0; } 110 | } 111 | 112 | .blink { 113 | animation:fade 3000ms infinite; 114 | -webkit-animation:fade 3000ms infinite; 115 | } 116 | -------------------------------------------------------------------------------- /app-player-for-cordova/www/img/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyorohiro/doc.advent.scratch30/b269b4f56b213812bfebba2c0ca68074f2bb996f/app-player-for-cordova/www/img/logo.png -------------------------------------------------------------------------------- /app-player-for-cordova/www/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Scratch VM Playground 7 | 8 | 9 | 10 | 11 |
12 |

Scratch VM Playground

13 | 14 |
15 | 16 | 17 |
18 |
19 | Turbo: 20 |
21 |
22 | Compatibility (30 TPS): 23 |
24 |
25 |
31 |
32 | Renderer
33 |
34 | x: 35 | y:
36 | size:
37 | dir: 38 | rotation style:
39 | visible: 40 | 41 |
42 |
43 | Thread explorer 44 |

45 |         
46 |
47 | Block explorer 48 |

49 |         
50 |
51 | Import/Export
52 | Project ID: 53 | 54 |
55 |

56 | 57 |   58 | 59 |

60 | 61 |

62 |
63 |
64 | 65 |
66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 89 | 90 | 91 | -------------------------------------------------------------------------------- /app-player-for-cordova/www/js/index.js: -------------------------------------------------------------------------------- 1 | /* 2 | * Licensed to the Apache Software Foundation (ASF) under one 3 | * or more contributor license agreements. See the NOTICE file 4 | * distributed with this work for additional information 5 | * regarding copyright ownership. The ASF licenses this file 6 | * to you under the Apache License, Version 2.0 (the 7 | * "License"); you may not use this file except in compliance 8 | * with the License. You may obtain a copy of the License at 9 | * 10 | * http://www.apache.org/licenses/LICENSE-2.0 11 | * 12 | * Unless required by applicable law or agreed to in writing, 13 | * software distributed under the License is distributed on an 14 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | * KIND, either express or implied. See the License for the 16 | * specific language governing permissions and limitations 17 | * under the License. 18 | */ 19 | var app = { 20 | // Application Constructor 21 | initialize: function() { 22 | document.addEventListener('deviceready', this.onDeviceReady.bind(this), false); 23 | }, 24 | 25 | // deviceready Event Handler 26 | // 27 | // Bind any cordova events here. Common events are: 28 | // 'pause', 'resume', etc. 29 | onDeviceReady: function() { 30 | this.receivedEvent('deviceready'); 31 | }, 32 | 33 | // Update DOM on a Received Event 34 | receivedEvent: function(id) { 35 | var parentElement = document.getElementById(id); 36 | var listeningElement = parentElement.querySelector('.listening'); 37 | var receivedElement = parentElement.querySelector('.received'); 38 | 39 | listeningElement.setAttribute('style', 'display:none;'); 40 | receivedElement.setAttribute('style', 'display:block;'); 41 | 42 | console.log('Received Event: ' + id); 43 | } 44 | }; 45 | 46 | app.initialize(); -------------------------------------------------------------------------------- /app-player-for-cordova/www/media/1x1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyorohiro/doc.advent.scratch30/b269b4f56b213812bfebba2c0ca68074f2bb996f/app-player-for-cordova/www/media/1x1.gif -------------------------------------------------------------------------------- /app-player-for-cordova/www/media/click.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyorohiro/doc.advent.scratch30/b269b4f56b213812bfebba2c0ca68074f2bb996f/app-player-for-cordova/www/media/click.mp3 -------------------------------------------------------------------------------- /app-player-for-cordova/www/media/click.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyorohiro/doc.advent.scratch30/b269b4f56b213812bfebba2c0ca68074f2bb996f/app-player-for-cordova/www/media/click.ogg -------------------------------------------------------------------------------- /app-player-for-cordova/www/media/click.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyorohiro/doc.advent.scratch30/b269b4f56b213812bfebba2c0ca68074f2bb996f/app-player-for-cordova/www/media/click.wav -------------------------------------------------------------------------------- /app-player-for-cordova/www/media/delete.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyorohiro/doc.advent.scratch30/b269b4f56b213812bfebba2c0ca68074f2bb996f/app-player-for-cordova/www/media/delete.mp3 -------------------------------------------------------------------------------- /app-player-for-cordova/www/media/delete.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyorohiro/doc.advent.scratch30/b269b4f56b213812bfebba2c0ca68074f2bb996f/app-player-for-cordova/www/media/delete.ogg -------------------------------------------------------------------------------- /app-player-for-cordova/www/media/delete.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyorohiro/doc.advent.scratch30/b269b4f56b213812bfebba2c0ca68074f2bb996f/app-player-for-cordova/www/media/delete.wav -------------------------------------------------------------------------------- /app-player-for-cordova/www/media/dropdown-arrow-dark.svg: -------------------------------------------------------------------------------- 1 | dropdown-arrow 2 | -------------------------------------------------------------------------------- /app-player-for-cordova/www/media/dropdown-arrow.svg: -------------------------------------------------------------------------------- 1 | dropdown-arrow -------------------------------------------------------------------------------- /app-player-for-cordova/www/media/eyedropper.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Artboard 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /app-player-for-cordova/www/media/green-flag.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 9 | greenflag 10 | 15 | 17 | 18 | -------------------------------------------------------------------------------- /app-player-for-cordova/www/media/handclosed.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyorohiro/doc.advent.scratch30/b269b4f56b213812bfebba2c0ca68074f2bb996f/app-player-for-cordova/www/media/handclosed.cur -------------------------------------------------------------------------------- /app-player-for-cordova/www/media/handdelete.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyorohiro/doc.advent.scratch30/b269b4f56b213812bfebba2c0ca68074f2bb996f/app-player-for-cordova/www/media/handdelete.cur -------------------------------------------------------------------------------- /app-player-for-cordova/www/media/handopen.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyorohiro/doc.advent.scratch30/b269b4f56b213812bfebba2c0ca68074f2bb996f/app-player-for-cordova/www/media/handopen.cur -------------------------------------------------------------------------------- /app-player-for-cordova/www/media/icons/arrow.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | arrow 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /app-player-for-cordova/www/media/icons/control_forever.svg: -------------------------------------------------------------------------------- 1 | control_forever -------------------------------------------------------------------------------- /app-player-for-cordova/www/media/icons/control_repeat.svg: -------------------------------------------------------------------------------- 1 | control_repeat -------------------------------------------------------------------------------- /app-player-for-cordova/www/media/icons/control_stop.svg: -------------------------------------------------------------------------------- 1 | control_stop -------------------------------------------------------------------------------- /app-player-for-cordova/www/media/icons/control_wait.svg: -------------------------------------------------------------------------------- 1 | wait -------------------------------------------------------------------------------- /app-player-for-cordova/www/media/icons/event_broadcast_blue.svg: -------------------------------------------------------------------------------- 1 | event_broadcast_blue -------------------------------------------------------------------------------- /app-player-for-cordova/www/media/icons/event_broadcast_coral.svg: -------------------------------------------------------------------------------- 1 | event_broadcast_coral -------------------------------------------------------------------------------- /app-player-for-cordova/www/media/icons/event_broadcast_green.svg: -------------------------------------------------------------------------------- 1 | event_broadcast_green -------------------------------------------------------------------------------- /app-player-for-cordova/www/media/icons/event_broadcast_magenta.svg: -------------------------------------------------------------------------------- 1 | event_broadcast_magenta -------------------------------------------------------------------------------- /app-player-for-cordova/www/media/icons/event_broadcast_orange.svg: -------------------------------------------------------------------------------- 1 | event_broadcast_orange -------------------------------------------------------------------------------- /app-player-for-cordova/www/media/icons/event_broadcast_purple.svg: -------------------------------------------------------------------------------- 1 | send-message-purple -------------------------------------------------------------------------------- /app-player-for-cordova/www/media/icons/event_when-broadcast-received_blue.svg: -------------------------------------------------------------------------------- 1 | LetterGet_Blue -------------------------------------------------------------------------------- /app-player-for-cordova/www/media/icons/event_when-broadcast-received_coral.svg: -------------------------------------------------------------------------------- 1 | LetterGet_Coral -------------------------------------------------------------------------------- /app-player-for-cordova/www/media/icons/event_when-broadcast-received_green.svg: -------------------------------------------------------------------------------- 1 | LetterGet_Green -------------------------------------------------------------------------------- /app-player-for-cordova/www/media/icons/event_when-broadcast-received_magenta.svg: -------------------------------------------------------------------------------- 1 | LetterGet_Magenta -------------------------------------------------------------------------------- /app-player-for-cordova/www/media/icons/event_when-broadcast-received_orange.svg: -------------------------------------------------------------------------------- 1 | LetterGet_Orange -------------------------------------------------------------------------------- /app-player-for-cordova/www/media/icons/event_when-broadcast-received_purple.svg: -------------------------------------------------------------------------------- 1 | LetterGet_Purple -------------------------------------------------------------------------------- /app-player-for-cordova/www/media/icons/event_whenflagclicked.svg: -------------------------------------------------------------------------------- 1 | greenflag -------------------------------------------------------------------------------- /app-player-for-cordova/www/media/icons/set-led_blue.svg: -------------------------------------------------------------------------------- 1 | set-led_blue -------------------------------------------------------------------------------- /app-player-for-cordova/www/media/icons/set-led_coral.svg: -------------------------------------------------------------------------------- 1 | set-led_coral -------------------------------------------------------------------------------- /app-player-for-cordova/www/media/icons/set-led_green.svg: -------------------------------------------------------------------------------- 1 | set-led_green -------------------------------------------------------------------------------- /app-player-for-cordova/www/media/icons/set-led_magenta.svg: -------------------------------------------------------------------------------- 1 | set-led-magenta -------------------------------------------------------------------------------- /app-player-for-cordova/www/media/icons/set-led_mystery.svg: -------------------------------------------------------------------------------- 1 | set-led-mystery -------------------------------------------------------------------------------- /app-player-for-cordova/www/media/icons/set-led_orange.svg: -------------------------------------------------------------------------------- 1 | set-led-orange -------------------------------------------------------------------------------- /app-player-for-cordova/www/media/icons/set-led_purple.svg: -------------------------------------------------------------------------------- 1 | set-led-purple -------------------------------------------------------------------------------- /app-player-for-cordova/www/media/icons/set-led_white.svg: -------------------------------------------------------------------------------- 1 | set-led-white -------------------------------------------------------------------------------- /app-player-for-cordova/www/media/icons/set-led_yellow.svg: -------------------------------------------------------------------------------- 1 | set-led-yellow -------------------------------------------------------------------------------- /app-player-for-cordova/www/media/icons/wedo_motor-clockwise.svg: -------------------------------------------------------------------------------- 1 | wedo_motorclockwise -------------------------------------------------------------------------------- /app-player-for-cordova/www/media/icons/wedo_motor-counterclockwise.svg: -------------------------------------------------------------------------------- 1 | wedo_motorclockwise -------------------------------------------------------------------------------- /app-player-for-cordova/www/media/icons/wedo_motor-speed_fast.svg: -------------------------------------------------------------------------------- 1 | set-motor-speed_fast -------------------------------------------------------------------------------- /app-player-for-cordova/www/media/icons/wedo_motor-speed_med.svg: -------------------------------------------------------------------------------- 1 | set-motor-speed_med -------------------------------------------------------------------------------- /app-player-for-cordova/www/media/icons/wedo_motor-speed_slow.svg: -------------------------------------------------------------------------------- 1 | set-motor-speed_slow -------------------------------------------------------------------------------- /app-player-for-cordova/www/media/icons/wedo_when-distance_close.svg: -------------------------------------------------------------------------------- 1 | wedo_whendistanceclose -------------------------------------------------------------------------------- /app-player-for-cordova/www/media/icons/wedo_when-tilt-backward.svg: -------------------------------------------------------------------------------- 1 | wedo_whentiltbackward -------------------------------------------------------------------------------- /app-player-for-cordova/www/media/icons/wedo_when-tilt-forward.svg: -------------------------------------------------------------------------------- 1 | start-when-tilted-forward -------------------------------------------------------------------------------- /app-player-for-cordova/www/media/icons/wedo_when-tilt-left.svg: -------------------------------------------------------------------------------- 1 | start-when-tilted-left -------------------------------------------------------------------------------- /app-player-for-cordova/www/media/icons/wedo_when-tilt-right.svg: -------------------------------------------------------------------------------- 1 | start-when-tilted-right -------------------------------------------------------------------------------- /app-player-for-cordova/www/media/icons/wedo_when-tilt.svg: -------------------------------------------------------------------------------- 1 | start-when-tilted-any -------------------------------------------------------------------------------- /app-player-for-cordova/www/media/repeat.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 9 | repeat 10 | 14 | 18 | 19 | -------------------------------------------------------------------------------- /app-player-for-cordova/www/media/rotate-left.svg: -------------------------------------------------------------------------------- 1 | rotate-clockwise -------------------------------------------------------------------------------- /app-player-for-cordova/www/media/rotate-right.svg: -------------------------------------------------------------------------------- 1 | rotate-counter-clockwise -------------------------------------------------------------------------------- /app-player-for-cordova/www/media/sprites.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyorohiro/doc.advent.scratch30/b269b4f56b213812bfebba2c0ca68074f2bb996f/app-player-for-cordova/www/media/sprites.png -------------------------------------------------------------------------------- /app-player-for-cordova/www/media/sprites.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | -------------------------------------------------------------------------------- /app-player-for-cordova/www/media/zoom-in.svg: -------------------------------------------------------------------------------- 1 | zoom-in -------------------------------------------------------------------------------- /app-player-for-cordova/www/media/zoom-out.svg: -------------------------------------------------------------------------------- 1 | zoom-out -------------------------------------------------------------------------------- /app-player-for-cordova/www/media/zoom-reset.svg: -------------------------------------------------------------------------------- 1 | zoom-reset -------------------------------------------------------------------------------- /app-player-for-cordova/www/playground.css: -------------------------------------------------------------------------------- 1 | body { 2 | background: rgb(36,36,36); 3 | } 4 | a { 5 | color: rgb(217,217,217); 6 | } 7 | h2 { 8 | font-size: 1em; 9 | } 10 | #blocks { 11 | position: absolute; 12 | left: 40%; 13 | right: 0; 14 | top: 0; 15 | bottom: 0; 16 | font-family: "Helvetica Neue", Helvetica, sans-serif; 17 | } 18 | #vm-devtools { 19 | color: rgb(217,217,217); 20 | position: absolute; 21 | left: 1%; 22 | right: 60%; 23 | top: 1%; 24 | bottom: 0; 25 | width: 35%; 26 | } 27 | #blockexplorer, #threadexplorer, #importexport { 28 | position: absolute; 29 | height: 75%; 30 | overflow: scroll; 31 | border: 1px solid #fff; 32 | background: rgb(36,36,36); 33 | color: rgb(217,217,217); 34 | font-family: monospace; 35 | font-size: 10pt; 36 | width: 480px; 37 | height: 360px; 38 | } 39 | #tab-blockexplorer, #tab-threadexplorer, #tab-importexport { 40 | display: none; 41 | } 42 | #importExport { 43 | width: 480px; 44 | height: 360px; 45 | background: rgb(36,36,36); 46 | color: rgb(217,217,217); 47 | } 48 | #projectId { 49 | background: rgb(36,36,36); 50 | color: rgb(217,217,217); 51 | font-family: monospace; 52 | font-size: 10pt; 53 | } 54 | ul#playgroundLinks { 55 | display: block; 56 | list-style-type: none; 57 | margin: 0; 58 | padding: 0; 59 | overflow: hidden; 60 | background-color: #333; 61 | } 62 | #playgroundLinks li { 63 | float: left; 64 | } 65 | #playgroundLinks li a { 66 | display: block; 67 | color: white; 68 | text-align: center; 69 | padding: 5px 10px; 70 | } 71 | #playgroundLinks li a:hover { 72 | background-color: #111; 73 | } 74 | -------------------------------------------------------------------------------- /app-player-for-cordova/www/scratch-storage.min.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"scratch-storage.min.js","sources":["webpack:///scratch-storage.min.js"],"mappings":"AAAA;;;;;;;;;AAguCA;;;;;;AA2qBA;;;;;;AAsgMA","sourceRoot":""} -------------------------------------------------------------------------------- /app-player-for-cordova/www/zenburn.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Zenburn style from voldmar.ru (c) Vladimir Epifanov 4 | based on dark.css by Ivan Sagalaev 5 | 6 | */ 7 | 8 | .hljs { 9 | display: block; 10 | overflow-x: auto; 11 | padding: 0.5em; 12 | background: #3f3f3f; 13 | color: #dcdcdc; 14 | } 15 | 16 | .hljs-keyword, 17 | .hljs-selector-tag, 18 | .hljs-tag { 19 | color: #e3ceab; 20 | } 21 | 22 | .hljs-template-tag { 23 | color: #dcdcdc; 24 | } 25 | 26 | .hljs-number { 27 | color: #8cd0d3; 28 | } 29 | 30 | .hljs-variable, 31 | .hljs-template-variable, 32 | .hljs-attribute { 33 | color: #efdcbc; 34 | } 35 | 36 | .hljs-literal { 37 | color: #efefaf; 38 | } 39 | 40 | .hljs-subst { 41 | color: #8f8f8f; 42 | } 43 | 44 | .hljs-title, 45 | .hljs-name, 46 | .hljs-selector-id, 47 | .hljs-selector-class, 48 | .hljs-section, 49 | .hljs-type { 50 | color: #efef8f; 51 | } 52 | 53 | .hljs-symbol, 54 | .hljs-bullet, 55 | .hljs-link { 56 | color: #dca3a3; 57 | } 58 | 59 | .hljs-deletion, 60 | .hljs-string, 61 | .hljs-built_in, 62 | .hljs-builtin-name { 63 | color: #cc9393; 64 | } 65 | 66 | .hljs-addition, 67 | .hljs-comment, 68 | .hljs-quote, 69 | .hljs-meta { 70 | color: #7f9f7f; 71 | } 72 | 73 | 74 | .hljs-emphasis { 75 | font-style: italic; 76 | } 77 | 78 | .hljs-strong { 79 | font-weight: bold; 80 | } 81 | -------------------------------------------------------------------------------- /babel01/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "babel01", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "keywords": [], 10 | "author": "", 11 | "license": "ISC", 12 | "devDependencies": { 13 | "babel-core": "^6.26.0", 14 | "babel-eslint": "^8.0.3", 15 | "babel-loader": "^7.1.2", 16 | "babel-preset-es2015": "^6.24.1", 17 | "webpack": "^3.10.0" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /babel01/src/index.js: -------------------------------------------------------------------------------- 1 | class HelloWorld { 2 | hello() { 3 | console.log("Hello, World!!"); 4 | } 5 | } 6 | 7 | var helloWorld = new HelloWorld(); 8 | helloWorld.hello(); 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /babel01/webpack.config.js: -------------------------------------------------------------------------------- 1 | const path = require('path'); 2 | 3 | module.exports = { 4 | entry: './src/index.js', 5 | output: { 6 | filename: 'bundle.js', 7 | path: path.resolve(__dirname, 'dist') 8 | }, 9 | module: { 10 | rules: [{ 11 | loader: 'babel-loader', 12 | include: path.resolve(__dirname, 'src'), 13 | query: { 14 | presets: ['es2015'] 15 | } 16 | }] 17 | }, 18 | }; 19 | -------------------------------------------------------------------------------- /blocky/hello_01.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Blockly Demo: Fixed Blockly 5 | 6 | 7 | 8 | 9 | 10 |
11 | 21 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /blocky/hello_02_convert_and_run.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Blockly Demo: Fixed Blockly 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 28 | 56 | 57 | 58 | 59 | -------------------------------------------------------------------------------- /blocky/msg/json/constants.json: -------------------------------------------------------------------------------- 1 | {"MATH_HUE": "230", "LOOPS_HUE": "120", "LISTS_HUE": "260", "LOGIC_HUE": "210", "VARIABLES_HUE": "330", "TEXTS_HUE": "160", "PROCEDURES_HUE": "290", "COLOUR_HUE": "20"} -------------------------------------------------------------------------------- /blocky/msg/json/lb.json: -------------------------------------------------------------------------------- 1 | { 2 | "@metadata": { 3 | "authors": [ 4 | "Robby", 5 | "Soued031", 6 | "Les Meloures" 7 | ] 8 | }, 9 | "VARIABLES_DEFAULT_NAME": "Element", 10 | "TODAY": "Haut", 11 | "DUPLICATE_BLOCK": "Eng Kopie maachen", 12 | "ADD_COMMENT": "Bemierkung derbäisetzen", 13 | "REMOVE_COMMENT": "Bemierkung ewechhuelen", 14 | "DELETE_BLOCK": "Block läschen", 15 | "DELETE_X_BLOCKS": "%1 Bléck läschen", 16 | "CLEAN_UP": "Bléck opraumen", 17 | "COLLAPSE_BLOCK": "Block zesummeklappen", 18 | "COLLAPSE_ALL": "Bléck zesummeklappen", 19 | "EXPAND_BLOCK": "Block opklappen", 20 | "EXPAND_ALL": "Bléck opklappen", 21 | "DISABLE_BLOCK": "Block desaktivéieren", 22 | "ENABLE_BLOCK": "Block aktivéieren", 23 | "HELP": "Hëllef", 24 | "UNDO": "Réckgängeg maachen", 25 | "REDO": "Widderhuelen", 26 | "CHANGE_VALUE_TITLE": "Wäert änneren:", 27 | "RENAME_VARIABLE": "Variabel ëmbenennen...", 28 | "RENAME_VARIABLE_TITLE": "All '%1' Variabelen ëmbenennen op:", 29 | "NEW_VARIABLE": "Variabel uleeën...", 30 | "NEW_VARIABLE_TITLE": "Neie variabelen Numm:", 31 | "COLOUR_PICKER_TOOLTIP": "Sicht eng Faarf an der Palette eraus.", 32 | "COLOUR_RANDOM_TITLE": "zoufälleg Faarf", 33 | "COLOUR_RANDOM_TOOLTIP": "Eng zoufälleg Faarf eraussichen.", 34 | "COLOUR_RGB_TITLE": "fierwe mat", 35 | "COLOUR_RGB_RED": "rout", 36 | "COLOUR_RGB_GREEN": "gréng", 37 | "COLOUR_RGB_BLUE": "blo", 38 | "COLOUR_BLEND_TITLE": "mëschen", 39 | "COLOUR_BLEND_COLOUR1": "Faarf 1", 40 | "COLOUR_BLEND_COLOUR2": "Faarf 2", 41 | "COLOUR_BLEND_RATIO": "ratio", 42 | "CONTROLS_REPEAT_TITLE": "%1-mol widderhuelen", 43 | "CONTROLS_REPEAT_INPUT_DO": "maach", 44 | "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "Widderhuel soulaang", 45 | "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "widderhuele bis", 46 | "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "Féiert d'Uweisungen aus, soulaang wéi de Wäert richteg ass", 47 | "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "Féiert d'Uweisungen aus, soulaang wéi de Wäert falsch ass.", 48 | "CONTROLS_FOR_TITLE": "zielt mat %1 vun %2 bis %3 mat %4", 49 | "CONTROLS_FOREACH_TITLE": "fir all Element %1 an der Lëscht %2", 50 | "CONTROLS_IF_MSG_IF": "wann", 51 | "CONTROLS_IF_MSG_ELSE": "soss", 52 | "IOS_OK": "OK", 53 | "IOS_CANCEL": "Ofbriechen", 54 | "IOS_ERROR": "Feeler", 55 | "IOS_VARIABLES_ADD_VARIABLE": "+ Variabel derbäisetzen", 56 | "IOS_VARIABLES_ADD_BUTTON": "Derbäisetzen", 57 | "IOS_VARIABLES_RENAME_BUTTON": "Ëmbenennen", 58 | "IOS_VARIABLES_DELETE_BUTTON": "Läschen", 59 | "IOS_VARIABLES_VARIABLE_NAME": "Numm vun der Variabel", 60 | "IOS_VARIABLES_EMPTY_NAME_ERROR": "Dir kënnt keen eidelen Numm fir eng Variabel benotzen.", 61 | "LOGIC_OPERATION_AND": "an", 62 | "LOGIC_OPERATION_OR": "oder", 63 | "LOGIC_NEGATE_TITLE": "net %1", 64 | "LOGIC_BOOLEAN_TRUE": "wouer", 65 | "LOGIC_BOOLEAN_FALSE": "falsch", 66 | "LOGIC_BOOLEAN_TOOLTIP": "Schéckt entweder richteg oder falsch zréck.", 67 | "LOGIC_NULL": "null", 68 | "LOGIC_TERNARY_HELPURL": "https://en.wikipedia.org/wiki/%3F:", 69 | "LOGIC_TERNARY_CONDITION": "Test", 70 | "LOGIC_TERNARY_IF_TRUE": "wa wouer", 71 | "LOGIC_TERNARY_IF_FALSE": "wa falsch", 72 | "MATH_NUMBER_TOOLTIP": "Eng Zuel.", 73 | "MATH_ARITHMETIC_TOOLTIP_ADD": "Den Total vun den zwou Zuelen zréckginn.", 74 | "MATH_ARITHMETIC_TOOLTIP_MULTIPLY": "D'Produkt vun den zwou Zuelen zréckginn.", 75 | "MATH_SINGLE_HELPURL": "https://lb.wikipedia.org/wiki/Racine carrée", 76 | "MATH_SINGLE_OP_ROOT": "Quadratwuerzel", 77 | "MATH_SINGLE_OP_ABSOLUTE": "absolut", 78 | "MATH_IS_EVEN": "ass gerued", 79 | "MATH_IS_ODD": "ass ongerued", 80 | "MATH_IS_PRIME": "ass eng Primzuel", 81 | "MATH_IS_WHOLE": "ass eng ganz Zuel", 82 | "MATH_IS_POSITIVE": "ass positiv", 83 | "MATH_IS_NEGATIVE": "ass negativ", 84 | "MATH_CHANGE_TITLE": "änneren %1 ëm %2", 85 | "MATH_ROUND_TOOLTIP": "Eng Zuel op- oder ofrënnen.", 86 | "MATH_ROUND_OPERATOR_ROUND": "opronnen", 87 | "MATH_ROUND_OPERATOR_ROUNDUP": "oprënnen", 88 | "MATH_ROUND_OPERATOR_ROUNDDOWN": "ofrënnen", 89 | "MATH_ONLIST_OPERATOR_MAX": "Maximum aus der Lëscht", 90 | "MATH_ONLIST_TOOLTIP_MAX": "Schéckt de gréisste Wäert aus enger Lëscht zréck.", 91 | "MATH_ONLIST_OPERATOR_AVERAGE": "Moyenne vun der Lëscht", 92 | "MATH_ONLIST_OPERATOR_RANDOM": "zoufällegt Element vun enger Lëscht", 93 | "MATH_MODULO_TITLE": "Rescht vu(n) %1 ÷ %2", 94 | "MATH_RANDOM_INT_TITLE": "zoufälleg ganz Zuel tëscht %1 a(n) %2", 95 | "TEXT_TEXT_TOOLTIP": "E Buschtaf, e Wuert oder eng Textzeil.", 96 | "TEXT_CREATE_JOIN_ITEM_TOOLTIP": "En Element bei den Text derbäisetzen.", 97 | "TEXT_LENGTH_TITLE": "Längt vu(n) %1", 98 | "TEXT_ISEMPTY_TITLE": "%1 ass eidel", 99 | "TEXT_INDEXOF_TITLE": "am Text %1 %2 %3", 100 | "TEXT_CHARAT_TITLE": "am Text %1 %2", 101 | "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "am Text", 102 | "TEXT_GET_SUBSTRING_END_FROM_START": "bis bei de Buschtaf #", 103 | "TEXT_GET_SUBSTRING_END_LAST": "bis bei de leschte Buschtaw", 104 | "TEXT_PRINT_TITLE": "%1 drécken", 105 | "TEXT_PROMPT_TOOLTIP_TEXT": "Frot de Benotzer no engem Text.", 106 | "TEXT_COUNT_HELPURL": "https://github.com/google/blockly/wiki/Text#counting-substrings", 107 | "TEXT_REPLACE_MESSAGE0": "%1 duerch %2 a(n) %3 ersetzen", 108 | "TEXT_REPLACE_TOOLTIP": "All Kéiers wou e bestëmmten Text do ass duerch en aneren Text ersetzen.", 109 | "TEXT_REVERSE_TOOLTIP": "Dréint d'Reiefolleg vun den Zeechen am Text ëm.", 110 | "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "Lëscht", 111 | "LISTS_CREATE_WITH_ITEM_TOOLTIP": "En Element op d'Lëscht derbäisetzen.", 112 | "LISTS_LENGTH_TITLE": "Längt vu(n) %1", 113 | "LISTS_ISEMPTY_TITLE": "%1 ass eidel", 114 | "LISTS_INLIST": "an der Lëscht", 115 | "LISTS_GET_INDEX_REMOVE": "ewechhuelen", 116 | "LISTS_GET_INDEX_FROM_START": "#", 117 | "LISTS_GET_INDEX_FROM_END": "# vun hannen", 118 | "LISTS_GET_INDEX_FIRST": "éischt", 119 | "LISTS_GET_INDEX_LAST": "lescht", 120 | "LISTS_GET_INDEX_RANDOM": "Zoufall", 121 | "LISTS_INDEX_FROM_START_TOOLTIP": "%1 ass dat éischt Element.", 122 | "LISTS_INDEX_FROM_END_TOOLTIP": "%1 ass dat éischt Element.", 123 | "LISTS_GET_INDEX_TOOLTIP_GET_RANDOM": "Schéckt en zoufällegt Element aus enger Lëscht zréck.", 124 | "LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST": "Hëlt dat lescht Element aus enger Lëscht eraus.", 125 | "LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM": "Hëlt en zoufällegt Element aus enger Lëscht eraus.", 126 | "LISTS_SET_INDEX_INSERT": "asetzen op", 127 | "LISTS_SET_INDEX_INPUT_TO": "als", 128 | "LISTS_SET_INDEX_TOOLTIP_SET_RANDOM": "Setzt en zoufällegt Element an eng Lëscht.", 129 | "LISTS_SET_INDEX_TOOLTIP_INSERT_LAST": "Setzt d'Element um Enn vun enger Lëscht derbäi.", 130 | "LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM": "Setzt d'Element op eng zoufälleg Plaz an d'Lëscht derbäi.", 131 | "LISTS_SORT_TYPE_NUMERIC": "numeresch", 132 | "LISTS_SORT_TYPE_TEXT": "alphabetesch", 133 | "LISTS_REVERSE_HELPURL": "https://github.com/google/blockly/wiki/Lists#reversing-a-list", 134 | "LISTS_REVERSE_MESSAGE0": "%1 ëmdréinen", 135 | "PROCEDURES_DEFNORETURN_PROCEDURE": "eppes maachen", 136 | "PROCEDURES_BEFORE_PARAMS": "mat:", 137 | "PROCEDURES_CALL_BEFORE_PARAMS": "mat:", 138 | "PROCEDURES_DEFNORETURN_COMMENT": "Dës Funktioun beschreiwen...", 139 | "PROCEDURES_DEFRETURN_RETURN": "zréck", 140 | "PROCEDURES_CREATE_DO": "'%1' uleeën" 141 | } 142 | -------------------------------------------------------------------------------- /blocky/msg/json/lrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "@metadata": { 3 | "authors": [ 4 | "Mogoeilor" 5 | ] 6 | }, 7 | "VARIABLES_DEFAULT_NAME": "قلم", 8 | "TODAY": "ئمروٙ", 9 | "DUPLICATE_BLOCK": "کپی کردن", 10 | "ADD_COMMENT": "نظرتونه اضاف بکید", 11 | "REMOVE_COMMENT": "نظر جا وه جا کو", 12 | "EXTERNAL_INPUTS": "داده یا وه دری", 13 | "INLINE_INPUTS": "داده یا مئنجا", 14 | "DELETE_BLOCK": "پاکسا کردن برشت", 15 | "DELETE_X_BLOCKS": "پاکسا کردن%1 د برشتیا", 16 | "COLLAPSE_BLOCK": "کوچک کردن برشت", 17 | "COLLAPSE_ALL": "کوچک کردن برشتیا", 18 | "EXPAND_BLOCK": "گپ کردن برشت", 19 | "EXPAND_ALL": "گپ کردن برشتیا", 20 | "DISABLE_BLOCK": "ناکشتگر کردن برشت", 21 | "ENABLE_BLOCK": "کنشتگر کردن برشت", 22 | "HELP": "هومياری", 23 | "CHANGE_VALUE_TITLE": "ارزشت آلشت کو:", 24 | "RENAME_VARIABLE": "د نو نوم نیائن آلشتگر...", 25 | "RENAME_VARIABLE_TITLE": "د نو نوم نیائن %1 د تموم آلشتگریا د:", 26 | "NEW_VARIABLE": "آلشتگر تازه...", 27 | "NEW_VARIABLE_TITLE": "نوم آلشتگر تازه:", 28 | "COLOUR_PICKER_HELPURL": "https://en.wikipedia.org/wiki/Color", 29 | "COLOUR_PICKER_TOOLTIP": "یه رن د رنگ دو انتخاو بکید", 30 | "COLOUR_RANDOM_TITLE": "رن بختکی", 31 | "COLOUR_RANDOM_TOOLTIP": "یه رنگ بختکی انتخاو بکید", 32 | "COLOUR_RGB_TITLE": "رن وا", 33 | "COLOUR_RGB_RED": "سور", 34 | "COLOUR_RGB_GREEN": "سوز", 35 | "COLOUR_RGB_BLUE": "آوی", 36 | "COLOUR_BLEND_TITLE": "شیوسته", 37 | "COLOUR_BLEND_COLOUR1": "رن 1", 38 | "COLOUR_BLEND_COLOUR2": "رن 2", 39 | "COLOUR_BLEND_RATIO": "نسوت", 40 | "COLOUR_BLEND_TOOLTIP": "هر کوم د رنگیانه وا نسوت دائه بیه به شیون(0.0 - 1.0).", 41 | "CONTROLS_REPEAT_HELPURL": "https://en.wikipedia.org/wiki/For_loop", 42 | "CONTROLS_REPEAT_TITLE": "%1 تکرار کو چن بار", 43 | "CONTROLS_REPEAT_INPUT_DO": "انجوم بئه", 44 | "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "تا تکرار کو", 45 | "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "تا تکرار کو", 46 | "CONTROLS_FOR_TITLE": "اشماردن وا %1 د %2 سی %3 وا %4", 47 | "CONTROLS_FOREACH_TITLE": "سی هر قلم %1 د نوم گه %2", 48 | "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "حلقه نه خراو کو", 49 | "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "حلقه شومل بیه نه خراو کو", 50 | "CONTROLS_IF_MSG_IF": "ار", 51 | "CONTROLS_IF_MSG_ELSEIF": "هنی ار", 52 | "CONTROLS_IF_MSG_ELSE": "هنی", 53 | "LOGIC_OPERATION_AND": "و", 54 | "LOGIC_OPERATION_OR": "یا", 55 | "LOGIC_NEGATE_TITLE": "نه %1", 56 | "LOGIC_BOOLEAN_TRUE": "راست و دوروست", 57 | "LOGIC_BOOLEAN_FALSE": "غلط", 58 | "LOGIC_BOOLEAN_TOOLTIP": "هم غلط و هم راس ورگن", 59 | "LOGIC_NULL": "خمثی", 60 | "LOGIC_TERNARY_CONDITION": "آزماشت کردن", 61 | "LOGIC_TERNARY_IF_TRUE": "ار درس بی", 62 | "LOGIC_TERNARY_IF_FALSE": "ار غلط بی", 63 | "MATH_NUMBER_HELPURL": "https://en.wikipedia.org/wiki/Number", 64 | "MATH_NUMBER_TOOLTIP": "یه شماره.", 65 | "MATH_ARITHMETIC_HELPURL": "https://en.wikipedia.org/wiki/Arithmetic", 66 | "MATH_ARITHMETIC_TOOLTIP_ADD": "وه انازه دو گل شماره ورگن.", 67 | "MATH_SINGLE_HELPURL": "https://en.wikipedia.org/wiki/Square_root", 68 | "MATH_SINGLE_OP_ROOT": "چارسوک ریشه", 69 | "MATH_SINGLE_OP_ABSOLUTE": "تموم و کمال", 70 | "MATH_TRIG_HELPURL": "https://en.wikipedia.org/wiki/Trigonometric_functions", 71 | "MATH_CONSTANT_HELPURL": "https://en.wikipedia.org/wiki/Mathematical_constant", 72 | "MATH_IS_EVEN": "همیشه هیئش", 73 | "MATH_IS_ODD": "تهنائه", 74 | "MATH_IS_PRIME": "وه اوله", 75 | "MATH_IS_WHOLE": "همشه", 76 | "MATH_IS_POSITIVE": "مثبته", 77 | "MATH_IS_NEGATIVE": "منفیه", 78 | "MATH_IS_DIVISIBLE_BY": "یه وا بهر بیه", 79 | "MATH_CHANGE_HELPURL": "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter", 80 | "MATH_CHANGE_TITLE": "آلشت بكيد %1 وا %2", 81 | "MATH_ROUND_HELPURL": "https://en.wikipedia.org/wiki/Rounding", 82 | "MATH_ROUND_OPERATOR_ROUND": "گرد کردن", 83 | "MATH_ROUND_OPERATOR_ROUNDUP": "وه رو گرد کردن", 84 | "MATH_ROUND_OPERATOR_ROUNDDOWN": "وه هار گرد کردن", 85 | "MATH_ONLIST_OPERATOR_SUM": "جم کردن نومگه", 86 | "MATH_ONLIST_OPERATOR_MIN": "کمترونه د نومگه", 87 | "MATH_ONLIST_OPERATOR_MAX": "بیشترونه د نومگه", 88 | "MATH_ONLIST_OPERATOR_AVERAGE": "مینجاگه نوم گه", 89 | "MATH_ONLIST_OPERATOR_MEDIAN": "مینجا نوم گه", 90 | "MATH_ONLIST_OPERATOR_MODE": "بیشری د نومگه", 91 | "MATH_MODULO_HELPURL": "https://en.wikipedia.org/wiki/Modulo_operation", 92 | "MATH_RANDOM_INT_HELPURL": "https://en.wikipedia.org/wiki/Random_number_generation", 93 | "MATH_RANDOM_FLOAT_HELPURL": "https://en.wikipedia.org/wiki/Random_number_generation", 94 | "TEXT_TEXT_HELPURL": "https://en.wikipedia.org/wiki/String_(computer_science)", 95 | "TEXT_JOIN_TITLE_CREATEWITH": "راس کردن متن وا", 96 | "TEXT_CREATE_JOIN_TITLE_JOIN": "پیوسن", 97 | "TEXT_ISEMPTY_TITLE": "%1 حالیه", 98 | "TEXT_INDEXOF_TITLE": "د متن %1 %2 %3", 99 | "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "د متن", 100 | "TEXT_GET_SUBSTRING_END_FROM_START": "سی واج#", 101 | "TEXT_GET_SUBSTRING_END_FROM_END": "سی واج# تا آخر", 102 | "TEXT_GET_SUBSTRING_END_LAST": "سی آخرین واج", 103 | "TEXT_CHANGECASE_OPERATOR_UPPERCASE": "سی حرف گپ", 104 | "TEXT_CHANGECASE_OPERATOR_LOWERCASE": "سی واج کؤچک", 105 | "LISTS_CREATE_EMPTY_TITLE": "یه گل نوم گه حالی راس بکیت", 106 | "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "نوم گه", 107 | "LISTS_ISEMPTY_TITLE": "%1 حالیه", 108 | "LISTS_INLIST": "د نوم گه", 109 | "LISTS_GET_INDEX_GET": "گرتن", 110 | "LISTS_GET_INDEX_GET_REMOVE": "گرتن و جاوه جا بیئن", 111 | "LISTS_GET_INDEX_REMOVE": "ؤرداشتن", 112 | "LISTS_GET_INDEX_FROM_END": "# تا آخر", 113 | "LISTS_GET_INDEX_FIRST": "اولی", 114 | "LISTS_GET_INDEX_LAST": "آخر", 115 | "LISTS_GET_INDEX_RANDOM": "بختكی", 116 | "LISTS_SET_INDEX_INSERT": "بنه د", 117 | "LISTS_SET_INDEX_INPUT_TO": "چی", 118 | "LISTS_GET_SUBLIST_END_FROM_START": "سی#", 119 | "LISTS_GET_SUBLIST_END_LAST": "سی آخر", 120 | "VARIABLES_SET": "میزوکاری %1 سی %2", 121 | "PROCEDURES_DEFNORETURN_TITLE": "سی", 122 | "PROCEDURES_DEFNORETURN_PROCEDURE": "یه کار انجوم بیئت", 123 | "PROCEDURES_BEFORE_PARAMS": "وا:", 124 | "PROCEDURES_CALL_BEFORE_PARAMS": "وا:", 125 | "PROCEDURES_DEFRETURN_RETURN": "ورگنیئن", 126 | "PROCEDURES_CALLNORETURN_HELPURL": "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29", 127 | "PROCEDURES_CALLRETURN_HELPURL": "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29", 128 | "PROCEDURES_MUTATORCONTAINER_TITLE": "داده یا", 129 | "PROCEDURES_MUTATORARG_TITLE": "نوم داده:", 130 | "PROCEDURES_CREATE_DO": "راس کردن%1" 131 | } 132 | -------------------------------------------------------------------------------- /blocky/msg/json/mk.json: -------------------------------------------------------------------------------- 1 | { 2 | "@metadata": { 3 | "authors": [ 4 | "Bjankuloski06" 5 | ] 6 | }, 7 | "VARIABLES_DEFAULT_NAME": "елемент", 8 | "DUPLICATE_BLOCK": "Ископирај", 9 | "ADD_COMMENT": "Додај коментар:", 10 | "REMOVE_COMMENT": "Отстрани коментар", 11 | "EXTERNAL_INPUTS": "Надворешен внос", 12 | "INLINE_INPUTS": "Внатрешен внос", 13 | "DELETE_BLOCK": "Избриши блок", 14 | "DELETE_X_BLOCKS": "Избриши %1 блока", 15 | "DELETE_ALL_BLOCKS": "Да ги избришам сите %1 блокчиња?", 16 | "COLLAPSE_BLOCK": "Собери блок", 17 | "COLLAPSE_ALL": "Собери блокови", 18 | "EXPAND_BLOCK": "Рашири го блокови", 19 | "EXPAND_ALL": "Рашири блокови", 20 | "DISABLE_BLOCK": "Исклучи блок", 21 | "ENABLE_BLOCK": "Вклучи блок", 22 | "HELP": "Помош", 23 | "CHANGE_VALUE_TITLE": "Смена на вредност:", 24 | "NEW_VARIABLE": "Нова променлива...", 25 | "NEW_VARIABLE_TITLE": "Назив на новата променлива:", 26 | "RENAME_VARIABLE": "Преименувај променлива...", 27 | "RENAME_VARIABLE_TITLE": "Преименувај ги сите променливи „%1“ во:", 28 | "COLOUR_PICKER_HELPURL": "https://mk.wikipedia.org/wiki/Боја", 29 | "COLOUR_PICKER_TOOLTIP": "Изберете боја од палетата.", 30 | "COLOUR_RANDOM_TITLE": "случајна боја", 31 | "COLOUR_RANDOM_TOOLTIP": "Избери боја на тепка.", 32 | "COLOUR_RGB_TITLE": "боја со", 33 | "COLOUR_RGB_RED": "црвена", 34 | "COLOUR_RGB_GREEN": "зелена", 35 | "COLOUR_RGB_BLUE": "сина", 36 | "COLOUR_RGB_TOOLTIP": "Создајте боја со укажаните износи на црвена, зелена и сина. Сите вредности мора да бидат помеѓу 0 и 100.", 37 | "COLOUR_BLEND_TITLE": "смешај", 38 | "COLOUR_BLEND_COLOUR1": "боја 1", 39 | "COLOUR_BLEND_COLOUR2": "боја 2", 40 | "COLOUR_BLEND_RATIO": "сооднос", 41 | "COLOUR_BLEND_TOOLTIP": "Меша две бои во даден сооднос (0.0 - 1.0).", 42 | "CONTROLS_REPEAT_HELPURL": "https://mk.wikipedia.org/wiki/For-јамка", 43 | "CONTROLS_REPEAT_TITLE": "повтори %1 пати", 44 | "CONTROLS_REPEAT_INPUT_DO": "исполни", 45 | "CONTROLS_REPEAT_TOOLTIP": "Исполнува наредби неколку пати.", 46 | "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "повторувај додека", 47 | "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "повторувај сè до", 48 | "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "Додека вредноста е вистинита, исполнува наредби.", 49 | "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "Додека вредноста е невистинита, исполнува наредби.", 50 | "CONTROLS_FOR_TOOLTIP": "Променливата \"%1\" да ги земе вредностите од почетниот до завршниот број, броејќи според укажаниот интервал и ги исполнува укажаните блокови.", 51 | "CONTROLS_FOR_TITLE": "број со %1 од %2 до %3 со %4", 52 | "CONTROLS_FOREACH_TITLE": "за секој елемент %1 на списокот %2", 53 | "CONTROLS_FOREACH_TOOLTIP": "Му ја задава променливата „%1“ на секој елемент на списокот, а потоа исполнува наредби.", 54 | "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "излези од јамката", 55 | "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "продолжи со следното повторување на јамката", 56 | "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "Излези од содржечката јамка.", 57 | "CONTROLS_IF_MSG_IF": "ако", 58 | "CONTROLS_IF_MSG_ELSEIF": "инаку ако", 59 | "CONTROLS_IF_MSG_ELSE": "инаку", 60 | "CONTROLS_IF_IF_TOOLTIP": "Додава, отстранува или прередува делови за прераспоредување на овој блок „ако“.", 61 | "LOGIC_COMPARE_HELPURL": "https://mk.wikipedia.org/wiki/Неравенство", 62 | "LOGIC_COMPARE_TOOLTIP_EQ": "Дава вистина ако обата вноса се еднакви.", 63 | "LOGIC_COMPARE_TOOLTIP_NEQ": "Дава вистина ако обата вноса не се еднакви.", 64 | "LOGIC_COMPARE_TOOLTIP_LT": "Дава вистина ако првиот внос е помал од вториот.", 65 | "LOGIC_COMPARE_TOOLTIP_LTE": "Дава вистина ако првиот внос е помал или еднаков на вториот.", 66 | "LOGIC_COMPARE_TOOLTIP_GT": "Дава вистина ако првиот внос е поголем од вториот.", 67 | "LOGIC_COMPARE_TOOLTIP_GTE": "Дава вистина ако првиот внос е поголем или еднаков на вториот.", 68 | "LOGIC_OPERATION_TOOLTIP_AND": "Дава вистина ако обата вноса се вистинити.", 69 | "LOGIC_OPERATION_AND": "и", 70 | "LOGIC_OPERATION_TOOLTIP_OR": "Дава вистина ако барем еден од вносовите е вистинит.", 71 | "LOGIC_OPERATION_OR": "или", 72 | "LOGIC_NEGATE_TITLE": "не %1", 73 | "LOGIC_NEGATE_TOOLTIP": "Дава вистина ако вносот е невистинит. Дава невистина ако вносот е вистинит.", 74 | "LOGIC_BOOLEAN_TRUE": "вистина", 75 | "LOGIC_BOOLEAN_FALSE": "невистина", 76 | "LOGIC_BOOLEAN_TOOLTIP": "Дава или вистина или невистина.", 77 | "LOGIC_NULL": "ништо", 78 | "LOGIC_NULL_TOOLTIP": "Дава ништо.", 79 | "LOGIC_TERNARY_CONDITION": "испробај", 80 | "LOGIC_TERNARY_IF_TRUE": "ако е вистинито", 81 | "LOGIC_TERNARY_IF_FALSE": "ако е невистинито", 82 | "MATH_CONSTANT_HELPURL": "https://mk.wikipedia.org/wiki/Математичка_константа", 83 | "MATH_CONSTANT_TOOLTIP": "Дава една од вообичаените константи: π (3.141…), e (2.718…), φ (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), или ∞ (бесконечност).", 84 | "MATH_IS_EVEN": "е парен", 85 | "MATH_IS_ODD": "е непарен", 86 | "MATH_IS_PRIME": "е прост", 87 | "MATH_IS_WHOLE": "е цел", 88 | "MATH_IS_POSITIVE": "е позитивен", 89 | "MATH_IS_NEGATIVE": "е негативен", 90 | "MATH_IS_DIVISIBLE_BY": "е делив со", 91 | "MATH_IS_TOOLTIP": "Проверува дали бројот е парен, непарен, прост, цел, позитивен, негативен или делив со некој број. Дава вистина или невистина.", 92 | "MATH_CHANGE_HELPURL": "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter?uselang=mk", 93 | "MATH_CHANGE_TITLE": "повиши %1 за %2", 94 | "MATH_CHANGE_TOOLTIP": "Ѝ додава број на променливата „%1“.", 95 | "MATH_ROUND_HELPURL": "https://mk.wikipedia.org/wiki/Заокружување", 96 | "MATH_ROUND_TOOLTIP": "Го заокружува бројот на поголем или помал.", 97 | "MATH_ROUND_OPERATOR_ROUND": "заокружи", 98 | "MATH_ROUND_OPERATOR_ROUNDUP": "заокружи на поголемо", 99 | "MATH_ROUND_OPERATOR_ROUNDDOWN": "заокружи на помало", 100 | "MATH_ONLIST_OPERATOR_SUM": "збир од списокот", 101 | "MATH_ONLIST_TOOLTIP_SUM": "Дава збир од сите броеви на списокот.", 102 | "MATH_ONLIST_OPERATOR_MIN": "најмал на списокот", 103 | "MATH_ONLIST_TOOLTIP_MIN": "Го дава најмалиот број на списокот.", 104 | "MATH_ONLIST_OPERATOR_MAX": "најголем на списокот", 105 | "MATH_ONLIST_TOOLTIP_MAX": "Го дава најголемиот број на списокот.", 106 | "MATH_ONLIST_OPERATOR_AVERAGE": "просек на списокот", 107 | "MATH_ONLIST_TOOLTIP_AVERAGE": "Дава просек (аритметичка средина) од броевите на списокот.", 108 | "MATH_ONLIST_OPERATOR_MEDIAN": "медијана на списокот", 109 | "MATH_ONLIST_TOOLTIP_MEDIAN": "Дава медијана од броевите на списокот.", 110 | "MATH_ONLIST_OPERATOR_MODE": "модул на списокот", 111 | "MATH_ONLIST_TOOLTIP_MODE": "Дава список на најзастапен(и) елемент(и) на списокот." 112 | } 113 | -------------------------------------------------------------------------------- /blocky/msg/json/oc.json: -------------------------------------------------------------------------------- 1 | { 2 | "@metadata": { 3 | "authors": [ 4 | "Cedric31" 5 | ] 6 | }, 7 | "VARIABLES_DEFAULT_NAME": "element", 8 | "TODAY": "Uèi", 9 | "DUPLICATE_BLOCK": "Duplicar", 10 | "ADD_COMMENT": "Apondre un comentari", 11 | "REMOVE_COMMENT": "Suprimir un comentari", 12 | "EXTERNAL_INPUTS": "Entradas extèrnas", 13 | "INLINE_INPUTS": "Entradas en linha", 14 | "DELETE_BLOCK": "Suprimir lo blòt", 15 | "DELETE_X_BLOCKS": "Suprimir %1 blòts", 16 | "DELETE_ALL_BLOCKS": "Suprimir totes los %1 blòts ?", 17 | "CLEAN_UP": "Netejar los blòts", 18 | "COLLAPSE_BLOCK": "Redusir lo blòt", 19 | "COLLAPSE_ALL": "Redusir los blòts", 20 | "EXPAND_BLOCK": "Desvolopar lo blòt", 21 | "EXPAND_ALL": "Desvolopar los blòts", 22 | "DISABLE_BLOCK": "Desactivar lo blòt", 23 | "ENABLE_BLOCK": "Activar lo blòt", 24 | "HELP": "Ajuda", 25 | "UNDO": "Anullar", 26 | "REDO": "Refar", 27 | "CHANGE_VALUE_TITLE": "Modificar la valor :", 28 | "RENAME_VARIABLE": "Renomenar la variabla…", 29 | "RENAME_VARIABLE_TITLE": "Renomenar totas las variablas « %1 » a :", 30 | "NEW_VARIABLE": "Crear una variabla...", 31 | "NEW_VARIABLE_TITLE": "Nom de la novèla variabla :", 32 | "COLOUR_PICKER_HELPURL": "https://oc.wikipedia.org/wiki/Color", 33 | "COLOUR_RANDOM_TITLE": "color aleatòria", 34 | "COLOUR_RANDOM_TOOLTIP": "Causir una color a l'azard.", 35 | "COLOUR_RGB_TITLE": "coloriar amb", 36 | "COLOUR_RGB_RED": "roge", 37 | "COLOUR_RGB_GREEN": "verd", 38 | "COLOUR_RGB_BLUE": "blau", 39 | "COLOUR_BLEND_TITLE": "mesclar", 40 | "COLOUR_BLEND_COLOUR1": "color 1", 41 | "COLOUR_BLEND_COLOUR2": "color 2", 42 | "COLOUR_BLEND_RATIO": "ratio", 43 | "CONTROLS_REPEAT_HELPURL": "https://oc.wikipedia.org/wiki/For_loop", 44 | "CONTROLS_REPEAT_TITLE": "repetir %1 còps", 45 | "CONTROLS_REPEAT_INPUT_DO": "far", 46 | "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "repetir tant que", 47 | "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "repetir fins a", 48 | "CONTROLS_FOR_TITLE": "comptar amb %1 de %2 a %3 per %4", 49 | "CONTROLS_FOREACH_TITLE": "per cada element %1 dins la lista %2", 50 | "CONTROLS_IF_MSG_IF": "se", 51 | "CONTROLS_IF_MSG_ELSEIF": "siquenon se", 52 | "CONTROLS_IF_MSG_ELSE": "siquenon", 53 | "LOGIC_COMPARE_TOOLTIP_EQ": "Renviar verai se las doas entradas son egalas.", 54 | "LOGIC_COMPARE_TOOLTIP_NEQ": "Renviar verai se las doas entradas son diferentas.", 55 | "LOGIC_OPERATION_TOOLTIP_AND": "Renviar verai se las doas entradas son vertadièras.", 56 | "LOGIC_OPERATION_AND": "e", 57 | "LOGIC_OPERATION_OR": "o", 58 | "LOGIC_NEGATE_TITLE": "pas %1", 59 | "LOGIC_BOOLEAN_TRUE": "verai", 60 | "LOGIC_BOOLEAN_FALSE": "fals", 61 | "LOGIC_NULL": "nul", 62 | "LOGIC_NULL_TOOLTIP": "Renvia nul.", 63 | "LOGIC_TERNARY_CONDITION": "tèst", 64 | "LOGIC_TERNARY_IF_TRUE": "se verai", 65 | "LOGIC_TERNARY_IF_FALSE": "se fals", 66 | "MATH_NUMBER_HELPURL": "https://oc.wikipedia.org/wiki/Nombre", 67 | "MATH_NUMBER_TOOLTIP": "Un nombre.", 68 | "MATH_ARITHMETIC_HELPURL": "https://oc.wikipedia.org/wiki/Aritmetica", 69 | "MATH_SINGLE_OP_ROOT": "raiç carrada", 70 | "MATH_SINGLE_OP_ABSOLUTE": "absolut", 71 | "MATH_IS_EVEN": "es par", 72 | "MATH_IS_ODD": "es impar", 73 | "MATH_IS_PRIME": "es primièr", 74 | "MATH_IS_WHOLE": "es entièr", 75 | "MATH_IS_POSITIVE": "es positiu", 76 | "MATH_IS_NEGATIVE": "es negatiu", 77 | "MATH_IS_DIVISIBLE_BY": "es devesible per", 78 | "MATH_CHANGE_TITLE": "incrementar %1 per %2", 79 | "MATH_ROUND_OPERATOR_ROUND": "arredondir", 80 | "MATH_ROUND_OPERATOR_ROUNDUP": "arredondir al superior", 81 | "MATH_ROUND_OPERATOR_ROUNDDOWN": "arredondir a l’inferior", 82 | "MATH_ONLIST_OPERATOR_SUM": "soma de la lista", 83 | "MATH_ONLIST_OPERATOR_MIN": "minimum de la lista", 84 | "MATH_ONLIST_OPERATOR_MAX": "maximum de la lista", 85 | "MATH_ONLIST_OPERATOR_AVERAGE": "mejana de la lista", 86 | "MATH_ONLIST_OPERATOR_MEDIAN": "mediana de la lista", 87 | "TEXT_CREATE_JOIN_TITLE_JOIN": "jónher", 88 | "TEXT_APPEND_TITLE": "a %1 apondre lo tèxte %2", 89 | "TEXT_LENGTH_TITLE": "longor de %1", 90 | "TEXT_ISEMPTY_TITLE": "%1 es void", 91 | "TEXT_INDEXOF_TITLE": "dins lo tèxte %1 %2 %3", 92 | "TEXT_CHARAT_FROM_START": "obténer la letra #", 93 | "TEXT_CHARAT_FROM_END": "obténer la letra # dempuèi la fin", 94 | "TEXT_CHARAT_FIRST": "obténer la primièra letra", 95 | "TEXT_CHARAT_LAST": "obténer la darrièra letra", 96 | "TEXT_CHARAT_RANDOM": "obténer una letra a l'azard", 97 | "TEXT_CHARAT_TOOLTIP": "Renvia la letra a la posicion indicada.", 98 | "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "dins lo tèxte", 99 | "TEXT_GET_SUBSTRING_END_FROM_START": "fins a la letra #", 100 | "TEXT_CHANGECASE_OPERATOR_UPPERCASE": "en MAJUSCULAS", 101 | "TEXT_CHANGECASE_OPERATOR_LOWERCASE": "en minusculas", 102 | "TEXT_PRINT_TITLE": "afichar %1", 103 | "LISTS_CREATE_WITH_INPUT_WITH": "crear una lista amb", 104 | "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "lista", 105 | "LISTS_INLIST": "dins la lista", 106 | "LISTS_GET_INDEX_GET": "obténer", 107 | "LISTS_GET_INDEX_GET_REMOVE": "obténer e suprimir", 108 | "LISTS_GET_INDEX_REMOVE": "suprimit", 109 | "LISTS_GET_INDEX_FROM_END": "# dempuèi la fin", 110 | "LISTS_GET_INDEX_FIRST": "primièr", 111 | "LISTS_GET_INDEX_LAST": "darrièr", 112 | "LISTS_GET_INDEX_RANDOM": "aleatòri", 113 | "LISTS_SET_INDEX_SET": "metre", 114 | "LISTS_SET_INDEX_INSERT": "inserir en", 115 | "LISTS_SET_INDEX_INPUT_TO": "coma", 116 | "LISTS_GET_SUBLIST_END_FROM_START": "fins a #", 117 | "LISTS_GET_SUBLIST_END_FROM_END": "fins a # dempuèi la fin", 118 | "LISTS_GET_SUBLIST_END_LAST": "fins a la fin", 119 | "LISTS_SORT_ORDER_ASCENDING": "creissent", 120 | "LISTS_SORT_ORDER_DESCENDING": "descreissent", 121 | "LISTS_SORT_TYPE_NUMERIC": "numeric", 122 | "LISTS_SORT_TYPE_TEXT": "alfabetic", 123 | "LISTS_SPLIT_WITH_DELIMITER": "amb lo separador", 124 | "VARIABLES_GET_CREATE_SET": "Crear 'fixar %1'", 125 | "VARIABLES_SET": "fixar %1 a %2", 126 | "PROCEDURES_DEFNORETURN_TITLE": "a", 127 | "PROCEDURES_DEFNORETURN_PROCEDURE": "far quicòm", 128 | "PROCEDURES_BEFORE_PARAMS": "amb :", 129 | "PROCEDURES_CALL_BEFORE_PARAMS": "amb :", 130 | "PROCEDURES_DEFRETURN_RETURN": "retorn", 131 | "PROCEDURES_MUTATORCONTAINER_TITLE": "entradas", 132 | "PROCEDURES_MUTATORARG_TITLE": "nom de l’entrada :", 133 | "PROCEDURES_CREATE_DO": "Crear '%1'" 134 | } 135 | -------------------------------------------------------------------------------- /blocky/msg/json/synonyms.json: -------------------------------------------------------------------------------- 1 | {"PROCEDURES_DEFRETURN_TITLE": "PROCEDURES_DEFNORETURN_TITLE", "CONTROLS_IF_IF_TITLE_IF": "CONTROLS_IF_MSG_IF", "CONTROLS_WHILEUNTIL_INPUT_DO": "CONTROLS_REPEAT_INPUT_DO", "CONTROLS_IF_MSG_THEN": "CONTROLS_REPEAT_INPUT_DO", "LISTS_GET_SUBLIST_INPUT_IN_LIST": "LISTS_INLIST", "CONTROLS_IF_ELSE_TITLE_ELSE": "CONTROLS_IF_MSG_ELSE", "PROCEDURES_DEFRETURN_PROCEDURE": "PROCEDURES_DEFNORETURN_PROCEDURE", "TEXT_CREATE_JOIN_ITEM_TITLE_ITEM": "VARIABLES_DEFAULT_NAME", "LISTS_GET_INDEX_INPUT_IN_LIST": "LISTS_INLIST", "PROCEDURES_DEFRETURN_COMMENT": "PROCEDURES_DEFNORETURN_COMMENT", "CONTROLS_IF_ELSEIF_TITLE_ELSEIF": "CONTROLS_IF_MSG_ELSEIF", "PROCEDURES_DEFRETURN_DO": "PROCEDURES_DEFNORETURN_DO", "CONTROLS_FOR_INPUT_DO": "CONTROLS_REPEAT_INPUT_DO", "LISTS_GET_INDEX_HELPURL": "LISTS_INDEX_OF_HELPURL", "LISTS_INDEX_OF_INPUT_IN_LIST": "LISTS_INLIST", "CONTROLS_FOREACH_INPUT_DO": "CONTROLS_REPEAT_INPUT_DO", "LISTS_CREATE_WITH_ITEM_TITLE": "VARIABLES_DEFAULT_NAME", "TEXT_APPEND_VARIABLE": "VARIABLES_DEFAULT_NAME", "MATH_CHANGE_TITLE_ITEM": "VARIABLES_DEFAULT_NAME", "LISTS_SET_INDEX_INPUT_IN_LIST": "LISTS_INLIST"} -------------------------------------------------------------------------------- /hello/hello/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyorohiro/doc.advent.scratch30/b269b4f56b213812bfebba2c0ca68074f2bb996f/hello/hello/icon.png -------------------------------------------------------------------------------- /hello/hello/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Scratch WebGL rendering demo 6 | 9 | 10 | 11 | 12 | 13 | 103 | 104 | 105 | -------------------------------------------------------------------------------- /hello/hello/index02.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Scratch WebGL rendering demo 6 | 9 | 10 | 11 | 12 | 13 | 14 | 23 | 75 | 76 | 77 | -------------------------------------------------------------------------------- /hello/src/hello/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyorohiro/doc.advent.scratch30/b269b4f56b213812bfebba2c0ca68074f2bb996f/hello/src/hello/icon.png -------------------------------------------------------------------------------- /hello/src/hello/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Scratch WebGL rendering demo 6 | 9 | 10 | 11 | 12 | 13 | 103 | 104 | 105 | -------------------------------------------------------------------------------- /hello/src/hello/index02.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Scratch WebGL rendering demo 6 | 9 | 10 | 11 | 12 | 13 | 14 | 23 | 75 | 76 | 77 | -------------------------------------------------------------------------------- /hello/webpack.config.js: -------------------------------------------------------------------------------- 1 | const CopyWebpackPlugin = require('copy-webpack-plugin'); 2 | const path = require('path'); 3 | const webpack = require('webpack'); 4 | 5 | const base = { 6 | devServer: { 7 | contentBase: false, 8 | host: '0.0.0.0', 9 | port: process.env.PORT || 8361 10 | }, 11 | devtool: 'cheap-module-source-map', 12 | module: { 13 | rules: [ 14 | { 15 | include: [ 16 | path.resolve(__dirname, 'src') 17 | ], 18 | test: /\.js$/, 19 | loader: 'babel-loader', 20 | options: { 21 | presets: ['es2015'] 22 | } 23 | }, 24 | { 25 | test: /node_modules[\\/](linebreak|grapheme-breaker)[\\/].*\.js$/, 26 | loader: 'ify-loader' 27 | } 28 | ] 29 | }, 30 | plugins: process.env.NODE_ENV === 'production' ? [ 31 | new webpack.optimize.UglifyJsPlugin({ 32 | include: /\.min\.js$/, 33 | minimize: true 34 | }) 35 | ] : [] 36 | }; 37 | 38 | module.exports = [ 39 | // Playground 40 | Object.assign({}, base, { 41 | target: 'web', 42 | entry: { 43 | 'scratch-render': './src/index-web.js' 44 | }, 45 | output: { 46 | path: path.resolve(__dirname, 'playground'), 47 | filename: '[name].js' 48 | }, 49 | plugins: base.plugins.concat([ 50 | new CopyWebpackPlugin([ 51 | { 52 | from: 'src/playground' 53 | } 54 | ]) 55 | ]) 56 | }), 57 | // Playground 58 | Object.assign({}, base, { 59 | target: 'web', 60 | entry: { 61 | 'scratch-render': './src/index-web.js' 62 | }, 63 | output: { 64 | path: path.resolve(__dirname, 'hello'), 65 | filename: '[name].js' 66 | }, 67 | plugins: base.plugins.concat([ 68 | new CopyWebpackPlugin([ 69 | { 70 | from: 'src/hello' 71 | } 72 | ]) 73 | ]) 74 | }), 75 | // Web-compatible 76 | Object.assign({}, base, { 77 | target: 'web', 78 | entry: { 79 | 'scratch-render': './src/index-web.js', 80 | 'scratch-render.min': './src/index-web.js' 81 | }, 82 | output: { 83 | path: path.resolve(__dirname, 'dist/web'), 84 | filename: '[name].js' 85 | } 86 | }), 87 | // Node-compatible 88 | Object.assign({}, base, { 89 | target: 'node', 90 | entry: { 91 | 'scratch-render': './src/index.js' 92 | }, 93 | output: { 94 | library: 'ScratchRender', 95 | libraryTarget: 'commonjs2', 96 | path: path.resolve(__dirname, 'dist/node'), 97 | filename: '[name].js' 98 | } 99 | }) 100 | ]; 101 | -------------------------------------------------------------------------------- /package/hello-dev-server/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "hello-dev-server", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1", 8 | "start": "webpack-dev-server" 9 | }, 10 | "keywords": [], 11 | "author": "", 12 | "license": "ISC", 13 | "dependencies": { 14 | "webpack": "^3.10.0", 15 | "webpack-dev-server": "^2.9.6" 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /package/hello-dev-server/src/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | hello 4 | 5 | 6 | Hello, World!! 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /package/hello-dev-server/src/main.js: -------------------------------------------------------------------------------- 1 | //dummy 2 | 3 | 4 | -------------------------------------------------------------------------------- /package/hello-dev-server/webpack.config.js: -------------------------------------------------------------------------------- 1 | const path = require('path'); 2 | 3 | module.exports = { 4 | entry: './src/main.js', 5 | devServer: { 6 | contentBase: path.resolve(__dirname, 'src'), 7 | port: 8085, 8 | } 9 | }; 10 | 11 | -------------------------------------------------------------------------------- /package/hello/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "hello", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "keywords": [], 10 | "author": "", 11 | "license": "ISC", 12 | "dependencies": { 13 | "webpack": "^3.10.0" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /scratch-block-test/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "scratch-block-test", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "keywords": [], 10 | "author": "", 11 | "license": "ISC", 12 | "devDependencies": { 13 | "babel-core": "^6.26.0", 14 | "babel-eslint": "^8.0.3", 15 | "babel-loader": "^7.1.2", 16 | "babel-preset-es2015": "^6.24.1", 17 | "babel-preset-es2016": "^6.24.1", 18 | "copy-webpack-plugin": "^4.3.0", 19 | "scratch-blocks": "0.1.0-prerelease.1513719016", 20 | "webpack": "^3.10.0", 21 | "webpack-dev-server": "^2.9.7" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /scratch-block-test/src/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Hello, World!! 4 | 5 | 6 |
Test
7 |
8 | 9 | 10 | -------------------------------------------------------------------------------- /scratch-block-test/src/scratch-block-test.js: -------------------------------------------------------------------------------- 1 | const Blockly = require("scratch-blocks"); 2 | class HelloWorld { 3 | hello() { 4 | console.log("Hello, World!!"); 5 | } 6 | } 7 | 8 | var helloWorld = new HelloWorld(); 9 | helloWorld.hello(); 10 | 11 | // Instantiate scratch-blocks and attach it to the DOM. 12 | const workspace = Blockly.inject('blocks', { 13 | media: './media/', 14 | zoom: { 15 | controls: true, 16 | wheel: true, 17 | startScale: 0.75 18 | }, 19 | colours: { 20 | workspace: '#334771', 21 | flyout: '#283856', 22 | scrollbar: '#24324D', 23 | scrollbarHover: '#0C111A', 24 | insertionMarker: '#FFFFFF', 25 | insertionMarkerOpacity: 0.3, 26 | fieldShadow: 'rgba(255, 255, 255, 0.3)', 27 | dragShadowOpacity: 0.6 28 | } 29 | }); -------------------------------------------------------------------------------- /scratch-block-test/webpack.config.js: -------------------------------------------------------------------------------- 1 | const CopyWebpackPlugin = require('copy-webpack-plugin'); 2 | const path = require('path'); 3 | const webpack = require('webpack'); 4 | 5 | 6 | const base = { 7 | devServer: { 8 | contentBase: false, 9 | host: '0.0.0.0', 10 | port: process.env.PORT || 8362 11 | }, 12 | output: { 13 | filename: 'bundle.js', 14 | path: path.resolve(__dirname, 'dist') 15 | }, 16 | module: { 17 | rules: [{ 18 | loader: 'babel-loader', 19 | include: path.resolve(__dirname, 'src'), 20 | query: { 21 | presets: ['es2015'] 22 | } 23 | }] 24 | }, 25 | plugins: process.env.NODE_ENV === 'production' ? [ 26 | new webpack.optimize.UglifyJsPlugin({ 27 | include: /\.min\.js$/, 28 | minimize: true 29 | }) 30 | ] : [] 31 | }; 32 | 33 | module.exports = [ 34 | Object.assign({}, base, { 35 | target: 'web', 36 | entry: { 37 | 'scratch-block-test': './src/scratch-block-test.js' 38 | }, 39 | output: { 40 | path: path.resolve(__dirname, 'dist'), 41 | filename: '[name].js' 42 | }, 43 | plugins: base.plugins.concat([ 44 | new CopyWebpackPlugin([ 45 | { 46 | from: 'src' 47 | } 48 | ]) 49 | ]) 50 | }), 51 | ]; 52 | -------------------------------------------------------------------------------- /scratch-render-hello/hello/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyorohiro/doc.advent.scratch30/b269b4f56b213812bfebba2c0ca68074f2bb996f/scratch-render-hello/hello/icon.png -------------------------------------------------------------------------------- /scratch-render-hello/hello/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Scratch WebGL rendering demo 6 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /scratch-render-hello/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "scratch-render-hello", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "keywords": [], 10 | "author": "", 11 | "license": "ISC", 12 | "devDependencies": { 13 | "babel-core": "^6.26.0", 14 | "babel-eslint": "^8.0.3", 15 | "babel-loader": "^7.1.2", 16 | "babel-preset-es2015": "^6.24.1", 17 | "copy-webpack-plugin": "^4.2.3", 18 | "scratch-render": "0.1.0-prerelease.1513022270", 19 | "webpack": "^3.10.0", 20 | "webpack-dev-server": "^2.9.7" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /scratch-render-hello/src/hello/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyorohiro/doc.advent.scratch30/b269b4f56b213812bfebba2c0ca68074f2bb996f/scratch-render-hello/src/hello/icon.png -------------------------------------------------------------------------------- /scratch-render-hello/src/hello/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Scratch WebGL rendering demo 6 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /scratch-render-hello/src/hello/scratch-render-hello.js: -------------------------------------------------------------------------------- 1 | const ScratchRender = require('scratch-render'); 2 | class Chara { 3 | constructor(renderer, name, imageUrl, x=0, y=0) { 4 | this.x = x; 5 | this.y = y; 6 | this.name; 7 | this.drawableID = renderer.createDrawable(); 8 | this.updateImage(renderer, this.drawableID, imageUrl); 9 | } 10 | 11 | updateImage(renderer, drawableID, imageUrl) { 12 | var image = new Image(); 13 | image.crossOrigin = 'anonymous'; 14 | image.src = imageUrl; 15 | image.onload = function () { 16 | var skinId = renderer.createBitmapSkin(image); 17 | console.log(""+drawableID); 18 | renderer.updateDrawableProperties(drawableID, { 19 | skinId: skinId 20 | }); 21 | }; 22 | } 23 | update(renderer) { 24 | renderer.updateDrawableProperties(this.drawableID, { 25 | position: [this.x, this.y], 26 | scale: [20, 20], 27 | direction: 90 28 | }); 29 | } 30 | onKeyDown(keyCode) {} 31 | } 32 | 33 | class CharaA extends Chara { 34 | onKeyDown(keyCode) { 35 | switch(keyCode) { 36 | case 37: // left 37 | this.x -=10; 38 | break; 39 | case 39: // right 40 | this.x +=10; 41 | break; 42 | case 38: // up 43 | this.y +=10; 44 | break; 45 | case 40: // down 46 | this.y -=10; 47 | break; 48 | } 49 | } 50 | } 51 | class CharaB extends Chara { 52 | onKeyDown(keyCode) { 53 | switch(keyCode) { 54 | case 72: //h 55 | this.x -=10; 56 | break; 57 | case 76: //l 58 | this.x +=10; 59 | break; 60 | case 75: //k 61 | this.y +=10; 62 | break; 63 | case 74: //j 64 | this.y -=10; 65 | break; 66 | } 67 | } 68 | } 69 | 70 | var canvas = document.getElementById('scratch-stage'); 71 | var renderer = new ScratchRender(canvas); 72 | var chara1 = new CharaA(renderer, "test", "icon.png", -50,0); 73 | var chara2 = new CharaB(renderer, "test", "icon.png", 50,0); 74 | 75 | document.onkeydown = function (ev) { 76 | chara1.onKeyDown(ev.keyCode); 77 | chara2.onKeyDown(ev.keyCode); 78 | }; 79 | 80 | 81 | function drawStep() { 82 | chara1.update(renderer); 83 | chara2.update(renderer); 84 | renderer.draw(); 85 | requestAnimationFrame(drawStep); 86 | } 87 | drawStep(); 88 | 89 | -------------------------------------------------------------------------------- /scratch-render-hello/webpack.config.js: -------------------------------------------------------------------------------- 1 | const CopyWebpackPlugin = require('copy-webpack-plugin'); 2 | const path = require('path'); 3 | const webpack = require('webpack'); 4 | 5 | const base = { 6 | devServer: { 7 | contentBase: false, 8 | host: '0.0.0.0', 9 | port: process.env.PORT || 8362 10 | }, 11 | module: { 12 | rules: [ 13 | { 14 | include: [ 15 | path.resolve(__dirname, 'src') 16 | ], 17 | loader: 'babel-loader', 18 | options: { 19 | presets: ['es2015'] 20 | } 21 | }, 22 | ] 23 | }, 24 | plugins: process.env.NODE_ENV === 'production' ? [ 25 | new webpack.optimize.UglifyJsPlugin({ 26 | include: /\.min\.js$/, 27 | minimize: true 28 | }) 29 | ] : [] 30 | }; 31 | 32 | module.exports = [ 33 | Object.assign({}, base, { 34 | target: 'web', 35 | entry: { 36 | 'scratch-render-hello': './src/hello/scratch-render-hello.js' 37 | }, 38 | output: { 39 | path: path.resolve(__dirname, 'hello'), 40 | filename: '[name].js' 41 | }, 42 | plugins: base.plugins.concat([ 43 | new CopyWebpackPlugin([ 44 | { 45 | from: 'src/hello' 46 | } 47 | ]) 48 | ]) 49 | }), 50 | ]; 51 | -------------------------------------------------------------------------------- /scratch-serviceworker/README.md: -------------------------------------------------------------------------------- 1 | 2 | # Scratch x ServiceWorker 3 | 4 | ``` 5 | git clone https://github.com/kyorohiro/doc.advent.scratch30.git 6 | cd scratch-serviceworker 7 | npm install 8 | webpack-dev-server 9 | ``` 10 | 11 | 12 | ## REF 13 | ``` 14 | mkdir scratch-serviceworker 15 | cd scratch-serviceworker 16 | npm init -f 17 | npm install --save-dev webpack babel-core babel-loader babel-eslint babel-preset-es2015 babel-preset-es2016 18 | npm install --save-dev webpack web-dev-server copy-webpack-plugin 19 | ``` 20 | -------------------------------------------------------------------------------- /scratch-serviceworker/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "scratch-serviceworker", 3 | "version": "1.0.0", 4 | "description": "mkdir scratch-serviceworker cd scratch-serviceworker npm init -f", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "keywords": [], 10 | "author": "", 11 | "license": "ISC", 12 | "devDependencies": { 13 | "babel-core": "^6.26.0", 14 | "babel-eslint": "^8.0.3", 15 | "babel-loader": "^7.1.2", 16 | "babel-preset-es2015": "^6.24.1", 17 | "babel-preset-es2016": "^6.24.1", 18 | "copy-webpack-plugin": "^4.3.1", 19 | "scratch-audio": "0.1.0-prerelease.1513803406", 20 | "scratch-render": "0.1.0-prerelease.1513807417", 21 | "scratch-storage": "^0.3.0", 22 | "scratch-vm": "0.1.0-prerelease.1513889734-prerelease.1513889749", 23 | "web-dev-server": "^1.1.1", 24 | "webpack": "^3.10.0" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /scratch-serviceworker/src/hello/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyorohiro/doc.advent.scratch30/b269b4f56b213812bfebba2c0ca68074f2bb996f/scratch-serviceworker/src/hello/icon.png -------------------------------------------------------------------------------- /scratch-serviceworker/src/hello/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Scratch WebGL rendering demo 6 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 26 | 27 | -------------------------------------------------------------------------------- /scratch-serviceworker/src/hello/project/09dc888b0b7df19f70d81588ae73420e.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /scratch-serviceworker/src/hello/project/195233767.json: -------------------------------------------------------------------------------- 1 | { 2 | "objName": "Stage", 3 | "sounds": [{ 4 | "soundName": "pop", 5 | "soundID": 1, 6 | "md5": "83a9787d4cb6f3b7632b4ddfebf74367.wav", 7 | "sampleCount": 258, 8 | "rate": 11025, 9 | "format": "" 10 | }], 11 | "costumes": [{ 12 | "costumeName": "backdrop1", 13 | "baseLayerID": 3, 14 | "baseLayerMD5": "739b5e2a2435f6e1ec2993791b423146.png", 15 | "bitmapResolution": 1, 16 | "rotationCenterX": 240, 17 | "rotationCenterY": 180 18 | }], 19 | "currentCostumeIndex": 0, 20 | "penLayerMD5": "5c81a336fab8be57adc039a8a2b33ca9.png", 21 | "penLayerID": 0, 22 | "tempoBPM": 60, 23 | "videoAlpha": 0.5, 24 | "children": [{ 25 | "objName": "Sprite1", 26 | "scripts": [[21, 98, [["whenGreenFlag"], ["doForever", [["forward:", 10], ["bounceOffEdge"]]]]]], 27 | "sounds": [{ 28 | "soundName": "meow", 29 | "soundID": 0, 30 | "md5": "83c36d806dc92327b9e7049a565c6bff.wav", 31 | "sampleCount": 18688, 32 | "rate": 22050, 33 | "format": "" 34 | }], 35 | "costumes": [{ 36 | "costumeName": "costume1", 37 | "baseLayerID": 1, 38 | "baseLayerMD5": "09dc888b0b7df19f70d81588ae73420e.svg", 39 | "bitmapResolution": 1, 40 | "rotationCenterX": 47, 41 | "rotationCenterY": 55 42 | }, 43 | { 44 | "costumeName": "costume2", 45 | "baseLayerID": 2, 46 | "baseLayerMD5": "3696356a03a8d938318876a593572843.svg", 47 | "bitmapResolution": 1, 48 | "rotationCenterX": 47, 49 | "rotationCenterY": 55 50 | }], 51 | "currentCostumeIndex": 0, 52 | "scratchX": 9.796051836315172, 53 | "scratchY": -90.4037647507126, 54 | "scale": 1, 55 | "direction": 50.7105931374997, 56 | "rotationStyle": "normal", 57 | "isDraggable": false, 58 | "indexInLibrary": 1, 59 | "visible": true, 60 | "spriteInfo": { 61 | } 62 | }], 63 | "info": { 64 | "scriptCount": 1, 65 | "hasCloudData": false, 66 | "spriteCount": 1, 67 | "swfVersion": "v459.1", 68 | "videoOn": false, 69 | "flashVersion": "MAC 28,0,0,126", 70 | "projectID": "195233767", 71 | "userAgent": "Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_13_2) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/63.0.3239.84 Safari\/537.36" 72 | } 73 | } -------------------------------------------------------------------------------- /scratch-serviceworker/src/hello/project/3696356a03a8d938318876a593572843.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /scratch-serviceworker/src/hello/project/5c81a336fab8be57adc039a8a2b33ca9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyorohiro/doc.advent.scratch30/b269b4f56b213812bfebba2c0ca68074f2bb996f/scratch-serviceworker/src/hello/project/5c81a336fab8be57adc039a8a2b33ca9.png -------------------------------------------------------------------------------- /scratch-serviceworker/src/hello/project/739b5e2a2435f6e1ec2993791b423146.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyorohiro/doc.advent.scratch30/b269b4f56b213812bfebba2c0ca68074f2bb996f/scratch-serviceworker/src/hello/project/739b5e2a2435f6e1ec2993791b423146.png -------------------------------------------------------------------------------- /scratch-serviceworker/src/hello/project/83a9787d4cb6f3b7632b4ddfebf74367.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyorohiro/doc.advent.scratch30/b269b4f56b213812bfebba2c0ca68074f2bb996f/scratch-serviceworker/src/hello/project/83a9787d4cb6f3b7632b4ddfebf74367.wav -------------------------------------------------------------------------------- /scratch-serviceworker/src/hello/project/83c36d806dc92327b9e7049a565c6bff.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kyorohiro/doc.advent.scratch30/b269b4f56b213812bfebba2c0ca68074f2bb996f/scratch-serviceworker/src/hello/project/83c36d806dc92327b9e7049a565c6bff.wav -------------------------------------------------------------------------------- /scratch-serviceworker/src/hello/scratch-vm-hello.js: -------------------------------------------------------------------------------- 1 | const ScratchVM = require("scratch-vm"); 2 | const ScratchRender = require("scratch-render"); 3 | const ScratchStorage = require("scratch-storage"); 4 | const ScratchAudio = require("scratch-audio"); 5 | 6 | 7 | const canvas = document.getElementById('scratch-stage'); 8 | const startButton = document.getElementById('start-button'); 9 | const stopButton = document.getElementById('stop-button'); 10 | 11 | const vm = new ScratchVM(); 12 | const renderer = new ScratchRender(canvas); 13 | const storage = new ScratchStorage(); 14 | const audioEngine = new ScratchAudio(); 15 | 16 | 17 | // 18 | // Assets Setting 19 | // 20 | const ASSET_SERVER = ''; 21 | const PROJECT_SERVER = ''; 22 | const getProjectUrl = function (asset) { 23 | console.log(JSON.stringify(asset)); 24 | const assetUrlParts = [PROJECT_SERVER, '/project/', asset.assetId, '.json']; 25 | return assetUrlParts.join(''); 26 | }; 27 | 28 | const getAssetUrl = function (asset) { 29 | console.log(JSON.stringify(asset)); 30 | const assetUrlParts = [ASSET_SERVER, '/project/', asset.assetId, '.', asset.dataFormat]; 31 | return assetUrlParts.join(''); 32 | }; 33 | storage.addWebSource([storage.AssetType.Project], getProjectUrl); 34 | storage.addWebSource([storage.AssetType.ImageVector, storage.AssetType.ImageBitmap, storage.AssetType.Sound], getAssetUrl); 35 | vm.attachStorage(storage); 36 | 37 | 38 | // 39 | // Render Setting 40 | // 41 | vm.attachRenderer(renderer); 42 | 43 | 44 | // 45 | // Audio Setting 46 | // 47 | vm.attachAudioEngine(audioEngine); 48 | 49 | 50 | // 51 | // START & Download 52 | // 53 | vm.start(); 54 | vm.downloadProjectId("195233767"); 55 | 56 | // 57 | // Button Action Setting 58 | // 59 | startButton.onclick = function() { 60 | vm.greenFlag(); 61 | }; 62 | 63 | stopButton.onclick = function() { 64 | vm.stopAll(); 65 | }; 66 | 67 | 68 | -------------------------------------------------------------------------------- /scratch-serviceworker/src/hello/sw.js: -------------------------------------------------------------------------------- 1 | var CACHE_NAME = 'my-site-cache-v1'; 2 | var urlsToCache = [ 3 | '/', 4 | '/scratch-vm-hello.js', 5 | '/project/09dc888b0b7df19f70d81588ae73420e.svg', 6 | '/project/195233767.json', 7 | '/project/3696356a03a8d938318876a593572843.svg', 8 | '/project/5c81a336fab8be57adc039a8a2b33ca9.png', 9 | '/project/739b5e2a2435f6e1ec2993791b423146.png', 10 | '/project/83a9787d4cb6f3b7632b4ddfebf74367.wav', 11 | '/project/83c36d806dc92327b9e7049a565c6bff.wav' 12 | ]; 13 | console.log("Hello, World 2!!"); 14 | self.addEventListener('install', function(event) { 15 | console.log('install'); 16 | // インストール処理 17 | event.waitUntil( 18 | caches.open(CACHE_NAME) 19 | .then(function(cache) { 20 | console.log('Opened cache'); 21 | return cache.addAll(urlsToCache); 22 | }) 23 | ); 24 | }); 25 | /* 26 | self.addEventListener('fetch', function(event) { 27 | event.respondWith( 28 | caches.match(event.request) 29 | .then(function(response) { 30 | console.log(JSON.stringify(response)); 31 | // キャッシュがあったのでそのレスポンスを返す 32 | if (response) { 33 | return response; 34 | } 35 | return fetch(event.request); 36 | } 37 | ) 38 | ); 39 | }); 40 | */ 41 | self.addEventListener('fetch', function(event) { 42 | event.respondWith( 43 | caches.match(event.request) 44 | .then(function(response) { 45 | // キャッシュがあったのでレスポンスを返す 46 | if (response) { 47 | return response; 48 | } 49 | 50 | // 重要:リクエストを clone する。リクエストは Stream なので 51 | // 一度しか処理できない。ここではキャッシュ用、fetch 用と2回 52 | // 必要なので、リクエストは clone しないといけない 53 | var fetchRequest = event.request.clone(); 54 | 55 | return fetch(fetchRequest).then( 56 | function(response) { 57 | // レスポンスが正しいかをチェック 58 | if(!response || response.status !== 200 || response.type !== 'basic') { 59 | return response; 60 | } 61 | 62 | // 重要:レスポンスを clone する。レスポンスは Stream で 63 | // ブラウザ用とキャッシュ用の2回必要。なので clone して 64 | // 2つの Stream があるようにする 65 | var responseToCache = response.clone(); 66 | 67 | caches.open(CACHE_NAME) 68 | .then(function(cache) { 69 | cache.put(event.request, responseToCache); 70 | }); 71 | 72 | return response; 73 | } 74 | ); 75 | }) 76 | ); 77 | }); -------------------------------------------------------------------------------- /scratch-serviceworker/webpack.config.js: -------------------------------------------------------------------------------- 1 | const CopyWebpackPlugin = require('copy-webpack-plugin'); 2 | const path = require('path'); 3 | const webpack = require('webpack'); 4 | 5 | const base = { 6 | devServer: { 7 | contentBase: false, 8 | host: '0.0.0.0', 9 | port: process.env.PORT || 8362 10 | }, 11 | module: { 12 | rules: [ 13 | { 14 | include: [ 15 | path.resolve(__dirname, 'src') 16 | ], 17 | loader: 'babel-loader', 18 | options: { 19 | presets: ['es2015'] 20 | } 21 | }, 22 | ] 23 | }, 24 | plugins: process.env.NODE_ENV === 'production' ? [ 25 | new webpack.optimize.UglifyJsPlugin({ 26 | include: /\.min\.js$/, 27 | minimize: true 28 | }) 29 | ] : [] 30 | }; 31 | 32 | module.exports = [ 33 | Object.assign({}, base, { 34 | target: 'web', 35 | entry: { 36 | 'scratch-vm-hello': './src/hello/scratch-vm-hello.js' 37 | }, 38 | output: { 39 | path: path.resolve(__dirname, 'hello'), 40 | filename: '[name].js' 41 | }, 42 | plugins: base.plugins.concat([ 43 | new CopyWebpackPlugin([ 44 | { 45 | from: 'src/hello' 46 | } 47 | ]) 48 | ]) 49 | }), 50 | ]; 51 | -------------------------------------------------------------------------------- /scratch-storage-01/main.js: -------------------------------------------------------------------------------- 1 | const storage = require('./scratch-storage.js'); 2 | 3 | console.log(JSON.stringify(storage.AssetType.Project)); 4 | var storageObj = new storage(); 5 | 6 | //console.log(storageObj); 7 | 8 | const ASSET_SERVER = 'https://cdn.assets.scratch.mit.edu/'; 9 | const PROJECT_SERVER = 'https://cdn.projects.scratch.mit.edu/'; 10 | 11 | const getProjectUrl = function (asset) { 12 | const assetIdParts = asset.assetId.split('.'); 13 | const assetUrlParts = [PROJECT_SERVER, 'internalapi/project/', assetIdParts[0], '/get/']; 14 | if (assetIdParts[1]) { 15 | assetUrlParts.push(assetIdParts[1]); 16 | } 17 | return assetUrlParts.join(''); 18 | }; 19 | 20 | const getAssetUrl = function (asset) { 21 | const assetUrlParts = [ 22 | ASSET_SERVER, 23 | 'internalapi/asset/', 24 | asset.assetId, 25 | '.', 26 | asset.dataFormat, 27 | '/get/' 28 | ]; 29 | return assetUrlParts.join(''); 30 | }; 31 | 32 | storageObj.addWebSource([storage.AssetType.Project], getProjectUrl); 33 | storageObj.addWebSource([storage.AssetType.ImageVector, storage.AssetType.ImageBitmap, storage.AssetType.Sound], getAssetUrl); 34 | 35 | 36 | var id = '119615668'; 37 | const promise = storageObj.load(storage.AssetType.Project, id); 38 | promise.then(projectAsset => { 39 | return projectAsset.decodeText(); 40 | }).then(jsonSrc =>{ 41 | // console.log(jsonSrc); 42 | var jsonObj = JSON.parse(jsonSrc); 43 | console.log(JSON.stringify(jsonObj)); 44 | /* 45 | for(var item in jsonObj) { 46 | console.log("# " + item); 47 | if(jsonObj.hasOwnProperty(item)) { 48 | for(var i in item) { 49 | console.log(item[i]); 50 | } 51 | } 52 | }*/ 53 | }); 54 | -------------------------------------------------------------------------------- /scratch-vm-test/README.md: -------------------------------------------------------------------------------- 1 | 2 | # RUN 3 | 4 | ``` 5 | npm install 6 | webpack-dev-server 7 | ``` 8 | 9 | 10 | # REF 11 | 12 | ``` 13 | mkdir scratch-vm-test 14 | cd scratch-vm-test/ 15 | npm init -f 16 | npm install --save-dev webpack babel-core babel-loader babel-eslint babel-preset-es2015 17 | npm install --save-dev webpack web-dev-server copy-webpack-plugin 18 | npm install --save-dev scratch-vm scratch-storage scratch-render scratch-audio 19 | ``` 20 | -------------------------------------------------------------------------------- /scratch-vm-test/hello/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Scratch WebGL rendering demo 6 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /scratch-vm-test/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "scratch-vm-test", 3 | "version": "1.0.0", 4 | "description": "mkdir scratch-vm-test cd scratch-vm-test/ npm init -f npm install --save-dev webpack babel-core babel-loader babel-eslint babel-preset-es2015 npm install --save-dev webpack web-dev-server copy-webpack-plugin npm install --save-dev scratch-vm", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "keywords": [], 10 | "author": "", 11 | "license": "ISC", 12 | "devDependencies": { 13 | "babel-core": "^6.26.0", 14 | "babel-eslint": "^8.0.3", 15 | "babel-loader": "^7.1.2", 16 | "babel-preset-es2015": "^6.24.1", 17 | "copy-webpack-plugin": "^4.3.1", 18 | "scratch-audio": "0.1.0-prerelease.1513803406", 19 | "scratch-render": "0.1.0-prerelease.1513807417", 20 | "scratch-storage": "^0.3.0", 21 | "scratch-vm": "0.1.0-prerelease.1513889734-prerelease.1513889749", 22 | "web-dev-server": "^1.1.1", 23 | "webpack": "^3.10.0" 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /scratch-vm-test/src/hello/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Scratch WebGL rendering demo 6 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /scratch-vm-test/src/hello/scratch-vm-hello.js: -------------------------------------------------------------------------------- 1 | const ScratchVM = require("scratch-vm"); 2 | const ScratchRender = require("scratch-render"); 3 | const ScratchStorage = require("scratch-storage"); 4 | const ScratchAudio = require("scratch-audio"); 5 | 6 | 7 | const canvas = document.getElementById('scratch-stage'); 8 | const startButton = document.getElementById('start-button'); 9 | const stopButton = document.getElementById('stop-button'); 10 | 11 | const vm = new ScratchVM(); 12 | const renderer = new ScratchRender(canvas); 13 | const storage = new ScratchStorage(); 14 | const audioEngine = new ScratchAudio(); 15 | 16 | 17 | // 18 | // Assets Setting 19 | // 20 | const ASSET_SERVER = 'https://cdn.assets.scratch.mit.edu/'; 21 | const PROJECT_SERVER = 'https://cdn.projects.scratch.mit.edu/'; 22 | const getProjectUrl = function (asset) { 23 | const assetIdParts = asset.assetId.split('.'); 24 | const assetUrlParts = [PROJECT_SERVER, 'internalapi/project/', assetIdParts[0], '/get/']; 25 | if (assetIdParts[1]) { 26 | assetUrlParts.push(assetIdParts[1]); 27 | } 28 | return assetUrlParts.join(''); 29 | }; 30 | 31 | const getAssetUrl = function (asset) { 32 | const assetUrlParts = [ 33 | ASSET_SERVER, 34 | 'internalapi/asset/', 35 | asset.assetId, 36 | '.', 37 | asset.dataFormat, 38 | '/get/' 39 | ]; 40 | return assetUrlParts.join(''); 41 | }; 42 | storage.addWebSource([storage.AssetType.Project], getProjectUrl); 43 | storage.addWebSource([storage.AssetType.ImageVector, storage.AssetType.ImageBitmap, storage.AssetType.Sound], getAssetUrl); 44 | vm.attachStorage(storage); 45 | 46 | 47 | // 48 | // Render Setting 49 | // 50 | vm.attachRenderer(renderer); 51 | 52 | 53 | // 54 | // Audio Setting 55 | // 56 | vm.attachAudioEngine(audioEngine); 57 | 58 | 59 | // 60 | // START & Download 61 | // 62 | vm.start(); 63 | vm.downloadProjectId("119615668"); 64 | 65 | // 66 | // Button Action Setting 67 | // 68 | startButton.onclick = function() { 69 | vm.greenFlag(); 70 | }; 71 | 72 | stopButton.onclick = function() { 73 | vm.stopAll(); 74 | }; 75 | 76 | -------------------------------------------------------------------------------- /scratch-vm-test/webpack.config.js: -------------------------------------------------------------------------------- 1 | const CopyWebpackPlugin = require('copy-webpack-plugin'); 2 | const path = require('path'); 3 | const webpack = require('webpack'); 4 | 5 | const base = { 6 | devServer: { 7 | contentBase: false, 8 | host: '0.0.0.0', 9 | port: process.env.PORT || 8362 10 | }, 11 | module: { 12 | rules: [ 13 | { 14 | include: [ 15 | path.resolve(__dirname, 'src') 16 | ], 17 | loader: 'babel-loader', 18 | options: { 19 | presets: ['es2015'] 20 | } 21 | }, 22 | ] 23 | }, 24 | plugins: process.env.NODE_ENV === 'production' ? [ 25 | new webpack.optimize.UglifyJsPlugin({ 26 | include: /\.min\.js$/, 27 | minimize: true 28 | }) 29 | ] : [] 30 | }; 31 | 32 | module.exports = [ 33 | Object.assign({}, base, { 34 | target: 'web', 35 | entry: { 36 | 'scratch-vm-hello': './src/hello/scratch-vm-hello.js' 37 | }, 38 | output: { 39 | path: path.resolve(__dirname, 'hello'), 40 | filename: '[name].js' 41 | }, 42 | plugins: base.plugins.concat([ 43 | new CopyWebpackPlugin([ 44 | { 45 | from: 'src/hello' 46 | } 47 | ]) 48 | ]) 49 | }), 50 | ]; 51 | -------------------------------------------------------------------------------- /webpack01/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "hello", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1", 8 | "build": "webpack" 9 | }, 10 | "keywords": [], 11 | "author": "", 12 | "license": "ISC", 13 | "dependencies": { 14 | "webpack": "^3.10.0" 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /webpack01/src/character.js: -------------------------------------------------------------------------------- 1 | exports.Character = function (name) { 2 | this.name = name; 3 | this.x = 0; 4 | this.y = 0; 5 | this.getX = function (){ return this.x; }; 6 | this.getY = function (){ return this.y; }; 7 | this.hello = function (){ return "Hello!! I'm " + this.name + "!!"; }; 8 | this.move = function (x,y){ this.x+=x; this.y+=y;}; 9 | } 10 | 11 | -------------------------------------------------------------------------------- /webpack01/src/index.js: -------------------------------------------------------------------------------- 1 | const n = require('./neko.js'); 2 | const i = require('./inu.js'); 3 | 4 | 5 | var chara = {}; 6 | chara = new n.Neko("Tama"); 7 | chara.move(1,2); 8 | console.log(chara.hello()); 9 | console.log("x:"+chara.getX() + " ,y:" + chara.getY()); 10 | 11 | chara = new i.Inu("Tarou"); 12 | chara.move(2,3); 13 | console.log(chara.hello()); 14 | console.log("x:"+chara.getX() + " ,y:" + chara.getY()); -------------------------------------------------------------------------------- /webpack01/src/inu.js: -------------------------------------------------------------------------------- 1 | const _ = require('./character.js'); 2 | 3 | exports.Inu = function(name) { 4 | this.parent = new _.Character(name); 5 | this.hello = function (){return "Wan Wan!! I'm " + this.parent.name + "!!";}; 6 | this.move = function(x,y){return this.parent.move(x,y);} 7 | this.getX = function (){ return this.parent.getX(); }; 8 | this.getY = function (){ return this.parent.getY(); }; 9 | } 10 | -------------------------------------------------------------------------------- /webpack01/src/neko.js: -------------------------------------------------------------------------------- 1 | const _ = require('./character.js'); 2 | 3 | exports.Neko = function(name) { 4 | this.parent = new _.Character(name); 5 | this.hello = function (){return "Nyaa!! I'm " + this.parent.name + "!!";}; 6 | this.move = function(x,y){return this.parent.move(x,y);} 7 | this.getX = function (){ return this.parent.getX(); }; 8 | this.getY = function (){ return this.parent.getY(); }; 9 | } 10 | -------------------------------------------------------------------------------- /webpack01/webpack.config.js: -------------------------------------------------------------------------------- 1 | const path = require('path'); 2 | 3 | module.exports = { 4 | entry: './src/index.js', 5 | output: { 6 | filename: 'bundle.js', 7 | path: path.resolve(__dirname, 'dist') 8 | } 9 | }; 10 | --------------------------------------------------------------------------------