小説型と演劇型!プログラミング言語で描こう君だけの「ももたろう」!

プログラミングのやり方は自由。

// ---プログラム A
alert('ももがありました');
alert('ももが割れて ももたろう が出てきました');
alert('おにがいました');
alert('ももたろう は おに をたいじしました');
alert('ももたろう は おたから をゲットしました');

https://yrm006.github.io/momotaro.seq.html

たとえばこちら、これは「ももたろう」のお話をプログラミングしたもの。上から順に実行され、おはなしが語られるJavaScriptプログラム。

// ---プログラム B
// 役づくり
function ももたろう役(){
this.もちもの = null;
this.える = function(もの){
this.もちもの = もの;
};
}
function もも役(){
this.なかみ = new ももたろう役();
this.われる = function(){
var r = this.なかみ;
this.なかみ = null;
return r;
};
}
function おたから役(){
}
function おに役(){
this.もちもの = new おたから役();
this.やられる = function(あいて){
if(あいて.constructor === ももたろう役){
var r = this.もちもの;
this.もちもの = null;
return r;
}else{
return null;
}
};
}
// おはなし
var もも = new もも役();
var ももたろう = もも.われる();
var おに = new おに役();
var おたから = おに.やられる(ももたろう); // (a)
ももたろう.える(おたから);

こちらはそのお話をプロ風にしたもの、物語が生きていますね。「生きている」とはどういうことかと言うと、たとえば

var おたから = おに.やられる(ももたろう);  // (a)

の部分を

var おたから = おに.やられる(もも);  // (a)

に変更してみましょう。「おに が もも にやられる」ことはない、ということで「おたから」をゲットできないようにプログラミングしておきました。

ちなみに、プログラムBは実行しても何も表示しません。僕は今回、利用者に話の内容を伝えることは重要ではないと考えたからです。コンピュータの中で実行が一瞬で終わり、何も表示せずに終わっていきます。もちろん、実行の中身を覗き見することもできます。古来から伝わる「printfデバッグ」が役立つでしょう。

https://yrm006.github.io/momotaro.obj.html [alertデバッグ版]

プログラムAを「書かれた小説」と例えるなら、プログラムBは「演劇ライブ」。Bのやり方なら「役」だって作り放題、君だけの「ももたろう」を描いてみよう!









.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s