2008年6月15日日曜日

The CUI


一か月振りの更新。大友克洋も真っ青な更新頻度。

今回は、ちまちま作っている、iAppliの紹介でも。iAppliとはDoCoMoでJavaのプログラムが動く…と云う様な物です。

AUや他の機種では、個人で作って自由にダウンロードすることができない(色々手続きが必要)ので、止むを得ずiAppliにしたというわけです。

で、作っている物ですが、タイトルが今回の投稿のタイトルと同じ「The CUI」です。最初はエフェクトが豪華な物にしようとしたんですが、モチベーションが下がってしまって…

スクリーンショットは右上。地味を究めています。

内容はというと、4種類のパズルゲームみたいな感じです。迷路とかライフゲームとかシンプルな物です。(実は名前は決まっていて、Shifter, Ouzzle, Lifegame, Mazeだったりします。)

また、コマンド入力を実装する予定です。
例えば…
exit:ゲーム終了
man hoge:hogeについての説明
(コマンドに関する情報提供 thanks Wataru.K)

という感じで、イースターエッグなノリの物が多く入れられそうで、中々面白いです。グラフィックに気をかけないでいい分、内容に力を入れる事が出来そうです。

完成度は60%位。まだ未調整や未実装の部分が多いので、しっかり作ろうと思っています。

今月中には公開出来たらと思っていたんですが、一寸キツイですね。



前回紹介した、BrainFuckはちまちまやっておりますが、時間があれば開発環境でも作ってみようかと、利用価値は無に等しいですが。在るかなと思って探しましたが、余り無いようです。結構難しそうですね、特にエディタ部分が。まぁ、エディタは簡素で、内部メモリ表示、ステップ実行等を充実させれば、それだけでもいいかなとは思います、どちらにしろ、気が向いたら作るという感じです。

今日はこの辺で。

2008年5月10日土曜日

Brainfuck

約1か月の沈黙からの更新。
iAppli等の開発に忙殺されておりました。その開発中アプリも近々紹介します。

今回はプログラミング言語Brainfuckです。名称が良いものではないです。難読プログラミング言語の一つとか言われています。
命令は><+-.,[]の8つだけ。10分で覚えられちゃいます。 で、これでどの程度プログラムが組めるかというと、普通のプログラミング言語(CとかLispとか)と同じようなことができます(理論上は)。 ただ、ソースを組むのが難しいんです。というか長いんです。 定番のHello, world! +++++++++[>++++++++>+++++++++++>+++++<<<-]>.>++.+++++++..+++.>-.------------.<++++++++.--------.+++.------.--------.>+.

一目見ただけでは、全く何やってるか分かりません。ソースの内容は"Hello, world!"の一文字一文字に当たる文字コードまで、値を移動させて表示させてるだけなんですけどね。

ということで、試しに考えて組んでみました。

,>,>++++++++[<------>-]<[<+>-]<.

2つの数字をもらって足した結果を表示します。ただし、合計が10以上になると文字化けします。

こういうパズルな感じを漂わせるものは好きです。
難読な言語は他にもMalbolgeというものがありますが、ソースの見た目に規則性が無いというか、プログラムソースにすら見えないです。
さらには、スペース、タブ、改行のみで構成するWhitespaceなんて言語もあります。
こういうジョーク物はいいですね。ちょっとした頭の体操というか、気休めというか。

ちなみに、普通のプログラミング言語としては、ちょこちょこLispをやっています。今まで、使ったことのある言語(C,Java,C#,Perlとか)と根本的に違うので、中々やりがいがあります。あともう一つPythonもかじってます。

では、こんな所で。

おまけ:
プログラミング初心者に優しいHQ9+という言語を見つけました。
命令はH,Q,9,+の4つ。この言語では、初心者によく出される例題である「"Hello, world!"を出力する」プログラムをいとも簡単に書くことができます。

H

この一文字で"Hello, world!"が出力されます。他にも3つ命令が使えます(詳細略)。
ぜひ試してみてください。

2008年4月15日火曜日

プロコン

内容のある投稿は初めてということで。

多分、高専プロコンに出ます。唐突ですが。
高専プロコンとは全国高等専門学校プログラミングコンテスト の事でして、毎年行われています。今年で第19回目とのこと。本選の開催地は福島ですね。

で、部門別に色々ソフトを作って競う訳ですが、
募集部門はこんな感じ。
課題部門(「ゆとりを生み出すコンピュータ」をテーマにした作品)
自由部門(自由なテーマで独創的な作品)
競技部門(与えられたルールによる対抗戦)

「ゆとり」…は狙ってるとしか思えないですがね…。

参加するのは、競技部門になりそうです。競技内容はググってみてください。このタイプの問題は、人間だと直観と勘でやるでしょうね。これを、コンピュータにやらせるとなると、アルゴリズムが結構難しくなりそうです。なので、ゲーム理論をちまちまと調査し始めないとまずいかなぁ、と思う次第です。

2008年4月11日金曜日

ひっそりと

ブログ開設してみました。
週1更新が目標で。