2007年02月22日

魔法言語リリカル☆Lisp体験版をやってみた

魔法言語リリカル☆Lisp体験版をやってみた

以前紹介した魔法言語 リリカル☆Lispだが、TBで体験版が公開されているのを知った。んで、実際にやってみた。少々遅れた話題だが気にしてはいけない。

体験版は第2話まで。ストーリーに沿ってLisp(Scheme)を学習していくモードと、自由にプログラムを入力出来るフリーモードが在る。ほか補足説明や用語集も。

毎回起動時に初期化が必要となる。時間が掛かるが、私の環境で大体20秒ほど。それ程気にならなかった。

画面構成は普通のノベルゲーム。いや、NScripter使っているし当たり前なんだが。2人のおにゃのこにハァハァしながらの掛け合いを楽しみながらLispを学習していくと言う形。

1話毎に1つの話題を学習し、1話毎の最後に補足説明や用語集を確認出来る。

フリーモード。自由にLispプログラムを実行出来る……らしい。Lisp知らないんでどれぐらい再現出来てるのか知らないけど。これまた起動に時間が掛かる。私の環境下では約40秒ほど。少し長いか。

魔法言語 リリカル☆Lisp』は2007年4月8日開催のなのはFestival2似て配布予定 ……との事。委託販売とかしないのか?

コレってバグ?

紹介記事だけじゃナンだし、体験版だし現在鋭意開発中なのは判ってるので、バグ無いか探してみて開発に貢献しようかな、と。といってもLispについては体験版の内容の分しか知らないんで、その範囲内で。まぁ、多分既に誰かがレポートしていると思うけどね。

次のような事(defineのネスト)をやると、変な結果が返ってくる。Lisp(Scheme)の仕様的にどうなのかは分からないけど、バグじゃないかなぁ。


(define a (define b 10))
(+ a 0)

上記コードで結果が173となった。変数名を変えると結果が変わることを考えるとバグっぽい気が。

プログラミングを題材としたゲーム

そういえば、プログラミング言語を学習するゲームって前もなんか在ったな、と。……あぁ、Missioin CMission Jか。こういうのからプログラマ人口が増えたらいいなぁ。

で、ふと思ったんだが、別に学習に限らずプログラミングを題材としたゲームは作れそうな気がする。例えばC++のキーワードや関数名を使ったもじぴったんとか。与えられたプログラムをクラックしてパスワードを解せ(以下自主規制)
……まぁともかく慎重に設計しないと一部コアな人にしか受け入れられないものになりそうだが。

と、ココまで書いて詰みViとか在った事を思い出した。アレはコンピュータゲームじゃないけど、ゲーム的なモノだなぁ。ショートコーディングなんかも、もはやゲームの領域だろう。

つかプログラミング自体がゲーム的な部分を持つような気も。バグという敵(?)を倒して、完成というクリアを目指すっていう。

昔のアドベンチャーゲームは文字としてコマンドを入力する方式だった、らしい。実際にやった事は無いんだけど。『シラベル タンス』みたいな感じで。今なら表示される選択肢の中から『行動』と『対象』を選ぶって形になるのかな。この『コマンド入力』も言ってみれば『コマンド(=プログラム)を記述している』という受け取り方が出来る訳で。今コマンド入力式のヤツを出してみたら意外と新鮮で売れるんじゃないかとか妄想。うーん、無いか?

私の環境
Windows 2000 SP4、mobile AMD Athlon XP 1400+、メモリ128MB
……な、ノートPC
C++のキーワードや関数名を使ったもじぴったん
名づけて『もしぴったん』(moCPPittan)。………………スマン俺が悪かった。
詰みVi
以前どっかでみたキオクが有るんだが、ググッても出てこない。あれ?おっかしーなぁ。要は提示された内容をViでいかに短いアクションで実現出来るかを競うもの。
posted by 天井冴太 at 21:07 | Comment(6) | TrackBack(0) | Other | このブログの読者になる | 更新情報をチェックする
投票お願いします 人気blogランキング - 投票する
2007年01月31日

萌える言語?Lisp

いやもうこれは紹介するしかない、と。

★「魔法言語 リリカル☆Lisp」はノベルゲーム風のLispチュートリアルです。 "アリサ"や"すずか"達と楽しくLispを学べます。 全12話構成で各話の最後には練習問題が用意されています。
(  д )   ゜ ゜

ちょっ、なにこれ。

正直Lispは気になる言語なんで、そのうち勉強してみたいなー、とは思っていたが。

Lisp処理系にはNScripter上で動作するLispインタプリタであるNScLisperを使用。

なにそのプロペラ帽を被せたくなるような偉業。

やばい、
何だが欲しくなってきた

プロペラ帽

Propeller Beanie。ここに在るような、プロペラ付きの帽子の事。geekの象徴なんだそうな。

posted by 天井冴太 at 23:19 | Comment(0) | TrackBack(2) | Other | このブログの読者になる | 更新情報をチェックする
投票お願いします 人気blogランキング - 投票する
2006年02月05日

驚愕のPlatform SDKのエラー

