メルマガ:あゆしゃのC言語プログラミング
タイトル:あゆしゃのC言語プログラミング(Vol.549) ミスラ  2005/04/06


★★まぐまぐ春休みに伴い、少し送れて配信されました。

/*========================================================*/
    <<<あゆしゃのC言語プログラミング>>>
/*========================================================*/
 第549回 ミスラ
 発行    2005年3月28日(月曜日)
 発行数   約2600

{magclick}
/*========================================================*/
 はじめに ( 決り文句 )
/*========================================================*/
・このメールマガジンは、主にまぐまぐさんから発行しています。
・ジャンルは、マルチメディアのプログラム、C言語です。
・横60文字で作成し、インデントは大抵半角スペース4つです。
・ここで扱うプログラムは、C言語と半光年以内のものです。
・登録解除は、メルマガのホームページでお願いします。
・過去ログはバックナンバー(下欄参照)を活用して下さい。
・内容は私が感じたもので、最新の技術も、へたれもあります。
・わかりやすさを優先させる為、たまに嘘があるかもしれません。
・セキュリティ突破のため、暗号化された単語があります。

/*========================================================*/
 ご挨拶
/*========================================================*/

 こんにちは。あゆしゃです。

 1週間お時間を頂、ファントムに熱中していました。

 おかげさまで2回のクリアを経験できました。

 1回目のクリアのときのクリアタイムは、28時間少々でした。

 2回目のクリアのときのクリアタイムは、14時間少々でした。

 前作と違って、すばやさ制(アクティブタイムバトル風)では
なく、ターン制(ドラクエ風)になり、少し面倒なところが増えた
のですが、なんといっても動かせるユニット数が大幅に増えたので
管理が大変です。

 前作はコンファインの関係上、ユニット数はせいぜい8程度で、
主力キャラが2人もいれば無敵〜♪ だったのですが、今回は。。

★最大36ユニット

 ものユニットを1ターン中に動かさなくてはいけません。

 さすがに多すぎるので、24ユニットに抑えていましたが、それ
でも十分に多いです。

 しかも、すばやさ制では動かすユニットが1つだけなので迷う
ことはなかったのですが、ターン制ということで、誰を動かしたか
わからなくなってしまうのです。

★動いたよという印は表示されません。仕様バグじゃないですか?

 ターン制のシミュレーションではそれが表示されて当然と思って
いましたが、・・・まぁ、そこも難しさです。

 さらに、どのユニットが誰さんだったか、忘れてしまいます。

 はるか昔、DQ3のとき、たった3人のパーティーの名前と職業で
戦闘中のコマンド選択時に相当悩んだものですが、

★24人相手に大混乱です。名前スパイラルに陥りました。

「あ、こいつもう動かしたじゃん、しまたぁ」

 なーんて事故が多発、それがキャンセルできない操作の場合、
下手をするとリセットものです。。。



 解決策として、2回目のプレイでは、名前と職業とチームとを
明確に決めて行いました。

チーム1 攻殻チーム
チーム2 ユウナ様チーム
チーム3 Gチーム
チーム4 多目的チーム

 各チームに戦士系、魔法系、移動系をそれぞれ2人配備。
 ユニットには「もとこ」と「バトー」など、それぞれにちなんだ
名前を配備。

 多目的チームは装備のない魔法系を5人、移動系を1人配備。
 名前は自動のものを使用。

 2つの小屋に2チーム、倉庫に2チームを配備。


 という感じで行ったところ、何とか混乱を最小限に抑えられ
ました。

 全体では24人ですが、小さく見ればペア同士となっているので
非常にわかりやすかったです。

 今度は32人に挑戦ですね。

 うーん、名前どうしよう。。。

{magclick}
/*========================================================*/
 今回のお題  << ミスラ >>
/*========================================================*/

 今回は第11回テストの前座となる駄文の後半ということで、
ミスラについてお話します。

 皆さんは、コーディング規約という言葉を聞いたことがあるかと
思います。

 中には実際に決められたコーディング規約で(嫌々)プログラム
を行っている方もいるだろうと思います。

 ミスラもまた、コーディング規約の1つです。

 現在、最も世界標準化が進んでいるものの1つです。
