|
★★まぐまぐ春休みに伴い、少し送れて配信されました。 /*========================================================*/ <<<あゆしゃの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 |