Skip to content

学生集まれ!夏休みはプログラミング三昧!MacBookAirを勝ち取れ! 9leap 夏休みチャレンジ!

logo
プログラマーのみんな、お待たせ! 久しぶりに9leap 9Days Challengeがやってきた!

9日間で勝敗が決する9leap 夏休み Challengeの開催が決定した!

しかも今回は夏休み中に三回連続で開催されるからチャンスは何回でもある短期決戦だ。

1st Heatでは「生き物」がテーマで、2nd Heatでは「ホラー」、3rd Heatでは「宇宙」がテーマで、総合優勝を決めるFinal Heatで優勝すると、最新のMacBook Airと、enchantMOON S-IIの限定スケルトンバージョンが貰えるのだ!

今回も9Days Challengeの賞品も豪華だぞ!

41Y9njfctEL._SY450_61RP5o0-aML._SL1500_41g+akjpaYL._SX425_

液晶ディスプレイ付きのデジタル顕微鏡から、3Dプレンター、そしてPCとUSB接続できるデジタルアイピース付きの天体望遠鏡(しかも赤道儀付き!)まで、むしろ人にあげるより俺が欲しいというレベルの賞品をずらりと用意した。

もちろん総合優勝者には10万円相当のMacBookAir(11インチか13インチのどちらか好きな方)をプレゼントする!

 

それだけじゃなく、優勝すれば、他では決して手に入らない、enchantMOONの限定スケルトンバージョンも付いて来る!

enchantMOONスケルトンバージョン

enchantMOONスケルトンバージョン ペンホルダー一体型

このenchantMOONスケルトンバージョンは高性能3Dプリンターによってアクリル出力した特別限定版で、出力だけで2万円近いコストが掛かっている豪華なもの。しかも、ペンホルダーが付いているため、ストラップ無しでもペンを持ち運べるほか、軽量化にも貢献しているまさに特別バージョンなのだ。

スクリーンショット 2014-07-04 15.42.51

アクリルボディでももちろん自立する。基盤とともに開発者のスタッフロールが透けて見えるつくり

 

しかも審査員は伝説的ゲームデザイナー、飯田和敏さん、角川アスキー総研遠藤諭さんを迎えた。

最終審査の模様はニコニコ生放送で実況中継する予定だ。

 

この夏、君の青春をプログラミングに賭けてみないか!?

応募を待ってるぜ!

詳しくはUEI公式ホームページで!

このエントリーをはてなブックマークに追加
はてなブックマーク - 学生集まれ!夏休みはプログラミング三昧!MacBookAirを勝ち取れ! 9leap 夏休みチャレンジ!
Post to Google Buzz
Share on GREE

MOONBlockで作ったコンテンツの9leapへの投稿の仕方

やぁみんな、今日もプログラミングしてるかな?

 ブロックを組み合わせるだけでプログラミングの基礎が学べることで人気の
「MOONBlock」(ムーンブロック)。
 HTML5準拠のブラウザだけで使える事から、全国の小中高校の授業でも取り入
れられているらしいぞ。

スクリーンショット(2014-06-12 17.27.52)


http://moonblock.jp/



(Amazonリンク)

 ただ、MOONBlockではブラウザのキャッシュにプログラミングしたソースコー
ドが格納されているため、別のマシンからは作ったコンテンツを見られないのが
玉にキズ。
 MOONBlockの「セーブデータ」ボタンを使い、ゲームデータを人に送るって
いう手もあるけど、もっと沢山の人に自作のコンテンツを見せびらかしたい事
もあるよね。
 
スクリーンショット(2014-06-12 17.27.52)-2


 そんなときのために、MOONBlockで作ったコンテンツを9leapに投稿するテク
ニックを紹介するぞ。

——

■実行手順

1. 以下のURLから「minimun_template_v2.zip」をダウンロードし解凍する
minimum_template_v2

2. 展開したフォルダから「main.js」をテキストエディタ等で開く

3. MOONBlock で「ソースコード」ボタンを押して出力される
コードを「main.js」にはりつける(中身を全部入れ替える)
※この場合は「セーブデータ」ではなく「ソースコード」を使用してください

4. main.jsファイルを保存する時にUTF-8で保存する