(他は知りませんが。)

 主にイギリス、アメリカ、ドイツ、中国、そして日本で使われて
います。

 得に日本では中部地区において有名です。

 なぜならば、あのトヨタ自動車がミスラ大好きだからです。

★すべてのサプライヤーにミスラを遵守させなさい。

 という命令が出ています、何万人いると思っているのですか?

/*========================================================*/

 ミスラは、イギリス人が考えたC言語のコーディング規約です。

 とても不思議な規約です。

「//は使っちゃ駄目だよ」

「コメントは全部英語で書いてね」

「ループ中にbreakを使っちゃ駄目だよ」

 といった、どうもイギリス人ひいきらしいルールが多く、少々
使い勝手が悪いものです。

 といっても、基本的には「バグ」をなくすためのルールです。

「関数内にreturnは1つだけね」

 というルールがありますが、これは正解ですよね。

 大きな関数にreturnが散らばっていると訳が判らなくなります。

 また、

「キャストはちゃんとやってね」

 というルールがあります。何かというと、

unsigned short a = 8;
unsigned short b = 9;
unsigned long c = ( unsigned long )( a + b );

 こういう、キャストのあいまいなコーディングをしちゃ駄目、
ということです。

 上記のソースの何が悪いかは、テストで解説します。

/*========================================================*/

 トヨタなどのミスラを用いる企業では、ミスラに対して自社独自
の拡張(自分ルール)を定めています。

 トヨタがサプライヤーに遵守させるのは「トヨタルール」であり
「本物ミスラ」とは少々(いやかなり)違います。

「//は使ってもいいよ」

 という、より使い勝手の良いルールに書き換えられています。

 そもそも、//はC言語のコーディングではありません。

 コンパイラによっては「//をコメントとして認識する」みたいな
オプションが態々(わざわざ)用意されているものもあります。

 コンパイラによっては//をサポートしていないものもあります。

 なのでこのルールがあるわけですが、しかし今では普通にC言語
のコメントとして浸透しています。

 よって「使っていいよ」というわけです。

/*========================================================*/

 法律も囲碁の定石もそうですが、ルールには目的があります。

 ルールを守る必要などありません。

 その目的を見失わなければ、何をしても良いのです。

 誰かさんは自分用にルールを書き換えますしね。

{magclick}
/*========================================================*/
 さいごに
/*========================================================*/

 前回、この欄にて「人権保護法案」と記述しましたが、
「人権擁護法案」の間違いでした。訂正します。

{magclick}
/*========================================================*/
 次回予告
/*========================================================*/

 次回は3月30日(水曜日)に、第550回をお送りします。
 お題は「第11回テスト」

 お楽しみに!

/*========================================================*/
 最後の決り文句
/*========================================================*/
 このメールマガジンは、まぐまぐさんから発行しています。
 このメールマガジンを解除したい場合は、まぐまぐさんをご利用
ください。このメルマガのまぐまぐアイディーは最後にあります。
 このメールマガジンには広告が挿入されていますか?
 このメールマガジンの内容に文面の引用はありませんか?
 めーらっくすの場合はめーらっくすの利用方に従ってください。
 このメールマガジンの内容の、転用、流用、宣伝、リンク、
失敗の数だけ強くなる なんて大歓迎です。

{magclick}
/*========================================================*/
 
/*========================================================*/

発行者 あゆしゃ

ホームページ::あゆしゃの世界
http://ayusya.hp.infoseek.co.jp/

ご意見・ご感想・ご質問メール
mailto:ayusya@flamenco.plala.or.jp

まぐまぐ::アイディー
0000020674

まぐまぐ::登録と解除
http://www.mag2.com/m/0000020674.htm

まぐまぐ::バックナンバー
http://jazz.tegami.com/backnumber/frame.cgi?id=0000020674

めーらっくす::アイディー
MM3E1AEE285AB4F

めーらっくす::登録と解除
http://www.mailux.com/mm_dsp.php?mm_id=MM3E1AEE285AB4F 

めーらっくす::バックナンバー★最近のものならこちらが便利★
http://www.mailux.com/mm_bno_list.php?mm_id=MM3E1AEE285AB4F

ブラウザの閉じるボタンで閉じてください。