孤独な笑みを画面にさらして、ペン先で打ち込む「1画面プログラム」の美学:プチコンで始めるBASIC新世代育成“虎の穴”(6)(3/3 ページ)
「スパゲッティ」になったって構わない。オレはただ、ソースコードを1画面に収めたいだけなんだ。い、いや、3行に収めたいんだっ!! ニンテンドーDSi/3DSでBASICプログラミングに挑戦。
残す最大の難関を攻略せよ!
残す最大の難関が、1行目のラベルですね。ラベルだけにコロンでつなげられないし、まるまる1行が占領されてしまいます。
つまり、ラベルを使わなければいい……。でも、そんなことできるの?
もちろんじゃ。このプログラムの場合は、要するにループさえすれば何でもいいわけじゃよ。
カンタンに言ってくれるゼ……。ループする命令っていえば、『FOR〜NEXT』文とかその辺だろうがヨ……。
なるほど! ソレは使えるよ!
え、FOR〜NEXTでループすんのか? でも『FOR (変数)=(初期値) TO (終了値)』の終了条件満たしちまったらもうオシマイじゃねェ? 『FOR A=0 TO 65536』とかか?
うーん……。それも案外カンタンに終わっちゃいそうだけど……。
逆に、終了条件を満たさない方法を考えればいいのさ。つまり、こうだね。
@GAME …… GOTO @GAME
↓
FOR A=0 TO 1 …… A=0:NEXT
そんなのありかヨ! FOR文って、こんな風に使うモンじゃねェと思うんだが……。
でも確かに、これなら終了しないね、このループ……。
正しいFOR文の使い方じゃないけど、『3行プログラム』という制約をクリアするための、“普通のプログラムでは出てこない発想の転換”というところだね。
いかにも。そこが超ショートプログラムの面白みじゃな。今回使ったテクニックはまだまだ序の口。黄金期から現在に至るまで、1画面プログラムの先達が生み出してきたテクニックはまだまだあるぞ。ここまで偉そうに言っておったワシも、1画面プログラムを作る時はぶっちゃけイロイロ参考にさせてもらっておる。
本当にぶっちゃけたなあ。
さて、いかがでしたでしょうか、3行プログラムの世界。プログラムはそれだけでも楽しい(苦しい?)ものですが、こんな“縛り”を設けると、さらに一風変わった論理パズル的な楽しみが味わえます。
発想の転換を武器に遊ぶ知的遊戯、1画面/1行/3行プログラム。皆さんもチャレンジしてみませんか?
最後に、マイコン世代のあなたの上司をシビれさせるキーワード、BASICトークのススメをお届けします。
今回のBASICトークのススメ
リピート・アフター・ミー
1画面プログラム並みにきっちりしたコードを書いてみせますよ
ここまでお読みになった方はもうお分かりでしょう。マルチステートメントや独自のテクニックが使われるショートプログラムは、短くて(ある意味)エレガントではあるものの、はた目にはかなり判読しづらいもの。あなたの上司も「待ちたまえ、キミ……」と来るに違いありません。
ですが、ここであなたがごく普通なコードを書くとどうでしょう。「心配してたよりもずっと読みやすい!」と、あなたの上司も思わず評価が2割増し――。世の中がそんなに思い通りにいくとはさすがに筆者も思えませんが、可能性はゼロではないはずです。
最初の段階で頓挫してもしなくても、また次回お会いしましょう。(次回に続く)
本家Webサイトへのリンク: | |
---|---|
⇒ | プチコンmkII |
⇒ | プチコンmkII 購入の手引き |
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 連載記事「プチコンで始めるBASIC新世代育成“虎の穴”」
- マイコン少年たちの熱い思いが今よみがえる――「プチコンmkII」でDSがポケコンに早変わり
ニンテンドーDSi/DSi LL/3DS環境で手軽にBASICプログラミングが楽しめるプチコンがバージョンアップし、2012年3月14日に「プチコンmkII」として登場する。 - 「プチコンmkII」で懐かしむ「レトロPC」の世界
Twitterで相互フォローをしている某氏から、8ケタの番号が書かれたナゾめいたDMが届いた。近所のコンビニに向かい、コピー機のタッチパネルから指示された予約番号を打ち込む。吐き出されたA3用紙に印刷されていたのは、23枚のQRコードと取り扱い説明書だった……。 - 組み込み開発入門