5. 改めてフォルダごとZIPで圧縮する
分かりやすくフォルダの名前を変えておくといいぞ

6. http://9leap.net/ に接続し、Twitter IDでログインする

7. 上部メニューにある「投稿・編集画面」をクリックし、新規投稿を行う

7. 投稿が反映された事を確認し、URLを教える

——

 どうかな? カンタンだろう?
 9leapへの投稿の仕方はこちらを見てほしい。
 wise9 › 9leapにゲームを投稿する方法をおさらいしよう!

 実は、2014年7月下旬に茨城県で行われる全国総文祭いばらき大会では
コンピュータープログラミング部門が新設されるんだけど、
その事前コンテストは9leapの特別バージョン「9leapいばらき総文2014」
で審査が行われていて、半数以上の投稿作品はMOONBlockを使って作られている
んだ。

 
スクリーンショット(2014-06-12 17.34.01)


http://soubun.9leap.net/


 自分が作ったプログラムを人に見てもらって感想をもらうのは、
プログラミング上達の一番の方法とも言われているんだ。
 MOONBlockで力作ができたら、ぜひ試してみてくれよな。

このエントリーをはてなブックマークに追加
はてなブックマーク - MOONBlockで作ったコンテンツの9leapへの投稿の仕方
Post to Google Buzz
Share on GREE

enchantMOON S-IIでちょっとJavaScriptプログラミングしてみよう

 enchantMOON S-IIがダウンロード提供開始されたので、なにかいろいろやってみようと思う人も多いはず。
 そこでちょっとだけテクニックを紹介します。

 開発者向けのドキュメントはこのへんとかにあります。

 MOON.jsというAPIに今回追加された様々な新機能のうち、getHistoriesを使って、ハイパーリンクの履歴を背景画面に描画するサンプルプログラムを書いてみました。

 実行するとこんな感じになります。

note

 ソースはこんな感じです。

importJS(["lib/MOON.js"], function() {  
    var sticker = Sticker.create();  
    sticker.ontap = function() {
    	//履歴を取得
        var hist = MOON.getHistories();


	//canvasを作る
        var y, x, 
            page = MOON.getCurrentPage(),
            backing = MOON.getPaperJSON(page.backing),
            canvas = document.createElement('canvas'),
            width = canvas.width = backing.width,
            height = canvas.height = backing.height,
            ctx = canvas.getContext('2d');
	
	//文字列を描画
        ctx.strokeStyle = '#555555';
        ctx.font="32px";
        ctx.fillText("history",0,32,5*32);

	//過去9回分のハイパーリンク履歴を表示        
        y=48;x=32;
        cnt=0;
        for(i=hist.length-1;i>hist.length-10;i--){
        	
        	ctx.drawImage(MOON.getPageThumbnail(hist[i].from),x,y);
        	x+=216;
        	cnt++;
        	if(cnt>=3){
        		x=32;y+=288;
        		cnt=0;
        	}
        }
        
        //canvasをページの背景に
 		MOON.setPageImage(canvas);
        MOON.finish(); 
    };  
    sticker.onattach = function() {  
        MOON.finish();  
    };  
    sticker.ondetach = function() {  
        MOON.finish();  
    };  
    sticker.register();  
});

 実際のコードはここにあるので参考にしてください。

 以前のバージョンでは画像の保存に恐ろしく時間がかかっていたのですが、S-IIでは非常に高速に画像のアップデートができるようになっています。

 これまであまり活用されてこなかった背景画面への書込みを利用すると、もっと面白い使い方ができそうですね。

このエントリーをはてなブックマークに追加
はてなブックマーク - enchantMOON S-IIでちょっとJavaScriptプログラミングしてみよう
Post to Google Buzz
Share on GREE

30分で試せる分散並列プログラミング Linda (PC遠隔操作編)

 さあというわけで、インストール&起動に成功したら、実際にLindaを使ってチャットもどきを作ってみよう。

 といっても、これも橋本商会のページにあるサンプルをほんの少しだけコピペするだけだ。

 しかしこれほど簡単にチャットが実装できるのは面白いを通り越して本当に驚きだぞ。

<!DOCTYPE html>
<html>
    <meta charset='utf-8'>
    <title>Linda test</title>
    <script src="jquery.min.js" type="text/javascript"></script>
    <script src="linda.min.js" type="text/javascript"></script>
