08/04/23 23:54:16
>>255
Fortranはスピード優先なので、配列のはみだしは普通チェックしない。
コンパイラの実行時オプションでチェックするように出来るのが普通だが、あくまでデバッグ用の位置づけ。
今の場合、配列をはみだして他の変数を上書きしている可能性が高い。
MAPオプションでメモリー上に変数がどうアロケートされているかを調べれば、どの変数が壊されているか
見当がつく。
>>257
そういう関数はFortranの標準には無い。
今の場合、ATAN(y/x)よりもATAN2(y、x)を使うほうが適切、X=0.0の場合の0割エラーなどを避けられる。
詳しくはマニュアル味噌。
>>258
素直に前後左右斜めを調べるしかないべ。
DO i=-1,1
DO j = -1,1
CALL check(ix + i, iy + j)
END DO
END DO
枡をはみだす端っこの処理を簡素化するには、配列を0~9までで宣言して端っこマスは
別途の方法で処理するとかできる。空=0、白=1、l黒=2、マスの外=-999とか。