Chrome等のブラウザ越しにレゴのクレーンゲームを操作したいという要望ですよね?
どう実現するのかを詰めていきましょうか
HTMLとはWordのようなドキュメントを作る目的で作られた文書フォーマットです。
目的が知見の共有なので、Wordと同レベルの事しか出来ません。
しかし、多種多様なニーズに応える為にHTMLは外付けで進化をしてきました。
CSS: HTMLの見栄えを整える為に作られたサポート用の言語
JavaScript: HTML文書がブラウザ上でロードされた後に、HTML文書を書き換えて画面の更新を促す目的のスクリプト言語
この内、遠隔操作に使う部分はJavaScriptになります。
JavaScriptには出来ることと、出来ない事があります。
もしJavaScriptがあなたのパソコンに入っている画像ファイル等を勝手に閲覧出来たらどうなるでしょう?
悪意の第三者の作ったWebサイトに足を踏み入れた途端に、
パソコン内の画像ファイル等をスキャンして持ち逃げが可能になってしまいます。
ファイル共有ソフトのWinny越しに感染するコンピュータウィルスが一時期大問題になりましたが
あれのやっている事はデスクトップ上にあるWordやExcel、画像ファイルを持ち逃げしてWinny越しで配っただけです。
これで自衛隊等の極秘情報や、恋人とエッチしている最中の画像がバンバン共有され、人生が終わった人が大量に出ました。
こういった事を防ぐ為に、JavaScriptはパソコン上の資産を自由に使えない強力な制限が存在します。
出来るのはHTTPリクエストをどっかに発射して結果を持ち帰ることだけです。
Scratchでボタンのプログラムのみ作り、htmlにScratchを埋め込む方法
なので、これは出来ませんという答えになります。
JavaScriptのキツすぎる成約により、ブラウザからScratchのライブラリにアクセスする事は不可能です。
当然レゴのWeDo 2.0を操作することも不可能です。
JavaScriptから自発的に出来る事は下記のことだけです。
クレーンゲームは
ボタンを押し続けて目的の場所までクレーンが移動したら手を離すことで、
クレーンの座標をコントロールするゲームですね。
なので私はボタンを押しっぱなしにしてますよ!してますよ!今離した!!
というリアルタイムでボタン押している状態を取り消すということが非常に大事になりますので、
Ajaxで実装する事は難しいと思います、まぁトグルボタン方式なら行けるか?
基本的にはWebSocketで実装した方が良いと思います。
これでどうやって作ればええんじゃ?となりますよね。
なのでイメージしやすいように別のものを紹介します。
コンピュータ将棋にUSIというプロトコルがあります。
コンピュータ将棋はやねうら王、Aperyといったプロの棋士達と台頭にさしあうプログラムが存在します。
この思考エンジンを「ゲーム」や「棋譜の検討ソフト」にどうやって接続すれば良いでしょうか?
その橋渡しをするのがUSIです。
コンピュータ将棋はUSIに対応しており、
様々なアプリケーションはUSI越しに話しかける仕組みを作成して
コンピュータ将棋の思考エンジンに問いかければ答えが帰ってくるような仕組みになっています。
これをWebSocketに組み合わせて考えましょう。
お手元にはWindows7のマシンがありますよね?
それにNode.jsやRubyといった言語を入れて、
WebSocketのアクセスを受け付けるWebサーバを構築しましょう。
更に裏でScratchのプロセスと紐付けしておき、
Node.jsやRubyからクレーンを操作出来るようにしておきます。
Scratchは都度起動ではなく、起動しっぱなしの方が良いと思います。
そして、ブラウザからのWebSocket文字列を受け取り、
逐次操作でScratchへの命令伝達に変更します。
まとめるとUSIみたいなのを作って変わりに命令出すWebサーバ作ればいけるんじゃない?ってことです
ちょっと調べてみたらNode.jsにWeDo 2.0を操作するようなプログラムがそもそも存在するので、
Scratchを経由せずとも操作出来るかもしれませんね。