<script>
var io = new RocketIO().connect("http://localhost:5000"); //ローカルホストに接続
var linda = new Linda(io);
var ts = new linda.TupleSpace("test"); //とりあえずtestというスペースを作った

io.on("connect", function(){
    ts.watch(["chat"], function(tuple){ //chatを監視するコールバックを設定
      $("#result").prepend(
        $("<p>").text(tuple[1]) //chatタプルがきたら、表示する
      );
    });
});

$(function(){
  $("#send").click(function(){ //send(送信)ボタンが押された時の処理
    var m = $("#message").val(); //message(メッセージ)の内容を取得
	ts.write(["chat", m]); //chatタプルを発射
  });
});

</script>
</head>

<body>
<BR>
<input type="text" id="message" value="hello" size="30">
<input type="button" id="send" value="send">
<div id="result">
</div>
</body>

 たったこれだけで、チャットが作れてしまう。
 実際の動作する様子は以下のGIFアニメの通りだ。

 やばい。マジで簡単だった。これは。

 当然、タプルでは好きな文字列が送れるのでJSONデータなんかも好きなだけ送ることが出来る。

 リモートのPCを操作する危険なチャットを敢えて作ってみよう。

 chatタプルを受信したときの処理に以下のように追加した

    ts.watch(["chat"], function(tuple){ //chatを監視するコールバックを設定
      $("#result").prepend(
        $("<p>").text(tuple[1]) //chatタプルがきたら、表示する
        eval(tuple[1]);  //[危険]うけとったメッセージをとりあえず実行してみる
      );
    });

 これはやばい。
 広い意味ではPC遠隔操作ができちゃう。
 まあ厳密には、動作中の画面を取得したりできないので無理だけど、プログラムを送り込んで実行することができちゃうというのは普通にやばい気がする。

 しかもこれのヤバいところは、もうちょっと頑張っちゃうとトロイの木馬なんか使わなくても、このURLを踏ませるだけで相手のPCをある程度は遠隔操作できちゃうことだ。

 まあでもLinda-baseが稼働してるサーバーは、たぶんいまのところ世界に増井研を含めていくつかしかないはずだから、すぐ足がつくと思うが。

 そういう意味ではLindaは非常にシンプルかつ強力だが、悪意ある情報や偽情報からシステムを保護するのが難しいという弱点がある。まあそれはLindaを使うアプリケーションが個別に実装しろということかな。SSL使うとか?わからないけど。そうなるとLinda-base自体も改造する必要がありそうだけど。

 でも面白いのは、Lindaは並列プログラミング言語といいながら、普通の直列(?)プログラミング言語から簡単に使えてしまうことだ。

 特にJavaScriptで簡単に使えてしまうというのはとても嬉しい。
 

 ネットゲームからなにから、色々と応用範囲が広そうなのも嬉しい。
 とにかくとても気軽に並列プログラミングの練習ができるのでLinda-rocketioで遊ぶのは凄くお勧めだ。

 nodeJSを使うよりもずっと簡単に並列プログラミングができちゃうぞ。

 これで作る場合、サーバーもクライアントもブラウザーで動かすというところがnodeJSと違うところだ。新しいような気がする。

 つまり途中にLinda-baseというサーバーを挟んではいるが、Linda-baseはあくまで並列処理のための橋渡ししかしないので実際の高度な処理はクライアント側で実装することができる。

 もちろんLinda自体がHTTPさえ通ればなんでもアリの仕様なので、増井研でやってるみたいに温度計や接近センサをArduinoで接続してHTTPにその状況を垂れ流して、全世界プログラミングを楽しむこともできちゃうわけだ。

 なるほど、こいつは面白いや

このエントリーをはてなブックマークに追加
はてなブックマーク - 30分で試せる分散並列プログラミング Linda (PC遠隔操作編)
Post to Google Buzz
Share on GREE

