あの不朽の名作「三國志」をゲーム化しようと企む日曜プログラマーKは、その画面設計をなんとか、なんとか、一月以上かけて行ってきた。しかし、完成した画面を見たKの中の批判者K'は、一言つぶやいた。
「気に入らないね」(ショムニの主役風に)
びぇーん。・°°・(>_<)・°°・。ということでまたやり直し。なんとかあちらをいじりこちらを押し込み画面レイアウトを設計していく。変えては動かし、変えてはまた動かし、画面レイアウトをつくっていく。なんとか批判者K'にも気に入ってもらったようだ。ところが。
「武将情報表示画面はわざわざ別ウィンドウをつくらんでもええんちゃうん?」
春はまだなのに(そう、このころは新春まだ寒いころ。今や何もなくても)たらーり汗が流れる。またいぢるの???
き、気を取り直し、武将の配属先画面をレイアウトする。内政と軍制は別にした方がよいようだ。まずは内政。???、ボタンがもう作れないの???愛用の画面レイアウト製作プログラムの制限でもうボタンがつくれない。ところが要求しているボタンの必要量はまだはるかに多い。消してはいれ直し消してはいれ直し・・・
と、とりあえずでけた(¨;)続いて軍制。
普通、軍隊を編成するときって、
曹操「曹仁、そなたを征西将軍に任じ、10万の兵を預ける。副将に夏侯淵を連れて行け。」とかやってるじゃないですか。ここのポイントは、将軍任命と、軍団形成と、兵力配分は一度にやること。1画面に押し込むのがいいとは思うのだが・・・押し込めれるかい!(◎-◎)
それでも何とか画面の見た目上は押し込められた(T-T)ところが。
何といっても、複数項目を表示させるリスト(専門用語ではlistview)を扱うことが異常に難しい。その上エラーがでてもそのエラーらしいとされる位置が実際のエラー場所とは異なる。このボタンを押せばこうなってああなって、でも、こうすればこうなるからああなるのはいかんなあ・・・・・・・・・ああ、やってられん(゚▽ ゚)~゚
ここ半年、三國志製作は、画面に表示を押し込むことと、大量の武将をユーザー様に適切に処理していただくためのユーザーインターフェース(UI)作成に費やされてきた。特にリスト表示。並べ替えたり複数選択したり。とにかく作った後は、他でも流用できるように洗練させたり。他にも、コマンド選択用のメニューバー(ファイル(F)とかあるやつ。)も入れてみたいと思いながら、あきらめた。扱いが難しすぎる(;_;)
一見さん以外のこのページをご覧の皆様は、KがHSPプログラマーであることをご存じであろう。なんと生意気にもTopPageにはHSPのテクニックを扱うコーナーまである。そう、HSPではKのような初心者でも数千のユーザがプレイしたSpace War Gameのようなゲームを簡単に製作できる。簡単なものならば・・・
ところがHSPは、簡単に作れるものは簡単に作れるが、複雑なものまで簡単に作れるとは限らなかった。特にKのような初心者には複雑なものは複雑にしか扱えないのだ(T-T)ひとつの画面に数十個のボタン、ソート可能リスト、メニューバー、どれも使うだけでKの手に余っていた。Space War Gameのプログラム行数は3200行足らずなのに、実質的なものはまだ全然できていない三國志のプログラム行数はすでに2800行を超えていた。
それでもK本人だけが涙なくして語れないほど苦心惨憺してなんとか軍制画面レイアウトを作ったのだが、K'がまたつぶやいた。
「気に入らないね」(ショムニの・・・)
こ、これをなおせといふのか(゜〇゜;)つくるだけでもすうかげつ、なおすとなったらあとなんかげつかかるのか・・・・
Kの中で何かがはじけた。「こ、これはオラのすることでねえ!オラはゲームをつくりてえだ、UIとかをつくってるんでねえ!」
前置きが長くなりましたm(__)m要するに、HSP版三國志製作をあきらめたということです。はい。半年以上やってたのがぱあです。(゚▽ ゚)~゚しかし気を取り直しましょう。きっと道は開けます。
HSPを諦めたKには選択肢がいくつかあった。
・MSVisualBasic5
・BorlandDelphi6
・日本語プログラム言語「ひまわり」
・大金を投じてうはうは
ひまわりでは多分HSPと同じことになろう。VB5とDelphi6はまったく初心者だが、プログラム学習用の無料版をすでに持っていた。4番目の選択肢は、、、初心者のくせに使えなかった場合どうすんねん?となると、とりあえずVBかDelphiで修行を積んでいくべきだが、どちらを選ぶか。何かがKにささやいた。
「アンチMS」(;^_^A)
Delphiか・・・確かPascalという言語だったはず。代入のイコールが「A=B」でなく「A:=B」とかしないといけないという程度しか知らないぞ・・・
まずはヘルプを見てみよう。そうか、このDelphi6はPersonal版で、機能制限があるんだな。あ、チュートリアルがあった。テキストエディタをつくってみよう、か。なるほど。レイアウト設計もプログラム製作も同時にできる統合環境ってやっぱり便利だな。ボタンもドラッグ&ドロップするだけで使えるようになるのか。
さて、なになに、「アクションマネージャ」を使います?このアクションマネージャってのはどこにあるんや?どこにもないやんけ!もしかしてこれが機能制限ってやつ?おいこら、チュートリアルで使えん機能載せてどないすんねんボケエ(▼ヘ▼メ)
ウィンドウズアプリケーションのヘルプって使えないやつばかりだとは思っていたが、改めて見直すとさすがにこれは、、、わからん(T-T)
たとえばボタンひとつとってみても、ボタンに対する設定項目らしい、左下の「オブジェクトインスペクタ」とやらには、なんとプロパティが32項目、イベントが18項目。どれも英語でチップヘルプ(カーソルをあわせると出てくるやつ)もない。わかりそうなやつでも、「Caption」と「Name」の違いがよくわからない。さすがに洋モノプログラム言語、敷居が高いぜ・・・
関心ばかりしてもいられない。HSPの時はヘルプが充実していたからなんとかなったものの、Delphiのヘルプはややあてになりそうもないので、本屋に走るか(^^;A
Kは昔から、触って試して覚えるタイプだったため、いわゆるマニュアル本を使った経験はあまりない。「できる!」とか「超図解」とかいった類は、写真ばっかりで中身ないくせに高いなあ、という感想しかなかった。解説本はMSAccessの本だけは読んだことがあった。WordやらExcelが使えても、Accessはさすがにはじめての人間には触って試したから使えるというものでもなかったからであるが、それでも半分ほど読んだあとはもう使えるようになっていた。要は、マニュアルの通りにやるのは最初の全体のある程度の仕組みがわかるようになるところまでで、それがわかればあとは適当にいじくればよろし。マニュアルの通りにいじるか、適当に好き勝手にいじるか、いじることには違いはない。この、最初の手ほどきができる入門書、これがいる。
さて、マニュアル本売り場の中の大量にある本から探すという印象しかなかったKは、売り場自体を探す羽目になるとは思わなかった。つまり、Delphi関連の本がこんなに少ないとは思っていなかったのだ(T-T)WordやらExcelやらの関係本が多いのはともかく、MSVC++とかMSVBも結構多い、というより山のようにあるのに、Delphi本は隅っこの方に、申し訳程度に置かれていた。それも、バージョンが4とが2とか、最新でも5だ。むむ。
ここはインターネットで調べてみよう。Copernic起動!検索をかけるが、、、確かに少ない。しかも5やら2やら3やらの関係本が引っかかる。ん、ユーザーが選ぶDelphi本?
そのページでは、Delphi本の投票結果が掲載されていた。人気の高いものはQ&Aもの。入門者用は・・・「はじめてのDelphi」、もしくは「Delphiオブジェクト指向プログラミング」か・・・他のページでの評価からも考えると、前者はすぐ読みきれるほんとの入門者用で、バージョン2の時に出たもの。誤植も多いらしいが、何より古い(T-T)後者は入門者用とは、、、あまりいえなさそうだが、、、いずれにせよ、両方とも最近の新陳代謝の激しい(その割にはバージョン4とか2とかがあるのはなぜ?)本屋にはなかった。
久しぶりの本屋のはしご。大きい本屋をあたってみたが、やはり少ない。ようやくバージョン6対応本も見つけたが、Pearsonal版を超えたProfessional版の内容も多い。何より、普通の解説本でしかなく、超初心者にはやや難解か・・・?
結局、大規模書店でも、バージョン6対応で、入門者対応の本は、「Borland Delphi6 オフィシャルコースウェア基礎編」(アスキー、服部誠著、2800円)しかないようだ。ただ、なんとなくその内容にKはなじめなかった。
さらに探していくと、中規模書店で見つけた「Delphiパーソナルプログラミング」(毎日コミュニケーションズ、掌田津耶乃著、3200円)は、解説形式ではなく講義形式。内容もPersonal版対応のため、無駄なところがない。これに決めた!
この本はマニュアル本にありがちな概説解説形式でなく、順をおった講義形式のうえ、これは覚えるところ、これは今はわからなくてもいいところ、これはイメージするだけでよく、細かいところはわからなくてもいいところ、と、はっきりわけられているのが非常によい。実際の講義のような感じで適度に受講者?からの質問もまじっているのも秀逸。マニュアル本は概説解説で結局必要なことが書かれていないことが多かったりするし、解説本はやたらと詳しすぎて、どれが結局必要なのかわからないまま覚えきれずに溺れていく、その2つの欠点がこの本では克服されていて、必要なことを、必要な量、書かれている。よいね〜
たとえば、変数の型。昔Kは、C言語の入門書を読んだ際、変数の型の違いをさんざん解説され、型を征しなければCを使えるようにならないのか〜(oo;)と思ったことがあったが、Delphiはその変数の型が輪をかけて多く、整数型だけで9種、実数型で7種もあり、他にキャラクタ型3種、文字列型4種、ブーリアン型4種と、HSPで文字列と数値の2種類、それも型の指定をしなくてもよい、という環境だったKにはなんでそんなにいんねん!と思える量。ところがこの本では、整数1種、文字列1種、ブーリアン(真偽値)型1種、この3つだけ覚えよう、とあっさりしたもの。けれども、一応全部違いは書いている。読み流して、後でいるとき覚えてたら見返してね。というスタンス、いいねえ〜。普通の解説本だと、全部みっちり書かれたうえ、どれが大事だとか覚えるべきだとかに言及はなく、きっとこの後どのときにはどの変数を使うか?というサンプルを載せたり、テストが載せられたりするんでしょう。うへっ!この本がはやれば、Delphi人口もきっと増えることでしょう・・・Delphi人口が増えれば、この本の需要も増える、の方が正しいか?いずれにせよ、めずらしく使える本であることは間違いありません。
ということで、Kことkr_ryoは「パーソナルプログラミング」で楽しくDelphiを勉強中です。さすがにしばらくかかると思うので、また三國志製作が止まります。この勉強が終わるころは、三國志製作が完成しているか、もしくは別のプログラムが完成していることでしょう。
|index|
このページへのリンクはフリーです。