現在Cプログラミング中の天井冴太。とりあえず再利用出来そうな関数はプログラムから切り離してライブラリ化する事にしてみた。

開発にはVisual C++ 2005 Express Editionを使っているのだが、ふと設定("プロジェクト"メニューの"〜〜のプロパティ"の事)を覗いて見ると"言語拡張を無効にする"というオプションがあり、"いいえ"となっていた。ヘルプを見てみると、ANSI C++ または ANSI C と互換のないMicrosoft拡張機能とある。

ふーん……成程。独自の拡張機能か……。このコードはWindows専用だけど、他のCコンパイラでもコンパイルできた方が良いな。ヨシ。"はい"にしよう

設定を替えて、いざコンパイル。……と、怒涛の勢いでエラーの山が!しかもPlatform SDKのヘッダから!!

c:\program files\microsoft platform sdk\include\winnt.h(477) : error C2467: 無名の 'struct' の宣言が誤っています。

c:\program files\microsoft platform sdk\include\winnt.h(5377) : error C2467: 無名の 'union' の宣言が誤っています。

c:\program files\microsoft platform sdk\include\winreg.h(113) : error C2061: 構文エラー : 識別子 'QUERYHANDLER'
c:\program files\microsoft platform sdk\include\winreg.h(113) : error C2059: 構文エラー : ';'
c:\program files\microsoft platform sdk\include\winreg.h(113) : error C2059: 構文エラー : '型'
c:\program files\microsoft platform sdk\include\winreg.h(116) : error C2143: 構文エラー : '{' が '*' の前にありません。
c:\program files\microsoft platform sdk\include\rpcndr.h(1021) : error C2133: 'Format' : サイズが不明です。

c:\program files\microsoft platform sdk\include\prsht.h(441) : fatal error C1003: プログラム内のエラーが 100 個を超えました。コンパイルは中断されます。

な、なんだってーーーー!(AA略)

エラーの原因は?
posted by 天井冴太 at 17:44 | Comment(0) | TrackBack(0) | Other | このブログの読者になる | 更新情報をチェックする
投票お願いします 人気blogランキング - 投票する
2005年12月21日

Visual C++ 2005 Express Editionで実験: Platform SDKのMFC、ATLを使ってみる

さてさて、VCEEをインストールしたところで実験。

VCEEにはMFCATLは含まれていない。……が、実はPlatform SDKに含まれている。もしこれが使えるのならば、只で有料版とほぼ同等の環境が構築出来ると云う事になる。という訳で、実際にビルド出来るかどうが試してみた。

……とはいえ、実はMFCATLも使った事がない。そこでVC6.0のウィザードにて適当なMFCATLのスケルトンを作成し、それをVCEEでビルド。

まずはMFC

c:\program files\microsoft platform sdk\include\mfc\afxwin.h(1227) : fatal error C1083: include ファイルを開けません。'afxmsg_.h': No such file or directory

(; ゚Д゚)ナニソレー
確かに、そんなファイルは見つからない。いろいろと調べてみると、ヘッダの内容がそのまま書かれたページを発見。グローバル変数のexternも関数宣言もないのをイイ事にそのままコピペして勝手にPlatform SDKのディレクトリにコピーしてみた。

LINK : fatal error LNK1104: ファイル 'mfc42d.lib' を開くことができません。

(; ゚Д゚)ナ、ナンダッテーーーー
流石に.libが無いとかシャレにならない。という訳で挫折。

……で、既に結果が見えているような気もするが、ATLもビルドしてみる。

C:\Program Files\Microsoft Platform SDK\Include\msxml.idl(52) : fatal error C1083: include ファイルを開けません。'xmldom.idl': No such file or directory

これは、私のミスだった。xmldom.idlはPlatform SDKのインストールの際、"IE SDK"を選んでいないとインストールされないとの事。

LINK : fatal error LNK1104: ファイル 'atlthunk.lib' を開くことができません。

○| ̄|_

更に調べてみると……

Visual C++ 2005 Express Edition 絡みで,「Windows Server 2003 SP1 Platform SDK に ATL/MFC が入っている」という話がちらほら紹介されてますが,Visual C++ 2005 の上位 Edition と同等の環境が構築できるわけでは無いことに注意してください.

次に問題の ATL/MFC の違いについて.以下のように Windows Server 2003 SP1 Platform SDK に付属するものはだいぶバージョンが古いようです.

_MFC_VER _ATL_VER
Windows Server 2003 SP1 Platform SDK 0x0600 0x0300 *2
Visual C++ .NET 2003 0x0710 0x0710
Visual C++ 2005 0x0800 0x0800

VC6.0付属のヤツと同じじゃん。
苦労しないで普通に6.0のディレクトリにパス通した方が早いという結果に……

結論: Platform SDKMFC or ATL使って開発?やめとけ、死ねるから。てかビルドできないライブラリなんて公開するなよ、Microsoft!!

更に頑張る
posted by 天井冴太 at 20:31 | Comment(1) | TrackBack(0) | Other | このブログの読者になる | 更新情報をチェックする
投票お願いします 人気blogランキング - 投票する

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。