30分で試せる分散並列プログラミング Linda (起動編)

 慶應SFCの増井俊之教授が、「いやー、全世界プログラミングの実装はとりあえずLindaっての使ってるんですがこれが超絶簡単なんですよー」

 というので、マジですかそれは、と思い、ストックホルムのホテルでちょっと試してみましたよ。

 基本的には橋本商会のページがわかりやすいんですけど、そもそもLindaがどんな感じで実行されるのかぜんぜん実感がもてなかったので、とりあえずローカルで動かしたい、というニーズは満たされず、自分でやってみました。

 まず、Lindaとは何かというと、並列プログラミング言語だそうなのですが、もうこの時点で半数の人は置いてけぼりになる感じがします。

 まあ確かに厳密な定義はそうなのですが、僕のイメージではLindaはプログラミング言語といよりはむしろRESTとかに近い。つまり「プログラムとプログラムの間でデータを美味い具合にやりとりするための仕組み」です。

 もともとLindaは1980年代にイェール大学で生まれたそうですが、最近までいろいろな言語の上に実装されながらもイマイチ活用されてきませんでした。

 それがRubyで実装され、さらにはJavaScriptから簡単に呼び出せるようになったということで、増井先生によれば「HTTPさえ話せればなんでもできる簡単で嬉しい分散環境なのだ」ということだったので、やってみようかなと思いました。

 橋本商店のページでは、Herokuや橋本商店さんのサーバーを使うようになっていたんですけど、飛行機の中で遊んだりすることを考えるとローカルにサーバーを立てたい。しかしその方法がよくわからん、どういうことなんだ、ということで一通り混乱したため、一応みんなが試せるようにメモを残しておきます。

 まず、LindaのRuby/JS実装で遊ぶには、linda-baseという、サーバー環境が必要です。

 とりあえずこれを落っことしてきましょう。
 →https://github.com/shokai/linda-base

 また、こいつをインストールするのにbrewというパッケージマネージャが必要なので、これも落としてきましょう。
 →http://brew.sh

 brewをインストールするのは凄く簡単で、Macのコンソールから

$ ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go/install)"

 と打ち込むだけです。
 途中、スーパーユーザーパスワードを要求されるので画面の指示に従って下さい。

 その後、linda-baseのインストールの項目にある通りに、brewしてgemしてbundleすること。bundleするときはコンソールからlinda-baseのディレクトリーにいかないとダメですよ

 これで、memcachedを実行してbundleを実行すると、Linda-baseサーバーが立ち上がります。やったぜ

 しかしサーバーが立ち上がっただけではLindaを使えないので使う側もインストールする必要があります。

 それがLinda-rocketioで、Sinatraのrocketio上にLindaを実装したものだそうです。
 まあ正直、実装手段とか名前に書かなくても説明文に書いてくれればいいのに、要するにLindaをRubyやJavaScriptから楽しく使うためのツールですよ。

 これのインストールは実に簡単で、

$ gem install sinatra-rocketio-linda

 とやるだけです。

 これをやっておくと、とりあえず

$ linda-rocketio write -tuple ‘["say","hello"]‘ -base http://example.com -space test

 でLindaサーバに’["say","hello"]‘というタプルを送ることが出来、また別の端末から

$ linda-rocketio read -tuple ‘["say","hello"]‘ -base http://example.com -space test

 とやると、そのタプルを受け取ることができます。やったぜ!

 実際にLinda-baseサーバを起動して、Lindaのタプルを送ったり受け取ったりの模様をGyazoGIFでアニメにしたのでご確認ください。

 さあ次回はJSから触ってみたいぞ!

このエントリーをはてなブックマークに追加
はてなブックマーク - 30分で試せる分散並列プログラミング Linda (起動編)
Post to Google Buzz
Share on GREE

