コードモンキー日本公式サイト

コードモンキーの最新情報やプログラミング学習に有益な各種情報をお届けします。


コードモンキーサポートデスクに寄せられたユーザーからのご質問およびコードモンキーサポートデスクからの回答を紹介しております。
今回寄せられたご質問は、コードモンキーで学習するプログラミング言語 CoffeeScript について。


ユーザー様からのご質問

コードモンキーコードの冒険の中でCoffeeScriptの文法がそのまま動くと聞きましたが、例えばどんなコードですか?

サポートデスクからの回答

いつもコードモンキーをご利用いただきありがとうございます。
いただいたご質問につき回答いたします。

ご認識の通り、コードの冒険は、CoffeeScriptをベースにしたプログラミング言語を使ってバナナを獲得していくゲームなので、実はCoffeeScriptがそのまま動きます。

CoffeeScriptって?

CoffeeScriptというのは、実際の開発現場でも多く使用されている「プログラミング言語」です。比較的新しい言語でありながら、JavaScriptよりもさらに簡易に記述できることから、多くの開発者に好んで使用されています。

関連リンク: CoffeeScript公式サイト

コードモンキーでCoffeeScriptをどうやって使う?

コードの冒険では、”step 5″や”turn 30″のようなかたちで、まずはあらかじめ定義された関数を呼び出す形でコードを学んでいきますが、先述のようにCoffeeScriptがそのまま動くため、実は、本筋で紹介してないようなコードを動かすことができます。以下に2つの例を紹介しますので、ぜひお試しになってみてください。

例 1. alertメッセージ

あまり公式にこういう発表をするのもいかがなものかと思われそうですが、実は、コードモンキーコードの冒険のステージで、CoffeeScriptの文法に従って”alert”というコードを実行することによって、WEBブラウザにアラートメッセージを表示させることができます。アラートメッセージとはこのようなものです。

コードの冒険のチャレンジN0.1などで以下のコードを打ち込むと、上の画面のように、モンタからバナナまでの距離がアラート画面に表示されます。

alert "バナナまでの距離は " + distanceTo banana

コードの冒険ではあまり使い道はなさそうですが、”alert xxx(表示させたいメッセージ)”という形でこのほかにもいろいろなメッセージをアラート表示させることが可能ですので、是非お試しになってみてください。

例 2. 角度の計算

スキルモード1-6では、定規を使っても2つめのバナナまでの角度がわからないため、通常では何度も試しながらモンタが回転する角度を調整する必要があります。ところが、モンタと各バナナの距離はわかっているので、余弦定理を使えば正しい角度を計算できそうだということがわかります。自分で紙とペンを持って余弦定理の計算するのは結構大変ですが、プログラミングならさほど難しくありません。高校数学の内容なので余弦定理自体はあまり簡単ではないですが^^;

CoffeeScriptを使った余弦定理の計算でモンタがturnする角度を算出し、バナナを獲得するコードの例が以下です。余弦定理、三角関数の計算や円周率の計算など、すべてCoffeeScriptの文法で計算式を記述しています。

a = 15 #モンタからbananas[0]までの距離
b = 18 #bananas[0]からbananas[1]までの距離
c = 14 #モンタからbananas[1]までの距離


#余弦定理
cosB = (a*a + b*b - c*c) / (2 * a * b)
say "cosB =" + cosB

#逆余弦
r = Math.acos cosB
say "radian =" + r

#radianからdegreeに変換
d = r * 180 / Math.PI
say "degree =" + d


#計算結果をもとにバナナをとりにいく
turn 24
step a
turn -180 + d
step b

実際に動いている様子はこちら(スマホ不可)

以上2つの例をご紹介しましたが、もちろんほかにもCoffeeScriptを使ったいろいろなコードを動かすことが可能です。CoffeeScriptの文法に関しては以下のサイトなども参考になると思いますので、そちらを参考にしてみてもよいかもしれません。

CoffeeScript入門 – ドットインストール

CoffeeScript逆引きリファレンス – kyu-mu.net

以上、ご案内いたします。また不明点などありましたらお気軽にお問い合わせください。

引き続きコードモンキーをお楽しみくださいませ。

コードモンキーサポート