このメールは、OSASK伝言板に書き込まれた内容です。 この書き込みに返事を書く場合は、下のURLから書き込みを行なって下さい http://www.imasy.org/~mone/osask/index.cgi?REFER=3d9151bc_ee9f 2002/09/25 15:03 川合秀実 [OSASK 5062]へのレスです。 >そこいら辺を直したものを kaoseye4 として公開します。 >(ちゃんと直ってるといいんだけどなぁ・・・) チェックの方は後日やりますが、まずは簡単なアドバイスを。おせっかいだっ たらすみません。 >なんかえらくソースが長くなってしまいました。今現在私は >分割コンパイルがよくわかりません。だれか教えて〜 (T∀T) まあ分割コンパイルするかどうかはともかくとして、ソースを短くする簡単な テクニックを紹介しましょう。 ちょうど100行目に、 int IPoint[2][24]; というのがありますが、これを int IPoint[2][24] = { { 11, 13, 14, 14, 15, 16, 16, 16, 14, 14, 13, 11 ,11, 10, 9, 8, 7, 7, 7, 7, 8, 9, 10, 11 }, { 32, 32, 33, 34, 35, 36, 36, 37, 38, 39, 40, 40, 40, 40, 40, 39, 37, 36, 36, 35, 33, 32, 32, 32 } }; と書き直します。そんでもって関数SetIPoint()は不要ですので、捨てましょう 。これでソースがコンパクトになるのはもちろんですが、バイナリもコンパクト になります。実行速度も上がります。 他の部分もついでだからやりますか。まず、関数ViewFace()をじっと見てくだ さい。最初の方に、 int Mimi[2][21]; というのがありますね。これを、 static int Mimi[2][21] = { { 9, 8, 7, 7, 6, 6, 6, 6, 5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4 }, { 10, 13, 15, 17, 19, 21, 22, 24, 25, 26, 27, 28, 29, 30, 31, 32, 32, 33, 33, 34, 34 } }; に置き換えて、そしてMimi[?][?]=?;の形式の部分は全部捨てます。同じ事はKao []にもできて、 static int Kao[57] = { 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 7, 7, 7, 6, 6, 6, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 7, 7, 7, 8, 9, 9, 10, 11, 12, 13, 14, 15, 16, 18, 20, 22, 24, 26, 28, 33, 39 }; に直して、Kao[?]=?;の形式の部分は全部捨てられます。 Weye_Lines[]については、こう簡単にはいかないので、次の機会に説明します 。Beye[][]はこれで代入を省略できるので、以上を真似して是非チャレンジして ください。うまくいってお気に召したらまたリリースしてください。それを見て またアドバイスを考えますから。