MacOS7からPlaySationまで!JavaScriptのエミュレータが凄い

 JavaScriptで書かれていてブラウザで動くというMacOSのエミュレータがあるというので見てみました。

 凄い。本当に動いています。
 ただのSafariでMacOSが動いてるというのは凄く感動します

 それから、PCエミュレータもあったのでDOSを動かしてみると

 こちらも完璧
 DOSで動く懐かしのゲームWolfenstein3Dも遊べちゃいます

 さらにWindows3.0までエミュレートできてしまいます

 凄いなー
 と思ったらファミコンのJavaScriptエミュレータもありました。

 JSNES

 そもそも一昔前まで、ゲームプログラムやOSのようなシステムプログラム、もちろんエミュレータのようなものも、マシン語やマシン語にコンパイルする言語で書く必要があったのです。当時の非力なハードウェアでは、高級言語をそう簡単に解釈したり、高速に実行したりということは絶望的に難しかったのですね。

 しかし今や、JavaScriptは内部的にマシン語にコンパイルされて実行されるJIT(Just In Time)コンパイラが当たり前のように搭載されています。
 だから高級言語でありながら実行速度はネイティブ言語並みに高速に実行することができるようになっているのです。

 それにしても、これだけのものが作れるというのは非常に驚きますね。

 もしかしてPlayStationエミュレータもあるんじゃないか・・・と思ったら、ありました

 PlayStationの場合は、WebGLを使って3D描画を高速化していますが、よく考えると初代PlayStationはオーダリングテーブルを利用したZソートしかやらないので、頑張ればWebGLなしでも実装できたのではないかと思います。GTE(ジオメトリトランスファーエンジン)の実装のためにWebGLが必要なのかもしれないけど、GTEはCPUが頑張ればソフトウェアだけで代替可能な範囲なのでスピードを我慢すれば動くかも。

 しかし凄い時代になりましたね。ほんとに

このエントリーをはてなブックマークに追加
はてなブックマーク - MacOS7からPlaySationまで!JavaScriptのエミュレータが凄い
Post to Google Buzz
Share on GREE

動画を手軽にキャプチャ&共有できる「Gyazo GIF」が面白い!

スクリーンショット 2013-10-18 11.45.26

Gyazoというサービスを知っているかな?

Gyazoは、携帯電話の予測変換やiOSの入力エンジンを開発したことでお馴染みの慶應SFC増井俊之教授が開発した、「今見てる画面の一部を瞬間的に共有できる」サービスで、あまりにも便利なことでMacユーザの必携アイテムとも言われている。

Gyazoが凄いのは、使用するのに一切のユーザー登録などの面倒な手続きが要らないこと。

Gyazo.comからダウンロードして、そのソフトを起動するだけで、いきなり画面の一部を切り取るためのUIが出現し、切り取りと同時にインターネットにアップロード、クリップポードに自動的に生成されたURLがコピーされ、それをTwitterやFacebookに貼り付けることが出来るのだ。

そのGyazoが、なんとアニメーションに対応した。しかもGIFアニメーションである。
その名もGyazo GIF。

これを開発したのは、京都にあるNota Inc

つまり、ムービーの一部や自分の操作した画面などを動きをそのまま、Gyazo GIFで保存&共有できてしまうのである。

たとえば、Gyazoの使い方をこんなふうに切り出したり・・・

Web上のアニメーションを切り出したり・・・

ムービーの一部を切り出したり

特にenchantMOONのストロークデータを書き順で表示するesmasuiさんのスクリプトは白黒というのもあってファイルサイズも小さいのでGIFアニメと相性がいいみたい。

Gyazoはユーザー登録するとさらに便利に使えるようにパワーアップしているので、ユーザー登録して使うのがおすすめです。特にヒストリー機能は便利。

工夫次第で色々使えるんじゃないかと思います。

特に、Youtubeみたいなのと違ってアップロードする手間がなかったり、エンコードする手間がなくていいのが魅力で、張り付けるといきなりアニメーションするというのもいいなーと思います。

おススメです

このエントリーをはてなブックマークに追加
はてなブックマーク - 動画を手軽にキャプチャ&共有できる「Gyazo GIF」が面白い!
Post to Google Buzz
Share on GREE

君は伝説の和製OS 「超漢字」を知っているか!?

shi3zです。
僕がenchantMOONのプロジェクトを始めるにあたって影響を受けた既存の製品は二つあります。
ひとつは、Appleの天才、ビル・アトキンソンが作ったHyperCardで、もう一つは東大の坂村健助教授(当時)が作ったOS郡TRON(The RealTime Operating System Nucleus)のなかでも、最もPCに近い形で提供されているBTRONです。

TRONプロジェクトは、東大坂村健を中心として1984年から進められている国産の強力なOSを開発・普及させることを目的としたプロジェクトだ。

用途によって様々なTRONが作られ、特に通信向けのCTRONはNTTの電話交換機に採用され、組み込み向けのITRONは携帯電話やビデオデッキを始め、日本製の数多くの家電製品に採用された実績がある。

今日は中でもBTRONについて改めて振り返ってみたいと思います。

実はBTRONは、1989年にアメリカとの通商問題で国内での製品化が頓挫し、せっかく国産の本格的なGUI-OSが事業化できる一歩前に立ち消えになってしまったという苦い歴史があります(ただし実態には諸説あります)。

いまは幻となってしまった夢のOSなのですが、過去にパーソナルメディア社が中心となって開発したBTRONの実装は、BrainPad TiPOや、超漢字シリーズとして製品化されています。

今回はMacでもVMWareで動かすことができる超漢字を試してみました。

とはいっても、まず買うのがちょっと大変で、秋葉原のヨドバシカメラに行ったところ、「超漢字ありますか?」と聞くと「ソースネクストさんのですか?」と聞かれ、「いや、そうじゃなくてオペレーションシステムです」と答えると、すったもんだのあげく、フォントコーナーに二本だけ在庫があった。

スクリーンショット 2013-10-05 23.18.44

まあこの名前ではフォントコーナーに置かれても仕方がない。Macintoshが生鮮食品売り場にあるくらいの違和感だけれども、18,000円。これで採算がとれているのか他人事ながら心配になるけれども、とりあえず購入して家に帰る。

起動の仕方がいきなりわからなくなるなどトラブルもあったんだけど、Twitterでヘビーな超漢字ユーザーの方々からアドバイスをいただき、なんとかVMware Fusionで動作させることに成功!やったぜ、万歳

スクリーンショット 2013-10-05 17.29.37

でました。超漢字V。
BTRONはOSの規格の名前で、誰でも無償でBTRON規格のOSを実装し、販売することができます。
これはさすが学問の世界からスタートしたプロジェクトらしいところです。

超漢字は製品名。
そのバージョン5ということです。

BTRONの何が凄いのかというと、何と言っても、仮身/実身モデルという画期的なハイパーテキスト構造を持っていることによってOSの自由度が高いという点にあります。

仮身(かしん)とは、いわばハイパーリンクのボタンのようなもので、仮の身、ということです。
そして実身(じっしん)とは、データ本体を意味します。

一つの実身(データ)に対して、複数の仮身(ハイパーリンク)からハイパー構造を持ってリンクされる、という点がこのアーキテクチャの凄いところなのです。

単なるコンパウンド(複合)ドキュメントの手段にとどまらず、全く新しいハイパーテキスト管理環境を提供しているのです。

感覚的には文字だけではわかりにくいというので、実際の画面で説明しましょう。

起動直後はこんな感じ

起動直後はこんな感じ

超漢字を起動した直後はこんな感じのウィンドウが開きます。今見るとWindows3.1みたいですが、それよりずっと前に作られた画面です。原紙箱というウィンドウが右側にあります。

BTRONでは、Apple LISAのように、新しいデータを作ることがOSの基本機能になっています。

たとえばメールを書きたければ、「メール用紙」をまず作り、文章を書きたければ「原稿用紙」を作る、といった具合です。

原稿用紙というデータの裏側に、原稿用紙を編集するためのアプリケーションが隠れているという格好です。

Webブラウザを使いたければ「ブラウザ用紙」を新しく作る必要があります。
このへんはあとから付いた機能だと思うのでやや苦しい感じは否めませんが、とにかく起動してみます。

スクリーンショット 2013-10-05 17.33.00

試しにwise9を表示してみました。

HTML5ってなんですか、という感じだけれども、これはBTRONが成立した80年代という時代背景を考えれば仕方がないでしょう。

絵を描くには「画用紙」を使います。

画用紙を使って絵を描く

画用紙を使って絵を描く

BTRONのアプリ全体がそうなのですが、編集する画面とツールのアイコン類が離れていてどこにツールが出てるのか一瞬戸惑うことがあります。しかし、MacOSやWindows95以降のOSのように、画面のどこか特定の場所にアイコンやボタン、メニューが並んでいないというのは、BTRONがスケーラブルな画面に対応したOSを指向していたという痕跡として捉えることが出来ます。

 

画用紙はドローイングツールとして一通りの機能を持っています。

次に原稿用紙を開いて、文字を入力してみましょう。

スクリーンショット 2013-10-05 17.36.32

原稿用紙はふつうのテキストエディタで、本物の400字詰め原稿用紙みたいなのをイメージしてるとちょっと戸惑います。

テキストエディタで、しかも超漢字というだけあってフォントもなかなか美しいのが嬉しいですね。

Windowsでいえば「メモ帳」みたいな存在かと思いきや、ここに仮身を張り込むことが出来ます

スクリーンショット 2013-10-05 23.34.52

仮身、つまりハイパーリンクで、しかも仮身は「開く」ことで、内容をその場に表示できるのです。
これはBTRONでは「開いた仮身」と呼ばれる特徴的な機能でもあります。

さらに実身の方を他の操作で編集し、保存すると・・・

画用紙の実身を変更

画用紙の実身を変更

この変更が、もとの原稿用紙の「開いた仮身」に反映されるのです

もとの実身の内容が変更されると、開いた仮身の内容も変更される

もとの実身の内容が変更されると、開いた仮身の内容も変更される

HTML風の説明をすれば、「仮身」とはハイパーリンクのAタグであり、「開いた仮身」とは、iframeと似ています。

また、BTRON上で扱うあらゆるアプリケーションのデータにおいて仮身と開いた仮身を使うことが出来るのです。

表計算のセルにも仮身や開いた仮身を貼付け可能!

表計算のセルにも仮身や開いた仮身を貼付け可能!

こうした機能があることから、BTRONは極めて高度なハイパーテキスト環境を実現したOSであると言えます。

さらに、簡易プログラミング機能も内蔵しています。

ブラウザ上に表示されている画像を実身として取り込むことができる

ブラウザ上に表示されている画像を実身として取り込むことができる

ブラウザ用紙に表示されているデータを実身としてコピーすることができるので、これを「スクリプト用紙」にコピーします。

いくつかのお約束のあと、プログラミングを行うことになります。
BTRONのプログラミングには「マイクロスクリプト」と呼ばれるプログラミング言語を使用します。

マイクロスクリプトを入力

マイクロスクリプトを入力

ここでは、enchant.jsのロゴを出すだけの簡単なプログラムを書いてみました。

実際に実行するにはスクリプト用紙の仮身の状態で右クリックして「実行」を選びます。

右クリックメニューから実行→マイクロスクリプトを選ぶ

右クリックメニューから実行→マイクロスクリプトを選ぶ

これを呼び出すと、新しいウィンドウが開いてマイクロスクリプトが実行されます。

実行された!

実行された!

こんな感じで、簡単にプログラミングできる環境まで整っているところは、非常にenchantMOONが影響を受けた部分でもあります。

 

こんな野心的なOSがまだ売られていて、いつでも触れるようになっているのは本当に嬉しいですね。
Macでも試すことが出来るので機会があったらぜひ試してみて下さい。

このエントリーをはてなブックマークに追加
はてなブックマーク - 君は伝説の和製OS 「超漢字」を知っているか!?
Post to Google Buzz
Share on GREE

[enchantMOON] MOONPhase 2.6.0に追加された「初期設定ブロック」を使おう!

 shi3zです。
 enchantMOONに関するプログラミングTIPS的な内容はwise9に分けてみることにしました。

 MOONPhase 2.6.0では、新たに「初期設定ブロック」というものが追加されています。
 これを使うことで、デフォルトの背景色を決めたり、ロック画面に移行するまでの時間を設定したりすることができるのです。

 早速使ってみましょう。

スクリーンショット 2013-10-05 10.11.02

 まずはお約束。適当な絵や文字を書いてリンクを貼り、「シール化」します。
 もう一度指でシールを囲み、「Hack」を押してMOONBlockを起動。

ロゴも変わりました

ロゴも変わりました

 塗りつぶし処理がMOONBlockの起動時間を大幅に上げていたので、今回からはMOONBlockの塗りつぶしは行わないことになっています。その結果、処理速度が全体的に向上しました。

 さて、「初期設定ブロック」は「MOON」という左端のキットに入っています。

スクリーンショット 2013-10-05 10.16.49

 これを「シールブロック」の「タップされた時」の窪み部分にドラッグしてはめ込むと、初期設定するシールを作ることが出来ます。

スクリーンショット 2013-10-05 10.11.10

 現在の「初期設定ブロック」では、写真のように6つの設定をすることができます。

・デフォルトのペンの太さ
  ペンの太さを指定できます。細いペンが欲しい場合はこれを1にすると最も細いアンチエイリアシング直線アルゴリズムでペンを描くことが出来ます

・白背景のデフォルトペンの色
  背景が白っぽい時には通常黒いペンが使われますが、これを指定すると任意の色にすることができます

・黒背景のデフォルトペンの色
  背景が黒っぽい時には通常白いペンが使われますが、これを指定すると任意の色にすることができます

・デフォルトの背景色
  新しくページが作られるときの背景色を指定します

・シール台帳の起動方法
  「長押し」と「ダブルタップ」のどちらかを選択できます。絵を描くことが多い場合はダブルタップに変えた方が間違ってシール台帳を起動するケースは少なくなります。

・画面ロックまでの時間
  画面ロックまでのスリープ時間を秒単位で指定します。「-1」を指定すると、ロックしない設定になります。
  長考することが多い場合は60(1分)または「-1」、バッテリー時間を優先したい場合は30くらいがオススメです。

せっかくなので、オススメの設定を紹介します。

まずは大人気の液晶パッド、ブギーボード風

スクリーンショット 2013-10-05 10.32.12

 ペンを緑色に、背景をややグレー目に、ペンの太さを8.9程度に太くすると、似たようなタッチになります。

スクリーンショット 2013-10-05 10.32.16

 MOONPhaseのペンは筆圧で太くなるので、太くするとマジックよりはブギーボードっぽい感じになります。

 次に、クリーム色の紙のノート風の設定も。

スクリーンショット 2013-10-05 10.32.36

 背景を白味の強い黄色でクリーム色にして、ペンの色も基本は黒ですが、ほんの少し青みを持たせてモンブランのミッドナイトブルーを意識してみました。

 ペンの太さは極細の「1」
 この場合だけ、描画アルゴリズムが変更され、画面に描画できる最も細い線を描画するようになります。

スクリーンショット 2013-10-05 10.32.40

 細かい文字を沢山書くような使い方では、この太さが最適です。

 自分なりのお気に入りの設定を見つけて、お気に入りの設定はSaveしてシール台帳に保存しておきましょう。

 「もっとこんな設定がしたい!」という場合は、Issue Trackerにぜひ投稿してください。

このエントリーをはてなブックマークに追加
はてなブックマーク - [enchantMOON] MOONPhase 2.6.0に追加された「初期設定ブロック」を使おう!
Post to Google Buzz
Share on GREE

「手書き」をテーマにした、9leap 9Days MOON Challenge #2 結果発表!

こんにちは、9leapチームのリョーヘイです。8月下旬に「手書き」をテーマに開催された 9日間の 「9leap 9Days MOON Challenge #2」の結果を発表します。

テクニック賞

areatouch さんの「Rolling Stone」が選ばれました!

手書き+物理エンジンを組み合わせて、シンプルながら試行錯誤によりスコアを伸ばしていけるコンパクトなゲームになっています。ハイスコアには精密な操作が必要なので、ゲーム性のためにブロックを配置したり、ステージを設けたりできれば、何度も遊べる良いゲームになっていくと感じました。

インパクト賞

インパクト賞には、albaclowさんの「Wallpainter」が選ばれました! もちろん単なるクリックゲームなのですが、UIの工夫で「なぜか書いてる感じがする!」という気持ちよさが、高く評価されました。

優秀賞

優秀賞は、kanitama_daioh さんの「ホーリークロス」です。

優秀賞受賞の kanitama_daioh さんには、UEIの手書きタブレット「enchantMOON」を、インパクト賞・テクニック賞のお二人には図書カード5,000円分を差し上げます!

たくさんの作品のご応募ありがとうございました。9Days はこれからも折を見て開催していきますので、皆様ゲームのネタを温めてお待ちください!

このエントリーをはてなブックマークに追加
はてなブックマーク - 「手書き」をテーマにした、9leap 9Days MOON Challenge #2 結果発表!
Post to Google Buzz
Share on GREE